标签: git-merge

git:找到哪个合并通过提交到当前分支

我有很多分支,它们会定期合并,即我们可以有A,它合并到B,然后B合并到C,然后A转换成D,D转换成C等等.假设我有一个提交X,我知道最初在A中引入,然后以某种方式合并到C中(当我执行git log C时我可以看到它).有没有办法找出哪个合并(哪个合并提交)将提交X带入分支C?

git git-merge

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

Git:使用git-merge-file解决使用他们/我们的冲突

我有一个git svn rebase,我发生了冲突.我想git-merge-file通过选择服务器上的版本来合并文件的两个版本.git-merge-file调用此选项--theirsgit-merg-file需要3个参数.我如何只传递包含冲突标记的文件并让它选择它们的版本?

我也试过,git merge -Xtheirs file.cpp但它不起作用.

git git-svn git-merge

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

什么原因导致git在pull上进行自动提交?

我一直在研究不同的存储库,并注意到一种不同的行为:在一个项目中,当我将其他人的工作拉入我的工作时,我只是在我的历史记录中得到了他们的提交,另一个git在我拉动时创建了一个自动合并提交.在这两种情况下都没有冲突,并且两个存储库都是在同一台服务器上的裸存储库.

是什么原因导致git在pull上添加或不添加此自动合并提交?

git git-pull git-merge

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

git-flow完成发布 - 选择性合并

我们最近开始git-flow在我们公司使用,我们遇到了以下问题:

我们有一个DEV_MODE布尔值来控制应用程序中的日志记录级别,我们希望开发分支始终具有DEV_MODE=true.
但是,在发布版本时,我们将更DEV_MODE改为false.

当我完成发布时git-flow,它会合并DEV_MODE=false到开发分支中.

我有一个钩子,我可以用来防止这种情况,或者可能告诉git如何合并发布分支中的文件以进行开发?

git git-merge git-flow

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

修复了一个糟糕的合并

所以我们的团队对Git来说是新手.我们遇到了类似这样的情况,只是更糟糕的情况:开发人员进行了一次糟糕的合并,然后糟糕的合并被埋没在大约20次后续提交中,因为我们只注意到一天后的不良合并.

我们如何解决这个问题?

编辑:看起来git revert -m命令可能是诀窍,但只有一个文件,我们真的需要还原...一个严重损坏的大edmx文件.有什么方法可以将恢复限制为该文件?

git git-merge

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

即使使用--no-edit,Git Pull也会打开VIM

"隐式非冲突合并后,Vim打开请求提交消息"似乎是一个相对常见的问题,似乎是一个相对简单的答案:git config --global core.mergeoptions --no-edit.

不幸的是,这对我或我班上其他15人中的至少8人来说似乎没有用,而且我们的教练也有点困惑(尽管公平地说他没有时间去研究它快速谷歌搜索或两个).这不是一个大问题,因为你可以轻松地逃脱:q,但我们想知道答案,我的谷歌搜索返回Stack Overflow问题--no-edit作为解决方案(通过核心或每次完成拉动).

我的.gitconfig(减去个人信息):

[mergetool "kdiff3"]
        path = "/c/Program Files/KDiff3/kdiff3.exe"
[merge]
        tool = kdiff3
[core]
        mergeoptions = --no-edit
[mergetool]
        keepBackup = false
Run Code Online (Sandbox Code Playgroud)

但是:

图片.

有没有人知道为什么修复不起作用(即:"雅顿在拼写'选项'"中愚蠢),或者是否有更好/更可靠的方法来解决这个问题?

git vim git-pull git-merge git-config

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

Git rebase显示非快进

我被埋在一个混蛋中.

我是怎么到达那里的:

我不是一个git专家.如果我没有任何细节,请问我澄清一下.几天前我运行了以下命令将我的更改推送到远程分支.

% git checkout master
% git pull
% git checkout redactor_changes <-- this is the branch that I made my changes 
% git commit -m "changes" # I added my changes previously
% git rebase master
% git push origin redactor_changes # pushed changes to remote branch
Run Code Online (Sandbox Code Playgroud)

并非每个人都具有将更改合并到主分支的写入权限.拥有远程回购的写入权限的人告诉我存在冲突并进行改变并再次提交.所以今天我按照确切的顺序运行了以下命令.

vagrant@vagrant-ubuntu-trusty-64:~/oblog$ git add oblog/static/css/styles-custom.css
vagrant@vagrant-ubuntu-trusty-64:~/oblog$ git add oblog/static/js/redactor.upload_image.js
vagrant@vagrant-ubuntu-trusty-64:~/oblog$ git add oblog/static/images/loading.gif
vagrant@vagrant-ubuntu-trusty-64:~/oblog$ git commit -m "Throw a toast when user upload an non-image file with image extension"
vagrant@vagrant-ubuntu-trusty-64:~/oblog$ …
Run Code Online (Sandbox Code Playgroud)

git rebase git-merge git-push

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

git merge --strategy vs. --strategy-option

git merge选项--strategy-option(short -X)和 --strategy(short -s)之间有什么区别 ?

有关合并策略的问题很多.但没有人解释这些选项之间的区别.

另外git文档没有帮助:

--strategy-option将合并策略特定选项传递给合并策略.

git git-merge

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

用develop覆盖master

在我们的项目中,主分支完全崩溃了。它认为它领先一些承诺,如果我们尝试合并开发,则表明存在大量冲突。它已经被打破很长时间了,所以开发中发生了很多事情(解决了太多冲突)。

我只想用dev覆盖master中的所有内容(因此master基本上等于dev)。我该怎么做呢?

我尝试删除本地master中的所有内容,然后运行以下命令:

git checkout master
git reset --hard develop
Run Code Online (Sandbox Code Playgroud)

似乎给我所有正确的文件,但是当我尝试推送主文件时,出现此错误:

Updates were rejected because the tip of your current branch is behind
Run Code Online (Sandbox Code Playgroud)

git merge git-merge merge-conflict-resolution

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

合并两个分支,如何为所有冲突接受一个分支

我将两个分支合并在一起,让我们说branchA和branchB。他们有大约100个有冲突的文件。

branchB可以接受所有工作,并且100%是我所需要的。我不想强制推送branchB或任何东西。

有没有一种方法可以合并这两个文件,只是说有任何冲突就可以接受branchB上的内容,所以我不必打开每个文件或“他们的文件”或“我们的文件”。

正在尝试从branchB进行递归合并,并使用-s和-x选项将branchA拉出,但这似乎没有按预期工作

谢谢

git git-merge

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