问题标签 [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.
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:
- Create new branch from PR
- Checkout, pull and merge master
- Fix the conflicts manually. Lot of work.
- Test it locally, it works. :)
- Stage all the files
git add .
- Commit and push
- Create a new PR
- 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.
git - 了解 Git Cherry Pick 冲突
我们最近从 SVN 切换到 GIT,我在转换之前的工作流程时遇到了一些问题。大多数情况下一切正常,但今天我遇到了一个奇怪的樱桃挑选冲突。
我能够解决冲突,但我想知道这是从哪里来的,因为据我了解,在这种情况下不应该有冲突。
设置
在我们的存储库中,我们有一个master
开发分支。我们每年发布四次新版本。我们的分支master
进入Release-x
并在测试后发货。
我们同时有几个发布版本在生产中。如果发现错误,则必须在所有(支持的)发布分支上进行修复。因此,使用标签来识别不同版本的单个发布分支不是有效的工作流程。
所以我们目前有这些分支:master
, Release-15Q1
,Release-15Q2
和Release-15Q3
比如说我们发现了一个导致错误的错字,我们会修复它,master
然后将cherry-pick
它放到Release-15Q1
Release-15Q2
Release-15Q3
所以,现在谈谈我面临的冲突:
分支后文件properties.dat
已更改master
Release-15Q3
属性.dat ( Release-15Q3
)
属性.dat ( master
)
发展继续……一切都很好。然后我们注意到一个错误,我们需要在文件中添加一个额外的属性来禁用该错误。
属性.dat ( master
)
此修复提交也需要应用于其他三个分支。所以我去每个分支并使用cherry-pick命令。
这给了我前三行的冲突,但我真的不明白为什么。
我假设通过樱桃采摘你只会重播那个特定的提交,所以只在正确的位置添加allowBug=false行。是否进行了其他更改并不重要,对吧?因为我没有合并分支?
为什么这会产生冲突?难道这些其他变化不应该被忽略吗?
git - 查看来自个别父母的 git diff
比如说,我遇到了合并冲突,我设法修复它,但还没有标记为已解决(即我还没有完成git add
冲突文件)。在这一点上,我可以做git diff
,我将展示结果文件与每个父文件的不同之处,以组合的差异格式。
到目前为止一切都很好。现在我想分别检查生成的文件与单个父级的不同之处。当然,对于涉及 2 个父母(cherry-pick、rebase 等)的合并冲突,我可以使用git diff --ours
or git diff --theirs
,但是如何将其扩展到更多父母?
换句话说,如果我与 3 个父母发生冲突,是否可以查看每个父母的个人差异?
此外,我的发现--ours
和--theirs
是相当偶然的。我找不到在差异上下文中记录它们的用法。
git - git pull origin branch 想要在干净的当前主分支上合并
我在我的 master 分支上,这是一个完美的干净(但 git 显示它比 origin/master 领先 14 次提交)。当我尝试从原点(Eagle)拉出不同的分支时,git 想让我合并一些文件。
这不是我所期望的:当拉一个分支时,它应该导入远程分支并保持当前 HEAD 不变,并且不会因合并冲突而困扰我。在我看来,这两个分支分开生活,但彼此和平相处,没有任何冲突。但这种看法不再成立。
是什么导致这些冲突以及如何在不合并的情况下恢复 2 个不同的分支?
下面是命令行上 git 会话的记录。
git - 如何让 Git 合并忽略选定文件中的冲突?
我正在将功能分支合并到主分支中,并且我想覆盖主分支中的一些文件。我要覆盖的文件通常包含文本配置和一些编码为文本的二进制数据,因此它们肯定会出现问题,无论如何我都不关心这些。它们旨在替换主控中的那些。
如何以任何方式忽略和覆盖冲突?
git - 我能做些什么来解决“1 次提交落后于主人”?
推送后,我在远程存储库中看到了这条消息:
1 次提交在 master 后面。
此合并存在必须在提交之前解决的冲突。
要将这些更改手动合并到 TA20footerLast 中,请运行以下命令:
git checkout 7c891f50c557
注意:这将创建一个分离的头部!
git merge remotes/origin/master
git - 我希望我同事的 git 合并冲突标记出现在我的计算机上
摘要:我希望 git 冲突标记显示在我的计算机上,以便我可以解决文本文件中的冲突。我怎样才能做到这一点?
情况:我写了一个文本文件。
我签入文本文件。
我的同事对文本文件进行了更改。
我对文本文件进行了重大更改。
我签入文本文件*.
我的同事试图检查她的文件版本。
我的同事遇到合并冲突。
我和我的同事都同意,如果我通过带有冲突标记的文本文件并解决我的计算机上的冲突,那将是最好的。我已经搜索过,但还没有找到一种方法来说服 git 给我一份包含冲突标记的文件的副本(即,让 git 进入我可以看到并解决冲突的状态)。您将采取哪些步骤来实现这一目标?
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 再次工作?
git - 解决冲突后git不会合并所有文件
所以我不确定这是否是一个已知问题,但让我们看看发生了什么:
我从 master 创建了一个功能分支,并开始处理我的功能
Master 正在更新我自己的功能分支中还没有的其他功能。
我完成了我的功能分支,我将 master 合并到我的功能分支中,以便在创建 master 的 pull-request 之前解决问题。另外,我签出 master 并确保从 origin git pull 以获取 master 的最新副本。
我
git merge master
在我的功能分支中运行并遇到合并冲突。
我解决了这些冲突并添加了所有内容(冲突文件和新/修改的文件),然后提交。我
git merge master
在我的功能分支中再次运行并得到Already up-to-date.
现在我的问题是某些文件没有从 master 合并。Master 显然有已更改但在我的合并中没有被拾取的文件。所以现在当我提出拉取请求时,它说我修改了某些我从未接触过的文件并试图撤消主文件中的更改。
谁能告诉我我做错了什么以及如何解决这个问题?