查看分支
$ git branch
创建分支
$ git branch <name>
切换分支
$ git checkout <name>
创建+切换分支
$ git checkout -b <name>
合并某分支到当前分支
$ git merge <name>
删除分支
$ git branch -d <name>
分支合并冲突
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
手动解决完冲突后后续步骤一样
查看分支合并图
$ git log --graph --pretty=oneline --abbrev-commit
Git通常会用Fast forward模式合并,但这种模式下,删除分支后,会丢掉分支信息
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
$ git merge --no-ff -m "merge with no-ff" dev
修复bug时,创建新的bug分支进行修复,然后合并,最后删除,
当手头工作没有完成时,先把工作现场git stash一下,然后修复bug,修复后,再git stash pop回到工作现场
如果有多次stash,恢复的时候用git stash list查看历史,然后恢复指定的stash,用命令
$ git stash apply stash@{0}
查看工作现场
$ git stash list
恢复现场有两个办法
git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除
另一种方式是用git stash pop,恢复的同时把stash内容也删了
如果在新功能分支,但是没有合并,此时要删除此分支的话
使用
$ git branch -d <name>
会提示此分支没有合并使用如下进行强制删除
$ git branch -D <name>
查看远程库的信息
$ git remote
或者更为详细的
$ git remote -v
origin https://github.com/yzgcode/learngit.git (fetch)
origin https://github.com/yzgcode/learngit.git (push)
上面显示了可以抓取的推送的origin的地址。如果没有推送的权限,就看不到push的地址
在本地创建好分支(如 dev)后使用
$ git push -u rigin dev 推送到服务器
当小伙伴从远程库clone时,默认情况下,小伙伴只能看到本地的master分支
现在小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地
$ git checkout -b dev origin/dev
使用下面命令推送
$ git push origin master
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建
$ git branch --set-upstream dev origin/dev
网友评论