我试图围绕git冲突,为什么合并这两个会导致冲突?
分支上的file.txt master:
This is line number one
Run Code Online (Sandbox Code Playgroud)
分支上的file.txt feature:
This is line number one
This is line number two
Run Code Online (Sandbox Code Playgroud) 当我尝试拉动时,我有以下消息:
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)
因此,我尝试修复冲突(如git建议),因为我遵循这些说明.
我需要做的第一件事就是在文本编辑器中打开"有问题"的文件并查找类似的行
If you have questions, please
<<<<<<< HEAD
open an issue
=======
ask your question in IRC.
>>>>>>> branch-a
Run Code Online (Sandbox Code Playgroud)
问题是我在文件中看不到类似的东西.特别是我搜索了HEAD并且它不在那里.
我有一个stash应用a的存储库.但是现在代码看起来像这样:
<<<<<<< HEAD
wp_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
exit();
} else {
wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
=======
wp_safe_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
exit();
} else {
wp_safe_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
>>>>>>> dev-wip
Run Code Online (Sandbox Code Playgroud)
问题是现在stash没有出现在git.它没有显示任何冲突.怎么解决这个?
我有两个 git 分支,开发和重新设计需要合并。我有一个名为 library 的子模块,其更新正在由开发跟踪。当我运行 ' git merge' 时,它说库已被两者修改,即使我没有触及库子模块。当我单击 VS Code 中的库以查看冲突的更改时,我看到了以下内容:
diff --cc library
index 749618f9,589a7ae5..00000000
--- a/library
+++ b/library
Run Code Online (Sandbox Code Playgroud)
我尝试删除库文件夹并git submodule update在重新设计分支中运行“ ”,然后再合并没有成功。我在重新设计中将 ignore = all 添加到 .gitmodules 文件中,但没有用。如何摆脱与此子模块的合并冲突?
我解决了一个相当大的合并冲突。不过,我不能承诺解决冲突。
当我想提交时,git commit - m "Resolved conflicts"我收到这样的错误
错误:无法合并,因为您有未合并的文件。
当我查看 时git status,我可以看到在我的分支和合并的分支中,删除了一个文件 - 这是 git 识别的:
您可以在both deleted符号中看到这一点。
我不能 - 按照建议 - 添加或删除文件。我收到文件丢失的错误。这是正确的,因为该文件已被删除,因此不在文件系统上。
有任何想法吗?
罗恩
我想确保我正确地看待这个。
当我执行导致冲突的 git merge 时,我看到存在冲突的文件为:
<<<<<<<<<HEAD
my local changes first
=============
The remote github changes here.
>>>>>>>>>>
Run Code Online (Sandbox Code Playgroud)
而当我由于 git rebase 而遇到冲突时,我看到了相反的情况:
<<<<<<<<<
The remote github changes here.
=============
my local changes first
>>>>>>>>>>
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?
如果我在 git 中存在冲突(我使用 rebase 但同样适用于合并),它会向我的文件添加冲突标记,以便我可以通过编辑来解决
line1
++<<<<<<< HEAD
+line1a
++=======
+ line1b
++>>>>>>> b
line2
++<<<<<<< HEAD
+line2a
++=======
+ line2b
++>>>>>>> b
Run Code Online (Sandbox Code Playgroud)
合并的一部分git diff仍然显示三向差异
line1
+line1a
+ line1b
line2
++<<<<<<< HEAD
+line2a
++=======
+ line2b
++>>>>>>> b
Run Code Online (Sandbox Code Playgroud)
但是一旦我解决了所有冲突并添加它们,就git diff什么也没有显示。如何查看三向差异?具体来说,我想看到类似的东西
line1
+line1a
+ line1b
line2
+line2a
+ line2b
Run Code Online (Sandbox Code Playgroud) 如何在 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 存储库并向其中添加了一个文本文件。
在此之后,我做了以下工作:
一些背景故事!
我一直在使用 git 为一个开源包做出贡献,我在这方面有点新手。我知道一些基本的东西。此外,我还读到如果发生合并冲突,我们可以遍历文件,标记可以帮助我们找到同一文件的两个版本中相互冲突的代码块。
最近第一次遇到合并冲突,是在 Jupyter notebook 文件(.ipynb)上。但是,合并冲突的标记使 Jupyter 无法读取笔记本。所以,我尝试了 JSON 编辑器和 VS CODE 和 Notepad++。虽然我现在可以看到该文件,但它真的很乱,因为它不仅包含 Jupyter notebook 的所有元数据,而且甚至在执行次数方面也显示冲突。另外,如果笔记本中有一个图形作为一个单元格的输出,它会被转换成很多字符,向下滚动并浏览它们是很头疼的。
在搜索 google 和 stackoverflow 并与项目所有者讨论问题后,我们决定采取另一种方法。但是,它不起作用。(我在下面进行了解释,但首先我需要提供更多信息。请耐心等待)
根据提交的历史记录,我应该是在本地通过更改 PARENT 分支上的相同文件而在本地创建此类冲突的人,因为没有人在上游更改它(在原始存储库中)
因此,请让我首先简要介绍一下分支和我对文件所做的一些更改。
branch-Asub-branch-of-Anotebook-filesub-branch-of-A成branch-A在 my 中branch-A,我做到了:git push origin branch-A但我non-fast-forward出错了。这意味着发生了分歧。对?所以,我确实git pull origin branch-A解决了它,但是我遇到了notebook-file.
替代方案
所以,我被告知我可以将文件复制到本地 git 存储库之外的某个地方,然后git checkout notebook-file在发生分歧的父节点中获取文件。对?然后,如果我这样做git pull ...应该没有问题(然后我可以包含该复制文件的更改)
但...
我再次遇到合并冲突错误。我疯了,尝试了几件事,但仍然没有。
我附上了下面的git日志。我所说的分支是Snippets_Tutorial,而它的子分支是 …