【问题标题】:Git ignore files when merging branchesGit合并分支时忽略文件
【发布时间】:2015-08-12 17:00:31
【问题描述】:

我知道以前有人回答过,但我不太明白这些答案。 我有一个包含两个并行运行的分支的存储库。一个是ma​​ster,另一个是seed。 种子和主分支包含本地和实时服务器环境所需的两个文件,因此它们不同。种子有本地配置,现场主配置。

有时,我想将主分支合并到种子分支以使其跟上速度,但我想从合并中排除两个各自的文件。

我尝试创建一个 .gitignore 文件并在其中添加文件,但这只会影响到存储库的推送/拉取。如果我在 master 中修改文件 A,这应该被忽略,当我将 master 分支合并到种子分支时,该文件在种子分支中,并带有我在 master 中所做的修改。我想避免这种情况,以便在主分支中对文件 A 的任何修改都不会在合并时延续到种子分支(反之亦然!)。

【问题讨论】:

  • 在合并期间忽略文件与始终保留本地版本相同 - 给出了如何执行此操作的完整描述here
  • @adelphus 根据我在该答案中收集到的信息,这仅适用于冲突(当 git 检测到冲突时)。它也似乎有点令人费解,但我可能只需要再读几遍才能正确理解它。我正在寻找 Git 是否有一种原生方式来表示“合并这两个分支但忽略 X 文件”。

标签: git merge


【解决方案1】:

这是一个有点复杂的工作流程,但这是您可以完成它的一种方法。每次你想将master合并到seed时,这样做:

# git checkout seed
# git merge --no-commit master
# git reset seed -- file1 file2
# git checkout file1 file2
# git commit

【讨论】:

  • 太棒了。我一直在寻找什么。我不知道“重置”命令。
猜你喜欢
  • 2016-04-04
  • 2020-11-13
  • 1970-01-01
  • 2013-02-20
  • 2011-08-04
  • 1970-01-01
  • 1970-01-01
  • 2012-07-05
相关资源
最近更新 更多