Fork me on GitHub

git rebase 多分支操作

- git rebase and git merge 区别

- git在工作中正确的使用方式----git rebase篇

Git 操作
假设Git目前只有一个分支master。开发人员的工作流程是

git clone master branch
在自己本地checkout -b local创建一个本地开发分支
在本地的开发分支上开发和测试
阶段性开发完成后(包含功能代码和单元测试),可以准备提交代码
首先切换到master分支,git pull拉取最新的分支状态
然后切回local分支
通过git rebase -i 将本地的多次提交合并为一个,以简化提交历史。本地有多个提交时,如果不进行这一步,在git rebase master时会多次解决冲突(最坏情况下,每一个提交都会相应解决一个冲突)
git rebase master 将master最新的分支同步到本地,这个过程可能需要手动解决冲突(如果进行了上一步的话,只用解决一次冲突)
然后切换到master分支,git merge将本地的local分支内容合并到master分支
git push将master分支的提交上传
本地开发分支可以灵活管理
git checkout master
git pull
git checkout local
git rebase -i HEAD~2 //合并提交 --- 2表示合并两个
git rebase master---->解决冲突--->git rebase --continue
git checkout master
git merge local
git push

Git本地分支和远程分支关联

7.如果远程新建了一个分支,本地没有该分支。

可以利用 git checkout --track origin/branch_name ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name。

git checkout --track origin/branch_name

8.如果本地新建了一个分支 branch_name,但是在远程没有。

这时候 push 和 pull 指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,所以可以利用 git push --set-upstream origin branch_name ,这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步。

git push --set-upstream origin branch_name
posted @ 2019-07-30 11:14  ranjiewen  阅读(8467)  评论(0编辑  收藏  举报