git合并冲突期间将正在进行的工作移至另一台计算机

时间:2019-01-09 22:43:22

标签: git

除了使用cp或类似方法外,还有“ git方法”将解决git merge冲突的工作转移到另一台计算机吗?

2 个答案:

答案 0 :(得分:1)

如果您拥有的工作已经被推送到上游存储库,并且该工作与另一个上游分支发生冲突,那么您就不必跨任何副本了;让另一台计算机拉现有的分支,然后尝试合并。然后可以使用该机器解决冲突。

答案 1 :(得分:1)

不幸的是,没有:您正在进行的合并工作正在Git的索引以及您的工作树中进行。没有“ Git”方式将它们发送到另一台计算机上的另一个存储库。 (应该有,但没有。)

可以从整个工作树和.git目录中创建可转移的存档,然后将其发送到另一台计算机(或使用scp -r或rsync或类似文件)以复制所有内容,包括索引文件。但是,索引本身包含特定于机器的stat数据,因此不能保证此功能可以正常工作。

Git需要某种方式将索引转储为可传输的形式(git ls-files --stage,或多或少),然后将其读回其他位置(即,将其他计算机上缺少的blob与此文本转储一起传输) ),同时还保存和还原工作树状态。理想情况下,应该有一种方法可以将所有这些都变成一个提交(不进行任何分支,一个la stash提交),然后将其“撤消”到目标计算机中。这也将提供一种方法来保存部分合并并在以后通过备份再次进行合并。但是它今天不存在。