进入网站https://git-scm.com/下载安装,然后在命令行执行配置:
git config --global user.name "学编程的鱼丶"
git config --global user.email "xxx@xxx"
#选择执行(出现中文乱码执行):
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8
set LESSCHARSET=utf-8 //windows配置环境变量
//export LESSCHARSET=utf-8 linux bash配置环境变量
检查信息是否写入成功
git config --list
git add xxx
git commit -m 'xx'
git pull
git push
git init 创建git版本库
git clone xx/xx.git 克隆远程仓库到本地
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息
git status 查看状态
git add . 将所有文件添加到暂存区
git add xx 将单个文件添加到暂存区
git commit -m 'xx' 把暂存区文件提交到当前分支上
git commit -am 'xx' (git add .和git commit -m 'xx'的结合)
git pull 拉取远程最新代码并更新本地代码
git push 将当前分支上的代码上传到远程git仓库
git diff xx 查看文件的改动
cat xx 查看文件内容
git log 显示所有提交日志
git log –pretty=oneline 按单行显示所有提交日志
git reflog 获取所有提交日志的版本号
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^ 回退到上上一个版本(以此类推)
git reset --hard HEAD~100 回退到前100个版本(100为任意正整数)
git reset --hard HEAD xxx 回退到某一个版本(xxx为版本号)
git reset --soft HEAD~ 只移动HEAD 的指向,但并不会将快照回滚到暂存区域;相当于撤消了上一次的提交(commit)
git checkout -- xx 撤销工作区的修改(未add前修改的内容,撤销到与版本库一样;add后再修改的内容,撤销到add处)
rm xx 配合git add、git commit可以实现彻底删除文件(本地和远程)
第一步:创建SSH Key(id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人)
ssh-keygen -t rsa -C "xxx@xxx"
第二步:登录github,打开“settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容,并点击创建;
第三步:然后在右上角找到“New repository”创建一个新的仓库;
第四步:本地代码库添加到远程仓库
git remote add origin https://github.com/xxx/xx.git
第五步:将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了
git push -u origin master
1.查看分支:
git branch
2.创建分支:
git branch xx
3.切换分支:
git checkout xx
4.创建+切换分支:
git checkout –b xx
5.合并某分支到当前分支:
git merge xx
6.合并某分支到当前分支,禁用“Fast forward”模式:
git merge --no-ff -m "注释" xx //采用这种方式,删除分支后,git log还会有分支信息
删除分支:
git branch –d xx
假设现在存在主分支和dev开发分支,主分支出现bug
第一步:先把正在开发的dev分支代码隐藏
git checkout dev
git stash
第二步:在主分支下创建bug分支并切换
git checkout master
git checkout -b bug
第三步:在bug分支下,修改bug;并提交代码
git add xxx;git commit -m 'xx'
第四步:切换到主分支合并bug分支并删除分支
git checkout master
git merge --no-ff -m "修复bug合并到主分支" bug
git branch -d bug
第五步:切换到dev分支,查看隐藏区列表,并删除隐藏区恢复代码;最后提交dev分支的开发代码
git checkout dev
git stash list
git stash pop
git add xxx
git commit -m 'xx'
第六步:切换到主分支并合并dev分支,有冲突解决冲突代码文件;最后提交代码到远程仓库
git checkout master
git merge dev
git add xxx
git commit -m 'xx'
git push
忽略文件:
git update-index –assume-unchanged xx
取消忽略文件:
git update-index –no-assume-unchanged xx
但是忽略的文件多了,想找出所有被忽略的文件,暂时找到下面的办法:
git ls-files -v | grep '^h '
提取文件路径,方法如下:
git ls-files -v | grep '^h ' | awk '{print $2}'
所有被忽略的文件,取消忽略的方法,如下:
git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged