2012-07-28 120 views
0

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

+0

你想要达到什么目的?听起来像你混淆了知识库和分支的含义。 – iltempo 2012-07-28 15:37:15

+0

我想在本地机器上有一个文件夹,可以用来保存GITHUB中的所有3个远程存储库。但由于主线中提到的原因,我无法做到这一点。 – papfan 2012-07-28 16:27:15

+0

但是,远程存储库实际上是分叉还是单个存储库的分支?他们是否有共同的历史,或者他们是不相关的文件集,它们碰巧具有相似的名称和类似的代码? – 2012-07-28 22:04:05

回答

0

你的问题只是对git pull的误解。假设你的两个遥控器叫做originstaging,你正在做的工作是master

现在,您已经设置了master来跟踪远程origin。没关系。但现在你发出:

git pull staging master 

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

您正在将登台存储库的版本master合并到您的origin存储库的master副本中。如您所述,staging存储库比origin存储库“提前”多了。因此合并冲突。

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

试试这个(再次,假设一个回购协议staging,一个是origin,并且都使用master分支):

git checkout -b development --track staging/master 

这将签出一个名为“发展”本地分支,这将是建立跟踪您的暂存储存库的主分支。您现在可以根据需要在该分支上发行git pull,除非您明确告诉它,否则它不会尝试将生产的master分支合并到自身中。

相关问题