标签: merge-conflict-resolution

github 如何在实际合并之前发现两个分支是否存在冲突?

在拉取请求选项中。选择两个分支后,github 会通知这两个分支是否有任何冲突。查找分支冲突的命令是什么?

git github merge-conflict-resolution

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

当HEAD版本在该行没有内容时,为什么git会显示合并冲突

我正试图git merge master从另一个分支做一个,然后我遇到了这个冲突:

<<<<<<< HEAD
=======
    t.text     "label_en"
    t.text     "help_text_en"
    t.text     "options_en"
>>>>>>> master
Run Code Online (Sandbox Code Playgroud)

我知道如何解决冲突,但我很好奇为什么git首先认为这是冲突,因为HEAD版本在特定行上没有内容.

<<<<<<< HEAD
=======
Run Code Online (Sandbox Code Playgroud)

git只是从master中添加3行并合并它不是一个简单的例子吗?


更新:

@Marcin是对的.基于答案,我做了一个测试,假设我有一个如下所示的git树:

 A ---- B  (master)
      \
        C  (another branch)
Run Code Online (Sandbox Code Playgroud)

的内容temp.txtcommit A:

    t.text    "LALALA"
Run Code Online (Sandbox Code Playgroud)

的内容temp.txtcommit B:

    t.text    "label_en"
    t.text    "help_text_en"
    t.text    "options_en"
Run Code Online (Sandbox Code Playgroud)

temp.txtin的内容commit C是空的.


在这一点上,如果我这样做:

git checkout another_branch
git merge master
Run Code Online (Sandbox Code Playgroud)

然后我会得到以下内容:

<<<<<<< HEAD
=======
    t.text     "label_en"
    t.text     "help_text_en"
    t.text     "options_en"
>>>>>>> master
Run Code Online (Sandbox Code Playgroud)

git tree-conflict git-merge merge-conflict-resolution

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

合并出错后检索丢失的代码

所以我们犯了一个菜鸟错误,我们的一个项目团队成员已经忘记了几个星期(其中一些是假期),但是当他确实犯了错误时,他写的大部分代码都被覆盖了尝试自动解决所有冲突后,服务器上的内容.

那么有没有办法让他以前在他的电脑上获得的代码?因为很多工作已经丢失,我们真的无法再承担这一切.

所以只是为了澄清,丢失的代码不在服务器上,而是他在客户机上的未提交的更改.

我们正在使用团队基础服务器和visual studio

merge-conflict-resolution visual-studio-2012 azure-devops

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

到底是什么导致git发生合并冲突?

1)有一个'master'分支,其中包含一个文件

1个

2

3

4

5

2)A从'master'分支并像

1个

2

100

3

4

5

3)B从'master'分支并像

1个

2

3

4

200

5

4)现在,推送变为主机。然后,B也尝试推动。

B会发生什么?有没有合并冲突或没有合并冲突?原因

git github git-merge merge-conflict-resolution gitlab

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

Git - 如何隐藏冲突并稍后解决

我将一个分支合并到另一个分支并遇到了冲突。我部分解决了这个问题,但我需要同事的帮助才能完成解决。与此同时,当我在等他的时候,我想把这场冲突隐藏起来,继续做其他事情。但我不想失去已经解决的事情的进展。

我应该怎么办?除了在另一个目录中再次克隆存储库或手动复制冲突的文件然后稍后将其复制回来之外,还有其他方法可以实现此目的吗?

如果我尝试简单地隐藏它,git 会像这样抱怨:

path/to/file/with/unresolved/conflict: needs merge
path/to/file/with/unresolved/conflict: needs merge
path/to/file/with/unresolved/conflict: unmerged (somesha)
path/to/file/with/unresolved/conflict: unmerged (somesha)
path/to/file/with/unresolved/conflict: unmerged (somesha)
fatal: git-write-tree: error building trees
Cannot save the current index state
Run Code Online (Sandbox Code Playgroud)

git git-stash merge-conflict-resolution git-merge-conflict

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

在修改消息后合并冲突.不能拉或推

我承诺,但意识到信息中有错误.我跑了

git commit --amend -o -m "blah blah"

然后我删除了文件(故意)然后做了

