问题标签 [git-merge-conflict]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
61 浏览

git - 在 git 中为特定的远程存储库配置合并选项?

当从特定的远程存储库中提取时,我想使用特定的合并选项('ours')作为递归策略,而不是其他的。

我知道git config branch.<name>.mergeoptions "-Xours",但这是每个分支而不是每个远程存储库。

用例(如果有帮助):我正在制作一个项目模板,我希望在启动新项目时能够克隆该模板。在项目上工作了一段时间后,我希望能够合并模板中的任何非破坏性更改,假设冲突应该默认为项目而不是模板。

完成此任务的任何帮助都会很棒。

0 投票
2 回答
93 浏览

git - 自从首次创建分支以来,如何防止 Git 中的合并覆盖我的所有 master 更改?

我创建了一个分支“test1”,更改了一个文件,并且不将它合并回 master。我忘记了一个星期的考试。自从那个 test1 分支以来,我对 master 进行了很多更改。

但是,然后我决定我仍然喜欢我所做的 test1 中的一个功能,即我更改的单个文件。

当我将分支 test1 合并到 master 时,合并了什么?只是 test1 文件?我不想用旧的 test1 分支文件覆盖我所有的新主文件(除了我更改的一个文件)。

0 投票
1 回答
52 浏览

git - Git rebase master - 在源远程主机上的文件被重命名后解决冲突

从原始远程 master 分支提取更新后,我检查了本地 dev 分支并尝试 git rebase master。发生了一些冲突。虽然其中大部分都很容易解决,但我陷入了在源远程上重命名文件的冲突(它们已更新为在文件名中包含连字符,但这意味着我的本地文件名现在不在日期)。

因此,冲突消息大致如下: Auto-merging data/foldername/file-name.yml CONFLICT (content): Merge conflict in data/foldername/file-name.yml 未能合并更改。

我进行了搜索,但找不到关于如何解决此类冲突的明确答案。我想知道重命名我的本地文件以匹配原始远程上的文件是否会解决冲突,但我担心这可能会适得其反。

任何指针将不胜感激。谢谢。

0 投票
0 回答
29 浏览

git - git:为特定的远程和/或远程分支设置自定义合并行为

我正在开发一个旨在在 GitHub 上克隆以便正确使用的项目。它还旨在为不精通 git 的人轻松使用和配置。

./app/assets/本质上,项目中有一个目录旨在通过克隆(不会覆盖/合并此文件中的任何内容。

从我一直在阅读的内容来看,以这种方式在分支之间合并项目文件的方法是设置一个自定义合并驱动程序(我一直在查看的内容在此处详细介绍)但这似乎不够健壮做我想做的事。

我希望能够让这些文件在来自任何远程是“my-clone”远程的分支之间正常合并,但是当来自原始项目的分支(根据我的理解可能命名为“origin”)被合并到其他人中时项目的“我的克隆”副本然后我希望合并自动忽略./app/assets原始分支目录中的任何冲突或附加文件,即使它们已被跟踪并记录在存储库中。

理想情况下,我希望解决方案可以在 repo 中跟踪,以便解决方案默认存在于 repo 中。如果这是不可能的,那么可以编写脚本以由克隆应用程序的人运行的解决方案也足够了。非常感谢帮助我解决这个问题的想法和学习机会!

链接到项目

0 投票
2 回答
1290 浏览

git - Git合并内部

这可能最终会成为一个很长的问题,所以请耐心等待。

我在这里遇到了一个关于 git merge 决策的令人难以置信的解释:git merge是如何工作的。我试图建立在这个解释的基础上,看看以这种方式描述 git merge 是否有任何漏洞。本质上,合并文件中是否出现一行的决定可以用真值表来描述:

W:原始文件,A:Alice 的分支,B:Bob 的分支

真值表

基于这个真值表,很容易想出一个基于行的算法来构造 D:通过查看 A 和 B 的相应行并根据真值表做出决定,逐行构造 D。

我的第一个问题是 case (0, 0, 1),根据我上面发布的链接,它似乎表明虽然这种情况实际上是一个冲突,但 git 通常通过删除该行来处理它。这个案子真的会导致冲突吗?

我的第二个问题是关于删除案例 - (0, 1, 1) 和 (1, 0, 1)。直觉上,我觉得这些案件的处理方式可能会导致问题。假设在 W 中有一个函数 foo()。这个函数实际上从未在任何代码段中调用过。假设在分支 A,Alice 最终决定删除 foo()。然而,在分支 B,Bob 最终决定使用 foo(),并编写了另一个名为 foo() 的函数 bar()。直观地说,根据真值表,似乎合并后的文件最终会删除 foo() 函数并添加 bar(),而 Bob 会想知道为什么 foo() 不再起作用了!这可能让我认为我为 3 路合并导出的真值表模型可能不完整并且遗漏了什么?

0 投票
1 回答
177 浏览

git - 如何合并仅导致单个提交的 git 分支(例如使用 --squash),但允许将来合并而不会发生冲突?

自创建以来,我有一个包含许多提交的分支,并且希望使用单个提交进行单个合并提交以将其移回主控。所以我知道的唯一解决方案是使用git merge --squash branchname. 这很好用,但是如果有人添加了更多提交branchname并且我再次将其合并到 master 中,我会从branchname. 如何防止合并冲突,同时仍然只master为每次合并保留一个提交?我已经研究过使用git merge --no-ff,但这仍然会将所有提交branchnamemaster.

0 投票
3 回答
47827 浏览

git - 提示:解决冲突后,标记更正的路径

git 有时会在冲突时给我这个消息(在恢复或樱桃采摘期间)

这是什么意思?

0 投票
1 回答
1221 浏览

git - 合并冲突,当分支没有修改同一行时

我试图解决 git 冲突,为什么合并这两者会导致冲突?

分支上的 file.txt master

分支上的 file.txt feature

0 投票
1 回答
749 浏览

git - Git 冲突——显示误报

我遇到了一个问题,Git 在尝试进行合并时会说文件存在冲突,但是当我去解决冲突时,没有冲突。当本地和远程都相同时,为什么Git会认为这是冲突?有没有办法让 Git 自动解决这个问题?

操作系统:Windows 8

Git 版本:1.9.5

0 投票
0 回答
105 浏览

git - 为什么 Git 有时会列出与 'ours/theirs' 而不是 'HEAD/branch' 的冲突?

我取消了一次尝试的合并冲突git checkout -m <<filename>>,并惊讶地看到列出的冲突:

代替:

是否有一个全局设置来控制它?