1

我的情况是这样的:

我确实在两台不同的机器上工作,它们都跟踪从另一个源(git.domain_name)克隆的存储库(origin)。

一台机器my_machine1,我创建了一个分支来添加一些功能,我们称之为myFoo

另一台机器(my_machine2),我想跟踪(并能够更新并推送到my_machine1myFoo分支。

my_machine2 上,我已经完成了git remote add my_machine1 my_user@my_machine1:/path/to/common/repo

但是,如果我这样做,git branch -a我看不到来自my_machine1的任何分支,只能来自origin。如果我执行git ls-branch my_machine1. 将 myFoo推到原点不是一种选择。

有什么方法可以跟踪/共享my_machine1my_machine2之间的myFoo分支吗?

4

3 回答 3

2

除了建议的 git fetch 之外,“git remote update”也可以工作(将获取所有遥控器)。

此外, git add 的 -f 选项会在添加之后执行 fetch,这对于检查新添加的远程是否没有错误非常有用

于 2012-09-24T20:37:45.013 回答
1

添加遥控器不会获取内容,您仍然需要git fetch my_machine1

于 2012-09-24T19:45:53.650 回答
1

注意:git remote update将始终获取所有遥控器,就像git fetch --all会一样(请参阅“ git remote update ”)

正如“有什么区别?git fetch origingit remote update origin ”中提到的,remote update是一个非常高级的命令

  • 它支持分组遥控器(remotes.<group> = <list>),
  • 并更新所有遥控器(带有设置的遥控器除外remote.<name>.skipDefaultUpdate),
  • 但不是任何更具体的选项fetch

Git fetch 还支持 repos 组:

$ git config remotes.mygroup 'remote1 remote2 ...'
$ git fetch mygroup

因此,对于一个远程 repo ( origin),git fetchgit remote update.

于 2012-09-25T07:34:07.020 回答