标签: merge-conflict-resolution

由于移动的文件,git合并冲突

到目前为止,我还没有用 git 做这么多。现在,我有以下问题。虽然我做了一些本地修改和提交,但我的同事在新分支中重组了文件和文件夹。然后,我添加了一个远程跟踪分支(反映他的更改)并尝试将我的修改合并到其中。当然,当文件移动到另一个位置时它会失败。我怎样才能继续?'git status' 告诉我这个:

# On branch develop
# You have unmerged paths.
#   (fix conflicts and run "git commit")
#
# Unmerged paths:
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   deleted by us:      src/de/mpicbg/tds/knime/hcstools/prefs/DoubleFieldEditor.java
#   deleted by us:      src/de/mpicbg/tds/knime/hcstools/prefs/HCSToolsPreferencePage.java
#   deleted by us:      src/de/mpicbg/tds/knime/heatmap/HeatMapModel.java
#   deleted by us:      src/de/mpicbg/tds/knime/heatmap/PlateViewer.java
#   deleted by us:      src/de/mpicbg/tds/knime/heatmap/color/LinearGradientTools.java
#   deleted by us:      src/de/mpicbg/tds/knime/heatmap/dialog/PlateAttributeDialog.java
#   deleted by us:      src/de/mpicbg/tds/knime/heatmap/menu/TrellisMenu.java
#   deleted by us:      src/de/mpicbg/tds/knime/heatmap/menu/ViewMenu.java
#   deleted by us: …
Run Code Online (Sandbox Code Playgroud)

git git-merge merge-conflict-resolution

5
推荐指数
1
解决办法
8110
查看次数

git 保存已解决合并冲突的历史记录

在我们的存储库中,我们有两个分支已经分叉了一段时间,我需要将它们合并在一起。显然会有很多冲突,希望是轻微的......

(foo )$ git rebase master
First, rewinding head to replay your work on top of it...
Applying: some_commit1
Applying: some_commit2
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging some_file.xyz
CONFLICT (content): Merge conflict in some_file.xyz
Failed to merge in the changes.
Patch failed at 0002 some_commit2

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To …
Run Code Online (Sandbox Code Playgroud)

git git-rebase merge-conflict-resolution

5
推荐指数
1
解决办法
1357
查看次数

Git:打开没有冲突的合并工具

我在合并时遇到问题,但 git 没有将文件标记为冲突。当我尝试使用 . 打开文件时git mergetool,git 只是说:No files need merging.

如何以三种方式比较在没有合并冲突的情况下打开文件?

git git-merge merge-conflict-resolution

5
推荐指数
1
解决办法
2503
查看次数

SourceTree - rebase --interactive - 合并冲突中止 rebase

如果 rebase 导致合并冲突,如何使用 SourceTree 在另一个分支上进行交互式 rebase?

我观察到的:我使用 SourceTree 进行交互式 rebase,通过

  • 右键单击我想要变基的分支,然后
  • 选择“rebase children ...交互式”。
  • SourceTree 为我提供了“Interactive rebase from”对话框,它允许我压缩提交等。
  • 无论我指示 SourceTree 在那里做什么,如果我通过单击“确定”告诉 SourceTree 继续,
  • SourceTree 识别合并冲突,如下所示:

git -c diff.mnemonicprefix=false -c core.quotepath=false -c sequence.editor='C:\Users\DNTRAINING\AppData\Local\SourceTree\app-2.3.5\tools\stree_gri' -c core.editor = 'C:\用户\ DNTRAINING \应用程序数据\本地\ SourceTree \ APP-2.3.5 \工具\ stree_gri'重订-i --autosquash 1b9102ed53ec63bd6d38a9436663bf58bda590b1
自动合并f3.txt
冲突(含量):合并在f3.txt冲突
衍合(1/3)
错误:无法应用 af56da4... feature_rebase_test02 第一次尝试
手动解决所有冲突,使用
“git add/rm”将它们标记为已解决,然后运行“git rebase --continue”。
你可以跳过这个提交:运行“git rebase --skip”。
要中止并返回“git rebase”之前的状态,请运行“
无法应用 af56da4... feature_rebase_test02 第一次尝试
已完成但有错误,请参见上文。

  • 但不允许我解决冲突,
  • 而是简单地中止 gibt rebase 命令,然后我又回到了开始的地方。

那么,如果我还有合并冲突要解决,我该如何与 SourceTree 进行 rebase --interactive?谢谢,克劳斯

git rebase merge-conflict-resolution atlassian-sourcetree

5
推荐指数
1
解决办法
2505
查看次数

合并前如何解决合并冲突

当我尝试将feature分支合并到 时master,我时不时会遇到合并冲突。

现在显而易见的解决方案是在合并过程中手动解决冲突。

然而,对于基于拉取请求的工作流程(github、gitlab...),这在某种程度上并不是最优的,因为它将所有工作都放在了负责实际合并分支的人员身上,而不是提交者身上。

