首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GIT合并冲突:在创建新分支并删除某些文件之后

GIT合并冲突:在创建新分支并删除某些文件之后
EN

Stack Overflow用户
提问于 2020-02-19 08:22:22
回答 3查看 508关注 0票数 1

我对GIT合并有问题。实际上,我有一个具有这种体系结构的主分支:

代码语言:javascript
复制
.git
doc
   \__ some files

src
   \__ tools 1
              \__ some files

   \__ tools 2
              \__ some files

在我的项目中,我开发了工具,并将在"src“目录中添加其他工具。为此,每次我想要创建一个新工具时,我将从主分支中创建一个名为"tools3“的新分支,然后删除我不需要的所有目录,这里是"tools 1”、"tools 2“和"doc”。原因是我不需要文档和其他工具来开发。

所以现在,在那些删除了我的"tools 3“之后,我提交并将它推到新的分支"tools3”中。是时候将我的两个分支与一个git merge tools3 -m "Merge tools3 branch with master branch" (在主分支中)合并了。

我有两个问题,首先是与文档文件之间的冲突:

冲突消息: CONFLICT (modify/delete): doc/api_project.json deleted in tools3 and modified in HEAD. Version HEAD of doc/api_project.json left in tree.

在第二次合并中,合并将删除我的"src“文件(我先前在"tools3”分支中删除的文件)。

那么,如何解决合并冲突,然后如何检索主分支中的删除文件?我认为我没有最好的实践来使用GIT来做这类事情,所以我愿意接受关于GIT实践的任何建议。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-19 08:40:42

你不能删除你不需要的回购文件。这就是你产生冲突的原因。

当您在tools 3 dir中工作时,其他贡献者可能在它们中工作过。例如修复bug,添加新特性,等等。他们已经完成了他们的工作,并将其推到master上。

当你推动工作的时候,历史已经分道扬镳了。自从您启动分支以来,一方面您已经删除了一些文件,另一方面,这些文件已经被其他人更改了。Git无法就正确的路线做出决定,因此会产生冲突。

如果git对整个项目不再有用,并且不再需要源代码控制,那么您只想从git中删除一个文件。在我看来,您只是删除它们,因为您希望保持您的目录结构“干净”或其他原因,我们只能推测。

票数 2
EN

Stack Overflow用户

发布于 2020-02-19 09:07:12

每次创建新工具时,都要通过克隆主分支来创建分支。一旦在新创建的分支中添加了一个新工具,就会在后台比较主分支和新创建的分支。因此,无论新的更改是什么,都将在主分支中添加,修改后的更改将从主分支中更新/删除。因此,您不能从任何分支中删除代码,因为它将在合并时被删除。

票数 0
EN

Stack Overflow用户

发布于 2020-02-19 09:42:59

您遇到的冲突是因为另一个人在master中更改了您在tools3中删除的一个文件。因此,当您试图合并git时,需要解决如何将在master中所做的更改应用于您在更改之前删除的文件。

视觉表现:

代码语言:javascript
复制
*   - Added doc/api_project.json
|\
| * - Deleted doc/api_project.json
| |
* | - [master] Updated doc/api_project.json
  |
  * - [tools3] Dev work on tools

正如您在上面看到的,要将这些提交放入单个分支,git需要知道如何将第三次提交中所做的更改应用到第二次提交中删除的文件中。

您不应该对不适用于在该分支中处理的特性的分支进行任何更改。通过删除文件,您已经创建了一个commit来删除这些文件。

希望您将删除作为一个单独的提交来执行(我们能看到您的git log分支的tools3输出吗?)这意味着您需要做的就是在合并之前将提交从您的分支中删除。

删除删除操作将解决两个问题,您将不再有冲突,并且将不再删除从master分支中删除的文件(因为您在tools3中删除了它们)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60295821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档