问题标签 [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 回答
1601 浏览

git - Cannot resolve GitHub conflict in PR

I have a PR in a GitHub repository (some one else his PR), which cannot be merged because of conflicts.

What can I do to fix those conflicts by myself?

I tried the following:

  1. Create new branch from PR
  2. Checkout, pull and merge master
  3. Fix the conflicts manually. Lot of work.
  4. Test it locally, it works. :)
  5. Stage all the files git add .
  6. Commit and push
  7. Create a new PR
  8. And then still the message "This branch has conflicts that must be resolved".

What I'm doing wrong? Locally everything works and git status reports:

On branch branch2 Your branch is up-to-date with 'origin/branchX'.

nothing to commit, working directory clean

PS: If I redo "merge master", all the conflicts are back. Don't get this.

0 投票
1 回答
585 浏览

git - 了解 Git Cherry Pick 冲突

我们最近从 SVN 切换到 GIT,我在转换之前的工作流程时遇到了一些问题。大多数情况下一切正常,但今天我遇到了一个奇怪的樱桃挑选冲突。

我能够解决冲突,但我想知道这是从哪里来的,因为据我了解,在这种情况下不应该有冲突。

设置

在我们的存储库中,我们有一个master开发分支。我们每年发布四次新版本。我们的分支master进入Release-x并在测试后发货。

我们同时有几个发布版本在生产中。如果发现错误,则必须在所有(支持的)发布分支上进行修复。因此,使用标签来识别不同版本的单个发布分支不是有效的工作流程。

所以我们目前有这些分支:master, Release-15Q1,Release-15Q2Release-15Q3

比如说我们发现了一个导致错误的错字,我们会修复它,master然后将cherry-pick它放到Release-15Q1Release-15Q2Release-15Q3

所以,现在谈谈我面临的冲突:

分支后文件properties.dat已更改masterRelease-15Q3

属性.dat ( Release-15Q3)

属性.dat ( master)

发展继续……一切都很好。然后我们注意到一个错误,我们需要在文件中添加一个额外的属性来禁用该错误。

属性.dat ( master)

此修复提交也需要应用于其他三个分支。所以我去每个分支并使用cherry-pick命令。

这给了我前三行的冲突,但我真的不明白为什么。

我假设通过樱桃采摘你只会重播那个特定的提交,所以只在正确的位置添加allowBug=false行。是否进行了其他更改并不重要,对吧?因为我没有合并分支?

为什么这会产生冲突?难道这些其他变化不应该被忽略吗?

0 投票
1 回答
415 浏览

git - 查看来自个别父母的 git diff

比如说,我遇到了合并冲突,我设法修复它,但还没有标记为已解决(即我还没有完成git add冲突文件)。在这一点上,我可以做git diff,我将展示结果文件与每个父文件的不同之处,以组合的差异格式。

到目前为止一切都很好。现在我想分别检查生成的文件与单个父级的不同之处。当然,对于涉及 2 个父母(cherry-pick、rebase 等)的合并冲突,我可以使用git diff --oursor git diff --theirs,但是如何将其扩展到更多父母?

换句话说,如果我与 3 个父母发生冲突,是否可以查看每个父母的个人差异?

此外,我的发现--ours--theirs是相当偶然的。我找不到在差异上下文中记录它们的用法。

0 投票
2 回答
2017 浏览

git - git pull origin branch 想要在干净的当前主分支上合并

我在我的 master 分支上,这是一个完美的干净(但 git 显示它比 origin/master 领先 14 次提交)。当我尝试从原点(Eagle)拉出不同的分支时,git 想让我合并一些文件。

这不是我所期望的:当拉一个分支时,它应该导入远程分支并保持当前 HEAD 不变,并且不会因合并冲突而困扰我。在我看来,这两个分支分开生活,但彼此和平相处,没有任何冲突。但这种看法不再成立。

是什么导致这些冲突以及如何在不合并的情况下恢复 2 个不同的分支?

下面是命令行上 git 会话的记录。

0 投票
2 回答
7461 浏览

git - 如何让 Git 合并忽略选定文件中的冲突?

