Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当分支中的已删除文件与包含该文件的主文件合并时,为什么Git不显示合并冲突_Git_Github_Merge - Fatal编程技术网

当分支中的已删除文件与包含该文件的主文件合并时,为什么Git不显示合并冲突

当分支中的已删除文件与包含该文件的主文件合并时,为什么Git不显示合并冲突,git,github,merge,Git,Github,Merge,在MasterGit中有核心src.A和特性1src.B。 然后创建一个新分支,删除该分支中的Core src文件夹,并创建一个新文件Feature1-src.new 。 现在,当我们将分支合并到master时,先前具有核心src文件夹的master将被删除 我所期望的是在WindowsGitGUI中抛出一个合并冲突 //编辑子问题 是否有任何方法可以保护某个文件夹核心src不受分支的任何修改。没有任何理由会发生冲突:当您在master中合并时,您会带来更改delete src,因此它只是应用

在MasterGit中有核心src.A和特性1src.B。 然后创建一个新分支,删除该分支中的Core src文件夹,并创建一个新文件Feature1-src.new

。 现在,当我们将分支合并到master时,先前具有核心src文件夹的master将被删除

我所期望的是在WindowsGitGUI中抛出一个合并冲突

//编辑子问题
是否有任何方法可以保护某个文件夹核心src不受分支的任何修改。

没有任何理由会发生冲突:当您在master中合并时,您会带来更改delete src,因此它只是应用

如果在合并之前在主分支上的src目录中创建了一个文件,则可能会发生冲突。因为合并必须处理冲突的更改:

删除src 在src中添加一个文件
没有理由会有冲突:当您在master中合并时,您的应用程序会带来更改delete src,所以它只是应用

如果在合并之前在主分支上的src目录中创建了一个文件,则可能会发生冲突。因为合并必须处理冲突的更改:

删除src 在src中添加一个文件 如果在branchA中删除了src,则在将该分支合并到master时,如果master更改了src,则可能会发生冲突,例如通过以下任何方式:

在src中更改了一个文件 在src中添加了一个文件 已更改src中文件的权限 更名为src 也许还有其他人。如果src上的主控中没有发生与删除src冲突的更改,则合并将正常成功

默认情况下,Git提交合并。如果要避免这种情况,以便可以首先查看更改,可以使用以下命令:

git merge --no-commit --no-ff branchA
这将执行合并,但不会提交。此时,如果您注意到src已被删除,可以在提交之前使用以下命令将其恢复:

git checkout HEAD -- src
最后,奇怪的是,有人会在target中创建一个文件,该文件通常用于构建产品,不应处于版本控制之下。当目标未在.gitignore中列出时,这通常是错误的。

如果在branchA中删除了src,则在将该分支合并到master时,如果master更改了src,则可能会发生冲突,例如,通过以下任一方式:

在src中更改了一个文件 在src中添加了一个文件 已更改src中文件的权限 更名为src 也许还有其他人。如果src上的主控中没有发生与删除src冲突的更改,则合并将正常成功

默认情况下,Git提交合并。如果要避免这种情况,以便可以首先查看更改,可以使用以下命令:

git merge --no-commit --no-ff branchA
这将执行合并,但不会提交。此时,如果您注意到src已被删除,可以在提交之前使用以下命令将其恢复:

git checkout HEAD -- src

最后,奇怪的是,有人会在target中创建一个文件,该文件通常用于构建产品,不应处于版本控制之下。当目标未在.gitignore中列出时,这通常会发生错误。

防止分支删除src文件夹的另一种优雅方法是什么。在创建分支之前,我可以通知它忽略src。这种方式很荒谬,分支可能并不总是需要所有文件作为其主文件,而bcoz主文件需要其重要文件。它应该不断修改这些文件以防止分支删除它。谁删除了src?谁合并了?你,还是另一个贡献者?如果是你,那么你无法阻止自己删除内容。如果不是您,请删除对其他用户的权限!防止branch删除src文件夹的另一种优雅方法是什么。在创建分支之前,我可以通知它忽略src。这种方式很荒谬,分支可能并不总是需要所有文件作为其主文件,而bcoz主文件需要其重要文件。它应该不断修改这些文件以防止分支删除它。谁删除了src?谁合并了?你,还是另一个贡献者?如果是你,那么你无法阻止自己删除内容。如果不是您,请删除对其他用户的权限!不要介意用于说明这种情况的命名。这提供了一些将文件恢复的解决方案。我们有没有办法保护某些文件不被修改或删除,不被分支合并。假设是一个核心src,我不希望通过合并一个分支来进行任何更改,该分支已经完成了“Feature1SRC”的主要工作,无论他们在分支中的核心src中做了什么更改。为此,我知道这个方法:-我从未使用或测试过它。祝你好运不要介意用于说明这种情况的命名。这提供了一些将文件恢复的解决方案。我们有什么办法可以帮助你吗
从分支合并中检测某些文件的修改或删除。假设是一个核心src,我不希望通过合并一个分支来进行任何更改,该分支已经完成了“Feature1SRC”的主要工作,无论他们在分支中的核心src中做了什么更改。为此,我知道这个方法:-我从未使用或测试过它。祝你好运