我对远程分支感到困惑。
我的本地仓库:
(local) ---A---B---C-master
我的远程仓库(称为 int):
(int) ---A---B---C---D---E-master
我想要做的是设置本地 repo 的 master 分支以遵循 int 的分支。本地回购:
(local) ---A---B---C---D---E-master-remotes/int/master
这样当 int 更改为:
(int) ---A---B---C---D---E---F-master
我可以git pull
从本地 repo 的 master 运行并获取
(local) ---A---B---C---D---E---F-master-remotes/int/master
这是我尝试过的:
git fetch int
让我将 int 的所有分支都放到远程分支中。这可能会变得混乱,因为 int 可能有数百个分支。git fetch int master
让我提交,但没有参考,只有FETCH_HEAD
. 也没有远程分支。git fetch int master:new_master
工作,但我不希望每次更新时都使用新名称,并且没有设置远程分支。git pull int master
做我想要的,但仍然没有远程分支设置。我觉得这样做是可以的(这是我现在最好的),但我在这里和那里读到,使用远程设置就足够了git pull
。git branch --track new_master int/master
,根据http://www.gitready.com/beginner/2009/03/09/remote-tracking-branches.html。我得到“不是一个有效的对象名称:int/master”。git remote -v
确实告诉我 int 已定义并指向正确的位置(1.工作)。我想念的是 int/master 分支,这正是我想要得到的。git fetch in master:int/master
. 好吧, int/master 已创建,但不是远程的。
总而言之,我尝试了一些没有运气的东西。我希望 2 给我远程分支以掌握 repo int。
我现在使用的解决方案是选项 3。
我在某处读到您可以手动更改一些配置文件,但这不是有点麻烦吗?
编辑配置文件的“繁琐”方式确实有效:
[branch "master"]
remote = int
merge = master
可以从命令行完成:
$ git config branch.master.remote int
$ git config branch.master.merge master
为什么上面的选项 2 不会自动执行此操作?即使在这种情况下,也会git pull
从远程获取所有分支。