相关疑难解决方法(0)

为什么我要一遍又一遍地解决同样的冲突?

当我这样做时git rebase branch1,我branch1-local会发生冲突.我解决了冲突,做了git add <conflicted-add>然后git rebase --continue就像git要求我做的那样.之后,将应用新的提交.出现了新的冲突.但是再次发生同样的冲突!同一个文件!我再这样做,git addgit rebase --continue,然后这一切再次重复,直到我重复这一过程,每次提交被重建基础上.

为什么rebase让我一遍又一遍地重做同样的冲突解决方案?

git version-control git-rebase

42
推荐指数
2
解决办法
9048
查看次数

当git重新提交很多提交时如何防止大量的git冲突?

故事:在一个项目的中间,我的同事从大师那里创建了一个新的分支,并开始进行繁重的重新分解工作.我从master创建了我的分支,并开始在页面上做新的东西.我们经常提交,但只有我可以修改代码才能掌握(因为同事的更改太重,无法从主服务器部署).不幸的是,我们的一些工作依赖于相同的文件.因此,经过几天的工作,她终于想要改变主人的变化,她有很多git冲突.

my_branch    #---#----#-#-------#----#--#-----#---#----#----#
            /     \              \   \   \              \    \
master     *-------*--------------*---*---*--------------*----*----*
            \                                                     /
her branch   #------#-------#-----------#-----------#------------#
Run Code Online (Sandbox Code Playgroud)

问题1是:当我们处理相同的文件时,如何防止大量的git冲突?(或者在这种情况下最佳做法是什么?)

但这不是我们问题的结束,...绝对正确她试图从主人到她的分支进行变基(为了进行我所做的更改),所以提交映射应该看起来像这样

my_branch    #---#----#-#-------#----#--#-----#---#----#----#
            /     \              \   \   \              \    \
master     *-------*--------------*---*---*--------------*----*----*
            \                   \            \                    /
her branch   #------#-------#----*------#-----*-----#------------#
Run Code Online (Sandbox Code Playgroud)

这就是困扰我们的事情.在这些改变期间,她正在解决这些冲突.但是git不记得她关于冲突修复的决定,所以当她从主人她的分支做另一个git rebase时,她不得不再次修复同样的git冲突,以至于她在以前的rebase 中修复了.

问题2是:如何告诉git在分支git rebase之后记住git冲突修复,那么在下一个rebase之后我们不必再次修复相同的冲突了?

git rebase git-rebase

39
推荐指数
3
解决办法
1万
查看次数

git rebase一次又一次地解决冲突?

每当我在新版本的原版上git rebase我的补丁集时,我是否必须一次又一次地手动解决冲突?

git

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

Git rebase --preserve-merges失败

我有一个(大)提交树,其中包含几个我想要重新绑定到另一个提交的合并提交.执行正常的rebase会导致git要求我解决合并冲突.我不想审查每个合并,因为这将是很多工作.在找到--preserve-merges选项后,这里有一个很好的解释,我认为我找到了完成这项任务的完美工具.但是,我似乎无法让它正常工作.我创建了一个演示问题的玩具示例.

从空文件夹开始,我们首先创建一个带有合并的分支和另一个我们将在其上进行rebase的分支.

A---B--
\      \
 ---C---D
 \
  ---E
Run Code Online (Sandbox Code Playgroud)

其中,分支d再见分支È.

git init
echo Hello > Hello.txt
git add Hello.txt
git commit -m "Create Hello.txt (commit A)"
git tag start

echo World! >> Hello.txt
git commit -am "Change to Hello World (commit B)"

git checkout start
git checkout -b branch
echo Dave >> Hello.txt
git commit -am "Change to Hello Dave (commit C)"

git merge master
echo Hello …
Run Code Online (Sandbox Code Playgroud)

git git-rebase

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

合并两个分支和Git历史

请有人告诉我Git在合并两个分支时的历史方面.

如果我有两个分支都在积极开发并且都包含提交,这类似于以下时间轴:

Branch #1: ----(branch)----C1----------C2-------(merge)------C5
                  \                             /
                   \                           /
                    \                         /
Branch #2:           -----------C3----------C4
Run Code Online (Sandbox Code Playgroud)

一旦两个分支合并,分支1的历史如何看待C5(提交#5)?我的印象是Git将合并所有历史记录给我以下内容:

Branch #1: ----------------C1----C3----C2----C4--------------C5
Run Code Online (Sandbox Code Playgroud)

这是正确的理解吗?

如果是这样,在紧急情况下,如何撤消合并,因为分支#2的所有历史肯定会与分支#1的历史交织在一起.

git merge git-merge

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

标签 统计

git ×5

git-rebase ×3

git-merge ×1

merge ×1

rebase ×1

version-control ×1