如何在 git 中的合并操作期间解决二进制文件冲突解决方案?这是我到目前为止所做的:
git checkout master
git fetch origin
git merge working_branch
... [Conflicts] ...
git status
...
Unmerged paths:
both modified: Path/file.dll
...
Run Code Online (Sandbox Code Playgroud)
我想保留 中的版本working_branch并丢弃master. 我该怎么做呢?
git binaryfiles git-merge merge-conflict-resolution git-merge-conflict
所以我整天都在我的项目中使用了一个新功能,在完成它之后,我想将我的本地提交上传到存储库中.
当我尝试将我的提交推送到git存储库时,由于一些合并冲突,该推送被拒绝.所以我浏览了文件,为每次冲突选择"我的"或"他们的".完成之后,git并没有告诉我任何有关我必须做更多或更多事情的事情.由于我已经解决了所有冲突,我继续尝试再次推动,结束了我之前必须解决的相同冲突.(如果我想变得疯狂,我可以一遍又一遍地做到这一点)
我几乎没有尝试使用这个工具几个月了.
拉数据.工作工作.提交工作.推.最终合并冲突.再推一次.完成. - 这就是我期望git工作的方式,但似乎并非如此.那么我错过了哪些步骤?我需要做些什么才能在数小时后不再耗费时间阅读这些仍然无法解决问题的教程,因为他们在解决冲突后立即停止了?
哦,我正在通过PhpStorm 10使用git.
在 fork 一个 Github 存储库之后,我对其进行了一些更改。这已经是很久以前的事了,现在上游分支已经遥遥领先。因此,我想将这些远程更改合并到我的分叉仓库中。
I hit upon a merge conflict in one file only. I went ahead and ran vimdiff as the mergetool to sort these things out.
I only want to merge in the remote changes and discard the local ones.
But there are too many conflicting hunks in that file. Selecting changes to merge one by one is tedious to say the least.
:diffget RE on all the conflicts in that file? …我试图了解在 git 合并后可能发生 git 冲突的情况以及如何避免它们。
我创建了一个 git 存储库并向其中添加了一个文本文件。
在此之后,我做了以下工作:
我将分支 A 合并到分支 B:
git checkout A
git merge B
Run Code Online (Sandbox Code Playgroud)
文件中发生冲突c.txt。我通过编辑文件解决它c.txt。现在,在批准更改之前,git add c.txt我想先看看它们。即查看和分支A之间的区别。 c.txt怎么做呢?
如果我只是简单地使用git diff c.txt它,它显示的变化远远超过我想要的变化。它似乎同时显示了分支 B 的更改和分支 A 的更改(与它们共同的原始提交相比)。即结果不同于git add c.txt; git diff --cached c.txt.
当被标记为冲突时到底向我显示了什么?git diff c.txtc.txt
我在git上的例程一直很简单:
git add -A
git commit -m 'the changes I made'
git pull
# resolve conflicts
git push
Run Code Online (Sandbox Code Playgroud)
然而,由于一些未知的原因,尽管与起源有很多冲突,但在拉动之后,我没有任何冲突,如果没有我的许可,它会强制更新我的本地副本.这些内容:'2个文件已更改,2个插入(+),6个删除( - )'.但在我的情况下,冲突不应该通过简单的合并来解决,并且需要从我这边手动解决冲突.为什么git不让我做手动冲突解决?提前致谢!注意:我的git命令都没有强制选项-f
我已经开始合并,但它已经解决了冲突,现在它已经准备好了提交.我只想仔细检查我合并了哪些父修订版.
迄今为止尝试的事情:
git show 使用%P格式说明符 - 除了我无法弄清楚如何让它告诉我未提交合并的父母git rev-list 有各种选择,无济于事hg parents,这让我回到了git rev-list但没有成功:它列出了五个修订版,它没有列出我实际传递给的修订版git merge <rev>git commit 并查看提交消息最后一个是唯一真正有用的选项,除了它只显示我未提交的合并的父项之一.
必须有一个更好的方式git commit!我该怎么做呢?
我和我的开发团队开始经常运行几个问题而不涉及git.我们都在同一个分支上工作mysql_trunk.我们经常遇到推动冲突和合并冲突.
我们很乐意使用git,但我们觉得这里缺少一些东西.必须有一种更有效的方法来处理大型代码库(1.5mil代码行),多个开发人员同时为同一个repo做出贡献.这似乎是一个相当直接的问题,但我们可以真正使用一些帮助来找到一个解决方案,以防止我们不断出现推动冲突,合并冲突,分离HEAD冲突.
任何建议和/或阅读材料将不胜感激.
在我们的项目中,主分支完全崩溃了。它认为它领先一些承诺,如果我们尝试合并开发,则表明存在大量冲突。它已经被打破很长时间了,所以开发中发生了很多事情(解决了太多冲突)。
我只想用dev覆盖master中的所有内容(因此master基本上等于dev)。我该怎么做呢?
我尝试删除本地master中的所有内容,然后运行以下命令:
git checkout master
git reset --hard develop
Run Code Online (Sandbox Code Playgroud)
似乎给我所有正确的文件,但是当我尝试推送主文件时,出现此错误:
Updates were rejected because the tip of your current branch is behind
Run Code Online (Sandbox Code Playgroud) 我有办法获得 2 个文件副本,其中第一个将包含远程内容,第二个包含本地内容