如何同步两个* local *分支

时间:2013-11-20 22:12:03

标签: git

更新我在一(1)个存储库中有两(2)个本地 Git 分支(开发和主控)。开发是最新的当前工作副本,主人不是。如何让他们两个同步?我正在使用SourceTree,但是不管怎么说都没有这样做 - 命令行是唯一的方法,或者?如果只是命令行,命令是什么?

2 个答案:

答案 0 :(得分:4)

git checkout development
git merge master

OR

git checkout development
git rebase master

答案 1 :(得分:1)

您可以简单地签出要合并的分支,并将您想要分支的任何内容合并到其中。在你的情况下:

$ git checkout master
$ git merge develop

根据您的评论,我想告诉您,developorigin/develop确实是两个独立的分支。它们与任何其他两个随机选择的分支可以分开,除非develop可能跟踪origin/develop,但这只是一个小小的便利。

如果您执行git branch --all,您将看到所有分支的列表,其格式为some_branch,表示它们是本地分支或some_remote/some_branch,这意味着它们是远程分支的本地副本。

执行git fetch some_remote时,您正在更新some_remote中存在的分支的本地副本。当您说git merge some_remote/some_branch时,您正在合并some_remote/some_branch的本地版本,就像git merge some_branch合并您的本地分支一样。


回答原始问题:

您可以将开发存储库添加为主存储库的远程:

# add develop as remote
$ cd /path/to/master
$ git remote add develop /path/to/develop

# update from it
$ git fetch develop
$ git merge develop/master

请注意,更好的想法是拥有一个包含开发和主分支的存储库,但可能存在需要两个副本的特定情况。