Git 重新添加已删除的文件
我有三个分支:Git 重新添加已删除的文件,git,Git,我有三个分支:master、featureX和revertFeatureX 从master创建featureX,并进行更改 将featureX合并到master中 从master创建revertFeatureX 手动删除新文件和featureX的更改 将revertFeatureX合并到主文件中 featureX进行了一些新的更改 现在我的问题是:当我现在再次尝试合并featureX时,只合并步骤6中的更改。但不是来自featureX的更改 如何从步骤1中恢复更改?如果只缺少一个文件(如标题所示
master
、featureX
和revertFeatureX
featureX
,并进行更改featureX
合并到master中revertFeatureX
featureX
的更改revertFeatureX
合并到主文件中featureX
进行了一些新的更改featureX
时,只合并步骤6中的更改。但不是来自featureX
的更改
如何从步骤1中恢复更改?如果只缺少一个文件(如标题所示),而不是单个提交,您可以通过在您的
git日志中找到相关提交,然后执行git checkout
来签出旧文件,谢谢您的提示。
我这样解决了这个问题:
新分支featureX\u readd
来自master
Cherry选择最后一次提交(我的问题中的步骤1)
将分支featureX
合并到featureX\u readd
将featureX\u readd
合并到master
->完成
看来你有点麻烦了!您是否尝试过使用featureX提交中的git cherry pick
?git merge
应用自最近一次常见提交以来对分支操作的更改。由于您合并了featureX
一次,因此不会考虑合并前对featureX
所做的更改;它们已经存在于主分支中(即使其中一些文件同时被取消或覆盖)。。。我得到一个提示,复制所有文件,创建一个新分支并将其粘贴到新分支中。这容易吗?可能更容易,但您将丢失所有版本控制历史记录,这有点违背了首先使用git+1的目的,因为这是一个比复制文件并从头添加要好得多的解决方案。这样,您仍然拥有提交历史记录。恭喜你成功了。