一个有点有用的解决方案是在提交 PR 之前合并masterfeature,修复所有冲突。然而,我有一种感觉,这不必要地使 git 历史变得复杂化。

所以我想知道,是否有一种(简单的)方法来准备分支feature,以便它可以干净地合并到master两个分支显着分歧之后)。理想情况下,修复可以在多次提交中完成。

git merge-conflict-resolution

5
推荐指数
1
解决办法
6758
查看次数

如何让 KDiff3 在没有 UI 的情况下自动合并?

如何让 KDiff3 自动进行三向合并,使其不显示 UI?理想情况下,如果成功,则返回成功,如果不能(需要手动合并),则返回错误代码。

我读过的所有内容似乎都暗示以下内容应该有效:

"c:\Program Files\KDiff3\kdiff3.exe" --auto base.txt src.txt tar.txt -o merge.txt
Run Code Online (Sandbox Code Playgroud)

然而,事实并非如此。当我运行它时,会弹出一个消息框,上面写着:

Total number of conflicts: 3
Nr of automatically solved conflicts: 3
Nr of unsolved conflicts: 0
Run Code Online (Sandbox Code Playgroud)

我如何让它在没有这个弹出窗口的情况下运行,如果失败,根本没有 GUI?

kdiff3 merge-conflict-resolution git-merge-conflict

5
推荐指数
1
解决办法
454
查看次数

如何防止Git pull删除本地文件

找不到我的问题所以我想我会问。

我自己和另一个人正在开发这个仓库。我的本地克隆是最新的。

我的伙伴删除了文件“example.txt”,提交并推送了它。

第二天我进来,执行 git status(最新),然后执行 git pull。它从我的本地存储库中删除“example.txt”。

问题是我需要该文件,但我的伙伴不小心删除了它。

我该如何防止将来再发生这种情况?有没有办法让 git pull 在删除某些内容之前先警告我?

因此,我尝试先执行 git fetch,然后执行 git status,但它并没有表明如果合并,我将删除文件。

git git-pull git-merge git-status merge-conflict-resolution

5
推荐指数
1
解决办法
3319
查看次数

是否可以使用补丁实用程序删除文件?

patch如何使用创建新文件是众所周知的。但如何做相反的事情:删除具有任意内容的现有文件,或将其替换为给定内容?

上下文:假设 Linux 树中有一个包含 Makefile 和/或 Kconfig 的目录。我只想从他们那里的分类中构建一个自定义模块(驱动程序),为此我想添加我的源文件(这很容易),并用我的内容替换整个现有的 Makefile 和 Kconfig(仅单行或块)对于我的模块)。
我想将所有这些打包到一个补丁文件中。
我不想修改现有文件,因为周围“上下文”发生冲突的风险很高。

version-control patch merge-conflict-resolution

5
推荐指数
0
解决办法
281
查看次数

使用darcs删除已删除文件时的冲突标记混淆

我的混淆来自于此处的以下声明:

当拉出彼此冲突的补丁(例如,更改文件的相同部分)时,Darc会检测冲突并将其标记在存储库内容中.然后,它允许用户解决问题.

这似乎与我所看到的不一致,因此我使用darcs 2.5.2创建了以下工作流程:

  1. 创建repo foo;
  2. 在foo中创建一个非空文件并记录它;
  3. 克隆foo到酒吧;
  4. 删除foo中的文件并记录下来;
  5. 在bar中的文件中添加另一行并记录它;
  6. 从foo拉到酒吧,获取冲突通知;

在执行这些步骤之后,我darcs whatsnew在bar中运行,并显示了两个"补丁原语":

  1. 一个大块移除了所有"foo中的非空文件",但没有提到添加和记录在栏中的行;
  2. 删除文件的rmfile.

我的问题是:为什么没有提到在栏中添加和记录的行?

如果我darcs revert在bar中运行,那么一切都有意义:我看到"非空文件"受到两个冲突补丁的影响,根据此处的说法:

命令darcs revert将删除冲突标记并在冲突补丁之前恢复到状态.

但是如果我运行的话,我会darcs mark-conflicts回到拉动之后的状态,使用上面提到的两个"补丁基元",并且没有提到添加并记录在条形中的行.


对于参考/再现,这是我从命令行完成的工作流程:

$ mkdir foo
$ cd foo/
foo$ darcs initialize

foo$ touch shopping
foo$ vi shopping          <-- add a couple of lines
foo$ darcs add shopping

foo$ darcs record 
addfile ./shopping
Shall I record this change? (1/2)  [ynW...], or ? for more options: y
hunk ./shopping 1
+cake …
Run Code Online (Sandbox Code Playgroud)

version-control haskell dvcs darcs merge-conflict-resolution

4
推荐指数
1
解决办法
261
查看次数

合并冲突,当分支不修改同一行时

我试图围绕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)

git merge-conflict-resolution git-merge-conflict

4
推荐指数
1
解决办法
760
查看次数