0

我正在使用乌龟 GIT。是否可以在单个本地文件夹中维护 2 个远程存储库?我有一个主远程存储库,然后有一个暂存远程存储库,它总是远远领先于主存储库。我创建了一个本地存储库并从主远程存储库中提取。然后我创建了一个新分支并尝试从远程临时存储库中提取,它给了我 1000 多个冲突和 3000 多个修改文件。我如何使用乌龟 GIT 解决这个问题?

4

1 回答 1

0

你的问题只是对git pull. 假设您的两个遥控器被调用originand staging,而您正在处理的分支是master

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

git pull staging master

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

您正在获取暂存存储库的版本master并将其合并到origin存储库的master. 正如您所指出的,staging存储库“远远领先于”origin存储库。因此合并冲突。

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

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

git checkout -b development --track staging/master

这将在本地签出一个名为“开发”的分支,该分支将设置为跟踪暂存存储库的主分支。您现在可以git pull根据需要在此分支上发布,知道它不会尝试将生产master分支合并到自身中,除非您明确告诉它这样做。

于 2012-07-30T03:09:55.160 回答