我正在将功能分支合并到主分支中,并且我想覆盖主分支中的一些文件。我要覆盖的文件通常包含文本配置和一些编码为文本的二进制数据,因此它们肯定会出现问题,无论如何我都不关心这些。它们旨在替换主控中的那些。

如何以任何方式忽略和覆盖冲突?

0 投票
10 回答
234760 浏览

git - 我能做些什么来解决“1 次提交落后于主人”?

推送后,我在远程存储库中看到了这条消息:

1 次提交在 master 后面。

此合并存在必须在提交之前解决的冲突。

要将这些更改手动合并到 TA20footerLast 中,请运行以下命令:

git checkout 7c891f50c557

注意:这将创建一个分离的头部!

git merge remotes/origin/master

0 投票
3 回答
1585 浏览

git - 为什么会导致合并冲突?

这是我的 git 存储库的初始快照

在此处输入图像描述

在分支上master,文件m1包含

在分支上dev,文件m1包含

如果我尝试从 合并devmaster则会导致冲突。

虽然我没有修改 in 的第 2 行m1master但它是如何导致冲突的呢?

要验证文件的实际内容并确定这是否是由空格引起的:

在分支上master

在分支上dev

这是我用来创建这个 repo 的脚本。

0 投票
2 回答
130 浏览

git - 我希望我同事的 git 合并冲突标记出现在我的计算机上

摘要:我希望 git 冲突标记显示在我的计算机上,以便我可以解决文本文件中的冲突。我怎样才能做到这一点?

情况:我写了一个文本文件。
我签入文本文件。
我的同事对文本文件进行了更改。
我对文本文件进行了重大更改。
我签入文本文件*.
我的同事试图检查她的文件版本。
我的同事遇到合并冲突。

我和我的同事都同意,如果我通过带有冲突标记的文本文件并解决我的计算机上的冲突,那将是最好的。我已经搜索过,但还没有找到一种方法来说服 git 给我一份包含冲突标记的文件的副本(即,让 git 进入我可以看到并解决冲突的状态)。您将采取哪些步骤来实现这一目标?

0 投票
2 回答
6837 浏览

ruby-on-rails - Git与workspace.xml合并冲突

我正在尝试将我的 Rails 项目推送到 Heroku,但 Git 目前不允许我做任何事情。这是我到目前为止所做的:

  • git push heroku失败是因为 heroku 分支比我的本地分支“领先”,这是不可能的。
  • 我拉了,有冲突.idea/workspace.xml。我无法找出那个文件是什么,但它很大,Git 给它写了各种各样的乱码。手动“解决”冲突太多了。
  • 我看到一些 stackoverflow 帖子谈论 git-ignoring 该文件(可能是 RubyMine 的一些 IDE 文件或其他东西?),所以我试图将文件移开以避免冲突
  • 我跑了git add -A(也试过git add .git add
  • git commit --amend失败,因为“您正在合并”
  • git merge --abort失败,因为“未跟踪的工作树文件 '.idea/workspace.xml' 将被合并覆盖(尽管文件已被移动)
  • git reset --merge由于同样的原因失败。

我怎样才能让 Git 再次工作?

0 投票
1 回答
2076 浏览

git - 解决冲突后git不会合并所有文件

所以我不确定这是否是一个已知问题,但让我们看看发生了什么:

  1. 我从 master 创建了一个功能分支,并开始处理我的功能

  2. Master 正在更新我自己的功能分支中还没有的其他功能。

  3. 我完成了我的功能分支,我将 master 合并到我的功能分支中,以便在创建 master 的 pull-request 之前解决问题。另外,我签出 master 并确保从 origin git pull 以获取 master 的最新副本。

  4. git merge master在我的功能分支中运行并遇到合并冲突。
    我解决了这些冲突并添加了所有内容(冲突文件和新/修改的文件),然后提交。

  5. git merge master在我的功能分支中再次运行并得到Already up-to-date.

现在我的问题是某些文件没有从 master 合并。Master 显然有已更改但在我的合并中没有被拾取的文件。所以现在当我提出拉取请求时,它说我修改了某些我从未接触过的文件并试图撤消主文件中的更改。

谁能告诉我我做错了什么以及如何解决这个问题?