在单个本地文件夹中维护3个远程存储库

时间:2012-07-28 15:29:10

标签: git tortoisegit

我使用Tortoise GIT。是否可以在单个本地文件夹中维护2个远程存储库?我有一个主远程存储库,然后有一个暂存远程存储库,它总是远远超过主存储库。我创建了一个本地仓库并从主远程仓库中撤出。然后我创建了一个新的分支,并试图从远程登台仓库拉出来,它给了我超过1000个冲突和3000多个修改过的文件。我如何使用togise GIT解决这个问题?

1 个答案:

答案 0 :(得分:0)

你的问题只是对git pull的误解。假设您的两个遥控器名为originstaging,而您正在处理的分支是master

目前,您已master设置为跟踪远程origin。没关系。但现在你要发布:

git pull staging master

git pull做什么?它将指定的分支读取到FETCH_HEAD目录中的.git,然后将其合并到当前分支中。这就是它所做的一切 - 在默认跟踪分支上进行获取(如果命令未指定),或者在指定分支上(如果是),则进行提取。

您正在使用暂存存储库的master版本并将其合并到origin存储库的master副本中。正如您所指出的那样,staging存储库已经远远超过' origin存储库。因此合并冲突。

你没有做错任何事。实际上,在一个本地副本中跟踪多个存储库是git中的标准操作(在工作中,我跟踪12)。

请尝试相反(再次假设一个回购是staging,一个是origin,并且都使用master分支):

git checkout -b development --track staging/master

这将检查一个名为' development'本地,将设置为跟踪您的暂存存储库的主分支。您现在可以尽可能多地在此分支上发布git pull,知道它不会尝试将生产的master分支合并到自身,除非您明确说明告诉它。