标签: merge-conflict-resolution

如何在git中存储未合并的代码?

我做了一个git pull,发现我的一个文件需要合并.

我现在不想合并该文件 - 我还有另一个需要处理的分支,稍后我会回到这个分支来解决合并问题.

对我来说"撤消"这种拉动的最佳做法是什么?或者,在我准备好处理它之前,我怎么能推迟这个合并呢?我需要做些什么才能更改分支,然后在我的代码中返回到这个未合并状态?

git git-merge merge-conflict-resolution

9
推荐指数
1
解决办法
6451
查看次数

合并基于另一个功能分支的功能分支

几天前,我有master一个完全线性历史的分支.然后我创建了一个功能分支,我们将调用它feat/feature-a.我在那个分支上工作,然后提交它进行代码审查以便合并master.

在进行feat/feature-a审核时,我想开发另一个依赖于引入的代码的功能feat/feature-a.所以我feat/feature-bfeat/feature-a分支机构创建了一个分支.

在我工作的时候feat/feature-b,feat/feature-a合并到了主人.所以现在master已经引入了代码feat/feature-a.我现在想要合并feat/feature-b到master中,但是我得到了很多看起来像这样的合并冲突:

<<<<<<< HEAD
=======
    // Some code that was introduced by feat/feature-b
>>>>>>> c948094... My commit message from feat/feature-b
Run Code Online (Sandbox Code Playgroud)

我的猜测是,因为我feat/feature-a对我的feat/feature-b分支进行了更改,我现在正试图"复制"那些以合并冲突结束的更改.

我可以手动解决这些问题,但它们在数十个文件中存在多次,所以如果有的话,我想知道更好的解决方案.

git version-control merge merge-conflict-resolution

9
推荐指数
1
解决办法
2810
查看次数

git修改后git合并冲突 - "你的分支和'origin/master'分歧了"

这是发生的事情:

  1. 在最近提交给远程主人之后,我对我的本地仓库做了一个小小的改变
  2. 我添加git commit --amend并保留与HEAD相同的提交消息
  3. 我试着将回购推广给主人 git push

现在我明白了

On branch master
Your branch and 'origin/master' have diverged,
and have 1 and 1 different commit each, respectively.
  (use "git pull" to merge the remote branch into yours)
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

我想明白:

  1. 为什么会这样?
  2. 我该怎么做才能防止这种情况发生?
  3. git修改后如何调和master和local?

git git-amend merge-conflict-resolution

9
推荐指数
1
解决办法
1993
查看次数

在 VSTS (Azure DevOps) 中重新检查合并冲突

设置

主分支策略:推送新更改时:重置所有批准投票

  • 创建从 dev 分支到 master 分支的拉取请求 (PR1)
  • VSTS 执行策略检查。

在此处输入图片说明

  • 在用户能够完成 PR1 之前,另一个 PR (PR2) 已完成并合并到 master。

问题/问题 PR1 状态仍然显示“无合并冲突/上次检查 # 分钟前”;但是,由于更新了目标(主)分支,情况可能不再如此。如果用户在本地执行合并(将 master (PR2) 合并到 dev)并推送新合并的代码,则投票会重置。现在用户必须再次等待评论。

有没有办法在 PR 中手动触发合并冲突检查,或者在用户推送新更改时不重置投票,但这些更改只是“从 master 合并”。

merge-conflict-resolution pull-request azure-devops

9
推荐指数
1
解决办法
1413
查看次数

Mercurial合并真棒 - 我错过了什么?

我已经使用Mercurial一段时间了,并且有一个"事实"被多次给出.

事实上,昨天观看由Fogcreek制作的视频时,它让我感到震惊,这段视频:Fog Creek Kiln:为您的公司解锁DVCS的力量,似乎有些东西对我来说不起作用.

在该视频及其后的1:39左右,它表明当其他版本控制系统跟踪修订版(即快照)时,DVCS'就像Mercurial跟踪更改集(即快照之间发生的事情).

这使它们在合并场景中具有优势,然后它显示了一个示例.如果您在一个分支中移动一个函数,并在另一个分支中更改相同的函数,Mercurial可以合并它.

虽然我现在找不到任何直接链接,但我已经在其他地方看到了这一点.

这对我来说似乎不起作用.


编辑:这是TortoiseHg的默认"beyondcompare3"合并工具配置的问题.我将下面的配置添加到我的Mercurial.ini文件中,现在它按预期工作.当然,如果它不能自动充电,它会向GUI工具发挥作用,但现在这个问题中描述的合并在没有任何提示的情况下运行,并且开箱即可做正确的事情

[ui]
merge = bc3

[merge-tools]
bc3.executable = C:\Program Files (x86)\Beyond Compare 3\bcomp.exe
bc3.args = $local $other $base $output /automerge /reviewconflicts /closescript
bc3.priority = 1
bc3.premerge = True
bc3.gui = True
Run Code Online (Sandbox Code Playgroud)

为了测试这个,我将此文件提交到存储库:

void Main()
{
    Function1();
    Function2();
}

public void Function1()
{
    Debug.WriteLine("Function 1");
    for (int index = 0; index < 10; index++)
        Debug.WriteLine("f1: " + index);
}

