在目标分支中删除文件时,如何让Git忽略合并冲突?

在目标分支中删除文件时,如何让Git忽略合并冲突?,git,git-merge,Git,Git Merge,我不知道这是否可能,但它肯定会很甜蜜 假设我有两个分支:master和releases master分支具有以下所有文件: index.html style.scss style.css 在releases分支中,我删除了scss文件,因为我没有必要将该开发文件包括在发行版中。这意味着在发行版分支中,我有以下文件: index.html style.css 但假设我在主分支中处理文件。我编辑了scss文件,它被编译成css,我已经为新版本做好了准备 我希望能够轻松地将master合并到版

我不知道这是否可能,但它肯定会很甜蜜

假设我有两个分支:
master
releases

master
分支具有以下所有文件:

  • index.html
  • style.scss
  • style.css
releases
分支中,我删除了
scss
文件,因为我没有必要将该开发文件包括在发行版中。这意味着在
发行版
分支中,我有以下文件:

  • index.html
  • style.css
但假设我在主分支中处理文件。我编辑了
scss
文件,它被编译成
css
,我已经为新版本做好了准备

我希望能够轻松地将
master
合并到
版本中
当然,合并不是问题所在。它可以轻松地将
index.html
style.css
中的更改合并到
releases
分支中的相应文件中

但是当它进入
style.scss
时,会出现合并冲突(显然),因为
style.scss
不存在于
releases
分支中,这当然是因为我不希望它存在于
releases
分支中

因此,我可以手动选择更喜欢目标分支的情况版本:no
style.scss
file。我想手动操作是可以的

但是,如果我在“发布”分支中删除了许多文件,并且不想将其引入“发布”分支,那该怎么办?每次合并时,我都可以查看并为每个文件解决冲突。但如果有一种方法,我可以说:“合并
主文件
中的所有更改,但如果遇到目标文件不存在的情况,请忽略合并该文件。”


可能吗?

我建议为那些“不可发布”的文件建立一个完全独立的分支(或回购)。或者,编写一个脚本,只将清单上的文件从发布分支复制到实际的发布tarball等。你的意思是当合并
master
release
时,你希望git完全忽略master分支中的一些文件吗?@nomanurehman,是的,就是这样。我不确定git是否允许在默认情况下做类似的事情,但git对插件开发是开放的,而且它有一个钩子特性,您可以查看。我认为这需要以编程方式完成,因为有些文件不会从一个分支移动到另一个分支。通常,您会将生产文件和支持文件按目录分开,这样您的
index.html
style.css
将位于已发布的目录中,而
style.scss
将位于其他地方,所以不需要git魔法。