更新我在一(1)个存储库中有两(2)个本地 Git 分支(开发和主控)。开发是最新的当前工作副本,主人不是。如何让他们两个同步?我正在使用SourceTree,但是不管怎么说都没有这样做 - 命令行是唯一的方法,或者?如果只是命令行,命令是什么?
答案 0 :(得分:4)
git checkout development
git merge master
OR
git checkout development
git rebase master
答案 1 :(得分:1)
您可以简单地签出要合并的分支,并将您想要分支的任何内容合并到其中。在你的情况下:
$ git checkout master
$ git merge develop
根据您的评论,我想告诉您,develop
和origin/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
请注意,更好的想法是拥有一个包含开发和主分支的存储库,但可能存在需要两个副本的特定情况。