git add .
git commit -m "blah blah"
git push origin master
Run Code Online (Sandbox Code Playgroud)

并得到了错误

![拒绝]主人 - >主人(非快进)

我试着解决它git pull origin master并得到了

CONFLICT (modify/delete): MyFile.java deleted in HEAD and modified in ad0c109

发生了什么,我该如何解决?我只想要有一个删除文件的历史记录.我打算用同一个名字创建一个新的.

更新: 我跑了git push -f origin master,它工作.现在git status给出

在分支主机上所有冲突都已修复,但您仍在合并.(使用"git commit"来结束合并)

我跑了git commit,得到了

E325:注意找到一个名为"C:/Users/Dev3/Documents/NetBeansProjects/OctRecProj/src/OctRecProj/.git/.COMMIT_EDITMSG.swp"的交换文件所拥有者:Dev3日期:Sun May 22 03:27:31 2016文件名:~Dev3/Documents/NetBeansProjects/OctRecProj/src/OctRecProj/.git/COMMIT_EDITMSG修改:YES用户名:Dev3主机名:Desktop-D进程ID:2844打开文件"C:/ Users/Dev3/Documents/NetBeansProjects/OctRecProj/src/OctRecProj/.git/COMMIT_EDITMSG"日期:星期四10月13日03:22:34 2016 NEWER比交换文件!

(1)另一个程序可能正在编辑同一个文件.如果是这种情况,请注意在进行更改时不要以同一文件的两个不同实例结束.退出,或继续谨慎.(2)此文件的编辑会话崩溃.如果是这种情况,请使用":recover"或"vim -r C:/ Users/Dev3/Documents/NetBe ansProjects/OctRecProj/src/OctRecProj/.git/COMMIT_EDITMSG"来恢复更改(请参阅":help recovery" ).如果你已经这样做了,删除交换文件"C:/ Users/Dev3/Documents/NetBe ansProjects/OctRecProj/src/OctRecProj/.git/.COMMIT_EDITMSG.swp" - 更多 -

git github merge-conflict-resolution

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

通过重命名文件之一来解决git merge冲突

我正在使用Flyway跟踪数据库更改,并使用git进行版本控制。

Flyway取决于迁移脚本,每个迁移脚本都以递增的编号命名。

现在,我遇到以下情况:在两个单独的分支(分别称为A和B)上开发了两个功能,都需要更改数据库。两位开发人员都为其分支机构的数据库创建了迁移脚本。当他们大约在同一时间从master分支出来时,他们都为迁移脚本分配了相同的文件名:V42__migration.sql

现在,分支A合并为master。合并分支B时,由于V42__migration.sql文件原因,发生了合并冲突。解决此冲突的正确方法是将分支B的迁移脚本重命名为V43__migration.sql。但是,在合并git时,尝试将两个文件合并为一个,实际上我实际上需要两个文件都未更改,但是将其重命名。

解决这种与git合并冲突的最佳方法是什么?

git merge merge-conflict-resolution

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

为什么Git会造成"空白"冲突?

为什么Git会产生如下冲突:

<<<<<<< mouseLabelCallbacks
const QMap<Qt::MouseButton, QString> TLabel::mMouseButtons = {
        {Qt::NoButton, QStringLiteral("NoButton")},           {Qt::LeftButton, QStringLiteral("LeftButton")},       {Qt::RightButton,     QStringLiteral("RightButton")},
        {Qt::MidButton, QStringLiteral("MidButton")},         {Qt::BackButton, QStringLiteral("BackButton")},       {Qt::ForwardButton,     QStringLiteral("ForwardButton")},
        {Qt::TaskButton, QStringLiteral("TaskButton")},       {Qt::ExtraButton4, QStringLiteral("ExtraButton4")},   {Qt::ExtraButton5,     QStringLiteral("ExtraButton5")},
        {Qt::ExtraButton6, QStringLiteral("ExtraButton6")},   {Qt::ExtraButton7, QStringLiteral("ExtraButton7")},   {Qt::ExtraButton8,     QStringLiteral("ExtraButton8")},
        {Qt::ExtraButton9, QStringLiteral("ExtraButton9")},   {Qt::ExtraButton10, QStringLiteral("ExtraButton10")}, {Qt::ExtraButton11,     QStringLiteral("ExtraButton11")},
        {Qt::ExtraButton12, QStringLiteral("ExtraButton12")}, {Qt::ExtraButton13, QStringLiteral("ExtraButton13")}, {Qt::ExtraButton14,     QStringLiteral("ExtraButton14")},
        {Qt::ExtraButton15, QStringLiteral("ExtraButton15")}, {Qt::ExtraButton16, QStringLiteral("ExtraButton16")}, {Qt::ExtraButton17,     QStringLiteral("ExtraButton17")},
        {Qt::ExtraButton18, QStringLiteral("ExtraButton18")}, {Qt::ExtraButton19, QStringLiteral("ExtraButton19")}, {Qt::ExtraButton20,     QStringLiteral("ExtraButton20")},
        {Qt::ExtraButton21, QStringLiteral("ExtraButton21")}, {Qt::ExtraButton22, QStringLiteral("ExtraButton22")}, {Qt::ExtraButton23,     QStringLiteral("ExtraButton23")},
        {Qt::ExtraButton24, QStringLiteral("ExtraButton24")},

};


