草庐IT

mro_merge

全部标签

git - 如何避免 git rebase 杀死 merge 提交?

给定以下git历史:C-Iorigin/master/A-B-F-G-Hmaster\/D-Ebranch-b我想将我的本地master分支rebase到origin/master之上,但我想保留merge提交G。当我尝试在master上简单地执行gitrebaseorigin/master时,它将D..E压缩为G并使用E的提交消息提交,因此merge的历史记录丢失了。有没有办法在仍然获得rebase的同时保留此merge?为清楚起见,我的预期结果是:A-B-C-I-F-G-Hmaster\/D-----Ebranch-b 最佳答案

Git merge 和修复带有两个分支的混合空间和制表符

我已经完成了一些类似的SOQ,但没有找到适合这种情况的解决方案。我注意到在许多文件中混用了用于缩进的制表符和空格。我们遵循的编码标准目前使用4个空格作为制表符。虽然这应该在它发生时得到解决,但我现在需要考虑它并希望修复我遇到的文件。问题是有两个团队使用不同的代码分支,我们最终将不得不merge这些分支。如果我们将分支的所有文件更改为正确的格式并尝试merge它,会发生什么?最终会很难做到吗?它会向我展示大量的冲突吗?理想情况下,id像gitmerge一样忽略空格,但我不知道它如何知道选择哪个版本。从react的角度来看是否有更好的解决方案?这主要是技术领导、代码lint、代码审查问题,

git - pull 是不可能的,因为你有未 merge 的文件,git stash 不起作用。不想犯

我只想pull。我有更改要忽略,我的Gemfile和Gemlock文件,我很乐意覆盖它们并pull。我试着把我的改变藏起来,这对我来说没有用。我该怎么办?gitpullMGemfileUGemfile.lockPullisnotpossiblebecauseyouhaveunmergedfiles.Please,fixthemupintheworktree,andthenuse'gitadd/rm'asappropriatetomarkresolution,oruse'gitcommit-a'.~/projects/sms/apps2/apps2_admin(apps2)$gitsta

Git:差异/merge 输出中的+/-符号的数量是什么意思?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:GitMerge:Whatdoesthismean?Gitdiff--statexplanation很抱歉这个愚蠢的问题,但我在任何地方都找不到明确的答案。当你在git中merge两个分支时,你会得到这样的输出:some_file.txt|564++++++++++++++--我理解+和-表示添加和删除,但是:符号的数量代表什么?当你的变化很少时,每个符号似乎代表一条线,但是当你有更多的符号时,我无法理解表示的逻辑它是某种变化的百分比吗?我的猜测是符号的数量代表了相对的变化量-但相对于什么?当前文件?整个mer

Git octopus merge 多个分支的顺序

我在使用git时发生了一件有趣的事情,想知道是否有人可以向我解释一下,以便我更好地理解。merge多个分支(A,B)时,gitmergeAB因为非快进而失败,而gitmergeBA效果很好。为什么会这样? 最佳答案 让我们假设A是严格的,directchild当前分支的。然后假设B是A的严格直接子级。Octopusmerge,processesheadsgivenasargumentsfromlefttoright,相对于树递增,但相对于索引独立如果它尝试先应用B然后应用A,则在没有冲突的情况下成功,但如果它执行交谈。根据git-m

git - 解决 Git merge 冲突后避免孤立的 .orig 文件

在我执行Gitmerge并解决冲突后,存在冲突文件的剩余.orig版本。如何在成功解决冲突后自动删除它们? 最佳答案 产生这些文件的是gitmergetool,你可以用这个命令禁用它们:gitconfig--globalmergetool.keepBackupfalse请参阅git-config联机帮助页:http://man.he.net/man1/git-config 关于git-解决Gitmerge冲突后避免孤立的.orig文件,我们在StackOverflow上找到一个类似的问题

git - 解决 merge 冲突 : Force overwrite all files

我正在自己开发一个git存储库(所以是的,我知道这样做的含义和警告)并且不知何故,其中一棵树在它不应该被推送后得到了提交'没有。现在我正试图撤回,它正在提示数百个merge冲突。有没有办法告诉git强制覆盖所有来自远程服务器的本地文件?有没有比执行gitreset--hardHEAD~1然后pull更快的方法?同理,有没有一种方法可以通过简单的merge来实现同样的效果?我所看到的一切都建议在merge冲突解决阶段检查每个文件,但是对于数百个文件,手动执行此操作是不可能的。 最佳答案 有三个简单的解决方案可以复制远程存储库中的最后一

git - 如何使用 git difftool 区分 merge 冲突?

merge失败后,我可以用gitdiff列出那些冲突,但是gitdifftool不会使用配置中设置的difftool来显示它们(在我的例子中是Kaleidoscope),相反它只会使用普通的diff。与之前的提交进行比较的gitdifftool将起作用。有没有办法在merge冲突时使用gitdifftool?问候简 最佳答案 试试gitmergetool。 关于git-如何使用gitdifftool区分merge冲突?,我们在StackOverflow上找到一个类似的问题:

merge 之前或之后的 Git 标签?

我有一个关于使用git标记项目的不同版本的简单问题。如果我刚刚完成我的1.1分支并计划将其merge到master,我应该在merge之前将该分支标记为1.1,还是应该将其merge到master然后再标记为1.1?无论哪种方式都会有所作为吗?也许一种方式是首选?谢谢。 最佳答案 视情况而定。分支会快进到master吗?如果答案是"is",那么无论您是在快进merge之前还是之后标记它都没有关系,因为无论哪种方式标记的提交都是相同的。如果答案是否定的,那么您可能应该在merge到master之后对其进行标记(假设您从master中删

git - 如何将一个特定文件从一个分支 merge 到 Git 中的另一个分支

我在一个git仓库中有2个分支,我们称它们为开发和测试。我在单个文件somecode.js中进行了更改。两个分支都对somecode.js进行了更改。这2个分支有显着差异(但在可控范围内),因此直接“merge”是不够的。我试过了http://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/但它不会merge两个文件的内容。您基本上只是覆盖文件,而不是实际merge文件的内容。我也试过:gitcheckout-bnewbranchgitcheckouttes