public void Function2()
{
    Debug.WriteLine("Function 1");
}
Run Code Online (Sandbox Code Playgroud)

然后在从这一个分支出来的两个不同的并行更改集中,我做了以下两个更改:

  1. 我将Function1函数移动到文件的底部
  2. 我更改了Function1中的消息

然后我尝试合并,Mercurial给了我一个合并冲突窗口,试图弄清楚我做了什么.

基本上,它尝试更改Function2中的文本,该文本现在处于Function1移动之前的位置. …

merge mercurial merge-conflict-resolution

8
推荐指数
1
解决办法
826
查看次数

使用Git重用冲突解决方案

我可以告诉Git重用现有合并提交中的冲突解决方案吗?在提交时我被禁用了.新的合并提交在合并的"我们的"一侧包含一些额外的提交(但是他们不应该在修改不同的文件集时引入新的冲突).


例如,请使用以下DAG:

m [master] Add new stuff
*
| o [old-master] Merge branch A (conflicts)
|/a [branch A]
n *
* *
*/
*
Run Code Online (Sandbox Code Playgroud)

现在,我想要做的是将提交mm^分支old-master(然后使其成为新的主).我不想简单地合并masterold-master,因为它会创建一个新的合并提交(尽管没有冲突).我想oma作为父母重新创建提交.

新的DAG应该如下所示:

  p [old-master] Merge branch A (same conflict resolution as old commit o)
 /|
m | [master] Add new stuff
* |
| a [branch A]
n *
* *
*/
*
Run Code Online (Sandbox Code Playgroud)

我不介意使用rerere,如果我之后可以告诉它记录现有合并commit(o)的解析.

git merge merge-conflict-resolution git-rerere

8
推荐指数
1
解决办法
501
查看次数

为什么 bitbucket 不会自动更新我的拉取请求?

推送到作为拉取请求主题的分支后,我收到消息

此拉取请求中未包含新提交。现在更新。

为什么我得到这个,而不是自动更新拉取请求?

这个拉取请求和我用 bitbucket 做的其他拉取请求之间的唯一区别是这个拉取请求涉及合并冲突,我已经解决了。这有作用吗?

我尝试搜索错误消息,但只遇到其他有相同问题的人

git bitbucket merge-conflict-resolution

8
推荐指数
1
解决办法
5518
查看次数

如何使用 XCode 的合并工具解决冲突?

我正处于变基中,我需要修复一些合并冲突。当我在 XCode 中打开文件时,我看到文件中的源代码控制冲突标记(<<<<<<< 等)。

如何使用 XCode 的合并工具以图形方式解决这些冲突?我正在寻找这个屏幕:

在此处输入图片说明

merge xcode merge-conflict-resolution git-merge-conflict xcode10

8
推荐指数
2
解决办法
1万
查看次数

SVN合并冲突编辑:竖线(“|||||||”)是什么意思?

当我在之后手动编辑合并冲突时svn update,我在文件中发现了类似的内容:

\n\n
<<<<<<< .mine\n    act();\n||||||| .r328\n    bid();\n=======\n    cue();\n>>>>>>> .r329\n
Run Code Online (Sandbox Code Playgroud)\n\n

竖线(“ |||||||”)是什么意思?

\n\n

在发布这个问题之前,我检查了在线书籍Version Control with Subversion、和 \xe2\x89\x8820 指南中有关手动合并冲突的部分,以解决与 SVN 的合并冲突(例如,\n 1、\n 2、\ n 3、\n 4、\n 56等)。搜索svn editconflict 竖线(带或不带引号)和其他术语没有返回任何有用的内容。我还直接搜索了 Stackoverflow(例如123等)。svn help merge

\n\n

怎么这么难找\xe2\x80\xbd\xe2\x80\xbd\xe2\x80\xbd

\n

svn merge-conflict-resolution

8
推荐指数
1
解决办法
1214
查看次数

如何使用建议的解决方案解决变基期间的“文件位置”冲突?

CONFLICT (file location): path/to/tests/NS/Domain/Projects/Foo/Bar/stories/workspace-public-channel-SOME_UUID.json added in HEAD inside a directory that was renamed in <some hash> (Reorganize tests), suggesting it should perhaps be moved to path/to/tests/unit/NS/Projects/Foo/Bar/stories/workspace-public-channel-SOME_UUID.json.
Run Code Online (Sandbox Code Playgroud)

我检查了这条消息并确定该建议是正确的。

告诉 git 继续执行的确切咒语是什么?我担心,在这种特殊情况下,一般性建议可能不够,或者可能会把事情搞砸。"git add/rm <conflicted_files>", then run "git rebase --continue"

编辑以澄清:以下是git status具有此冲突类型的示例文件的显示内容:

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)

...
...
        deleted:    old/path/to/some/file.spec.js
...
...

Run Code Online (Sandbox Code Playgroud)

稍后在相同的输出中git status

Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to …
Run Code Online (Sandbox Code Playgroud)

git rebase merge-conflict-resolution

8
推荐指数
1
解决办法
7067
查看次数