一、基本操作
建立仓库 git init
添加文件 git add file.
提交版本 git commit -m '版本号'
查看版本号 git log
返回前一个版本 git reset --hard HEAD^/版本编号
查看记录 git reflog
当前树状态 git status
撤销修改 git checkout -- file
对比不同 git diff HEAD HEAD^ -- file..
运行机制:创建仓库 - 添加文件 git add file.到临时存储 - 提交版本 git commit -m '版本号'到HEAD中
操作:1.修改文件 - 2.撤销修改git checkout -- file. - 3.添加文件 - 4.撤销修改git reset --hard HEAD^/版本编号
二、建立分支:HEAD一开始指向主分支master,建立新分支dev并把HEAD指向dev
查看分支 git branch
创建分支 git branch <name>
切换分支 git checkout <name>
创建并切换 git checkout -b <name>
合并分支 git merge <name>
删除分支 git branch -d <name>
操作:创建分支 - 修改文件 - 添加文件 - 提交版本 - 切换分支 - 合并分支 - 删除分支
1、主分支修改、分支变化,合并时会发生冲突
通常,合并分支时,如果可能,git会用fast forward模式,但是有些快速合并不能成而且合并时没有冲突,这个时候会合并之后并做一次新的提交。但这种模式下,删除分支后,会丢掉分支信息。 查看分支信息 git log --pretty=oneline --graph
2、强制禁用fast forward模式,git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息 git merge --no-ff -m <name>
合并要创建一个新的commit,所以加上-m参数,把commit描述写进去
3、修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,恢复工作现场
三、GitHub
修改本地目录的账号和邮箱 vi .gitconfig
生成秘钥 ssh-keygen -t rsa -C '邮箱'
查看公钥/私钥内容 cat id_rsa.pub/id_rsa
克隆项目 git clone
推送/拉回分支 git push/pull origin
将本地分支跟踪服务器 git branch --set-upstream-to=origin/远程分支名称 本地分支名称