=======
>>>>>>> development
Run Code Online (Sandbox Code Playgroud)

===和之间什么都没有时,这是如何发生冲突的>>>

git merge-conflict-resolution git-merge-conflict

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

Git,如何判断合并“被我们删除”的文件时发生了什么变化

  1. 我删除了功能分支中的一个文件,因为我在其他地方重构了它的代码。

  2. 开发分支已更改此文件中的代码以修复错误。

  3. 我将开发分支合并到我的功能分支中,以在继续开发该功能的同时保持其最新状态。

我收到相关文件的“已被我们删除”冲突。

如何获取开发分支上文件更改的差异,以便我可以将这些更改重新实现到功能分支上的重构代码中?

git git-merge merge-conflict-resolution

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

意外合并错误分支后如何修复 Git master 分支?

我有一个开发分支,在它准备好之前我不小心将其合并到了 Master 分支中。

由于我错误地执行了此操作,因此我决定恢复 Master 中的更改,以便我的任何更改都不会发生在那里。此过程创建了一个恢复提交,从主服务器中删除了我的更改。

一切都很好我以为...

一周过去了,我几乎准备好将我的分支合并回 Master 中。由于还有其他开发人员在其他分支上工作,我决定通过将 Master 中的任何新更改合并回我的分支来更新我的开发分支。

这个过程似乎删除了我所有的工作。

回顾一下Master刚刚传来的历史,它包含了意外提交和恢复提交。这意味着每当我从 Master 更新我的分支时,恢复提交都会删除我的大部分工作。

如何将 master 中的更改合并回我的分支,但不包括恢复提交?

我能想到的唯一的两种可能性是:

  • 仔细检查合并中的每个项目,并尝试手动删除恢复项目(我认为这是不可能正确完成的,而且完全是一场噩梦)。
  • 复制我在本地进行更改的所有文件,从 Master 合并,然后尝试将所有更改复制/粘贴回我的分支(这可能也是一场噩梦)。

我希望有一种更好的自动化方法来做到这一点(我希望进行某种合并但忽略某些提交过程)。

git merge git-merge branching-and-merging merge-conflict-resolution

0
推荐指数
1
解决办法
6497
查看次数

当具有更改文件的分支合并到主分支中时,Git 不会引发合并冲突

当我尝试将分支合并到 master 时,我预计会发生合并冲突。这两个分支都有一个文本文件,其中包含不同的文本。

# make project directory
mkdir projA
cd projA

# initialize git repo
git init

# make commit in master branch
echo "text 1" > fileA.txt
git add .
git commit -m "commit A"

# make commit in a new branch
git checkout -b branch1
echo "text 2" > fileA.txt
git add .
git commit -m "commit B"

# merge branch into master
git checkout master
git merge branch1
Run Code Online (Sandbox Code Playgroud)

但合并命令只是进行快进合并,并保留 brach1 的 txt 文件中存在的文本,而不是 master 分支中的文本。

有人可以向我解释一下为什么 git …

git github git-merge merge-conflict-resolution

-1
推荐指数
1
解决办法
639
查看次数