Pro Git 学习笔记(Branching)

Pro Git 学习笔记(Branching)

分支是 Git 的 “killer feature”。 Git 鼓励用户多用分支。

Git 分支基本操作

生成新的分支:

git branch testing

切换到另一个分支:

git checkout testing

这两条命令可以合并成:

git checkout -b testing

显示分支图:

git log --oneline --decorate --graph --all

合并一个分支到主分支,比如我们有如下的分支:
在这里插入图片描述
我们要将 iss53 分支合并入master:

git checkout master
git merge iss53 # master 分支合并 iss53 分支做的变动。
git branch -d iss53

合并后:
在这里插入图片描述
如果合并时发生冲突,那么需要我们手动修改,解决冲突。解决之后再次 :

git commit

列出所有的分支:

git branch
git branch -v
git branch --merged
git branch --no-merged

强制删除一个分支,即使这个分支没有合并到其他的分支:

git branch -D testing

远程库的分支

显示远程库的分支:

git ls-remote [remote]
git remote show [remote]

将本地分支推送到远程库。

git push <remote> <branch>
git push origin serverfix

建立一个本地分支来跟踪远程库的分支:

git checkout -b serverfix origin/serverfix
git checkout --track origin/serverfix

如果远程库中只有一个 serverfix,那么可以简单的写为:

git checkout serverfix

如果本地分支想换个名字,可以这样:

git checkout -b sf origin/serverfix

如果已经有了个本地分支,想让这个分支跟踪一个远程分支,那么可以这样:

git branch -u origin/serverfix
git branch --set-upstream-to origin/serverfix

将一个远程库的分支合并到当前分支。

git merge origin/serverfix

如果要查看本地分支都跟踪了哪些远程分支,可以:

git branch -vv

删除一个远程分支:

git push origin --delete serverfix

rebase 操作:

git checkout experiment
git rebase master

不要再远程仓库上执行rebase 。

每次pull 时自动执行个 rebase:

git config --global pull.rebase true

猜你喜欢

转载自blog.csdn.net/liyuanbhu/article/details/99181143