草庐IT

mro_merge

全部标签

Git merge 不使用默认 merge 消息,使用默认消息打开编辑器

我如何强制gitmerge使用默认的merge消息而不是用该消息加载我的编辑器?我在gitconfig-l中没有列出编辑器,所以我不确定为什么它会打开一个编辑器。 最佳答案 经过一番挖掘找到了答案编辑:根据马克的建议,这是最好的方法:gitconfig--globalcore.mergeoptions--no-edit 关于Gitmerge不使用默认merge消息,使用默认消息打开编辑器,我们在StackOverflow上找到一个类似的问题: https://

git - 如何使 git merge 的默认设置为 --no-ff --no-commit?

公司政策是使用--no-ff进行merge提交。我个人喜欢调整merge日志消息,所以我使用--no-commit。另外,我喜欢在提交之前实际编译和测试。如何使--no-ff和--no-commit成为所有分支的默认值?(自从提出这个问题以来,我已经了解了这些年,我几乎总是对提交感到满意,因此允许它默认提交更简单,只要我在执行之前修改或以其他方式修复问题push一切都很好...) 最佳答案 把它放在$HOME/.gitconfig中:[merge]ff=nocommit=no您可以使用git-config来执行此操作:gitconf

git - 如何将两个提交 merge 为一个提交?

我有一个分支“firstproject”,有2次提交。我想摆脱这些提交并使它们显示为单个提交。命令gitmerge--squash听起来很有希望,但是当我运行gitmerge--squash时,我的终端只会显示该命令的选项。什么是正确的命令?Commit1:Added'homepage.html'Added'contacts.html'Commit2:Added'homepage.php'Added'homepage.php'Deleted'homepage.html'Deleted'contacts.html' 最佳答案 你想要g

git - 在进行 git merge 时是否可以排除特定的提交?

假设我想从一个发布分支merge到主分支,并且发布分支中有一些我不想包含在主分支中的提交。有没有一种方法可以进行merge,这样一个或多个提交就不会被merge?到目前为止,我的策略是执行以下操作(在master中):gitmerge--no-commitrelease-branch#ResolveconflictsandapplyreversepatchofthecommitsthatIdon'twantincludedgitcommit#Editcommitmessagesothatitliststhecommitsthathavebeenreverse-patched有更好的方法

git 从历史记录中删除 merge 提交

我的Git历史是这样的:我想将紫色提交压缩成一个。我不想再在我的提交日志中看到它们。我尝试执行gitrebase-i1,但即使1在蓝色分支上(参见图片),我仍然看到每个提交在我的紫色Twig上。我怎样才能完全删除紫色分支(从提交日志中)? 最佳答案 做gitrebase-i这将允许您删除merge提交,并且日志将是您想要的一行。您还可以删除不再需要的任何提交。你的rebase不起作用的原因是你回溯的不够远。警告:你这样做是在改写历史。对已推送到远程仓库的更改执行此操作会导致问题。我建议只对本地提交执行此操作。

Git 交互式 merge ?

我有两个具有完全相同文件的分支(如果您想知道它是一个.sql文件),我想以交互方式merge它。我非常想像在发生冲突(或命令行)时那样打开一个diff程序,然后准确选择行到哪里。有什么办法吗? 最佳答案 是的,但主要是通过手动实现。你会告诉Git你正在merge两个相关的分支,但它不应该尝试自己提交结果,(编辑添加:如果它认为merge也不会快进是微不足道的):gitmerge--no-commit--no-ffbranch-to-merge然后您将向git请求文件,因为它出现在两个分支中:gitshowHEAD:filename>

git - 如何为不属于我的分支提取未 merge 的 pull 请求?

我需要在NServiceBus存储库中引入特定的pull请求(尚未处理到主流中):https://github.com/johnsimons/NServiceBus/commit/d8524d53094e8181716e771c1023e968132abc15这显然不是我的repo协议(protocol),但我需要该pull请求中存在的更改。执行此操作的最佳方法是什么? 最佳答案 gitpulloriginpull/28/head或者gitfetchoriginpull/28/head:28gitcheckout28CanIpull

git - 如何在 Git 中 merge 子目录?

是否可以仅将本地Git分支的子目录更改merge到远程Git分支,还是“全有或全无”?例如,我有:branch-a-content-1-dir-1-content-2和branch-b-content-1-dir-1-`content-2我只想将branch-adir-1的内容与branch-bdir-1的内容merge。 最佳答案 作为SO问题“Howdoyoumergeselectivefileswithgit-merge?”的替代方案,我刚刚找到了thisGitHubthread这可能更适合merge整个子目录,基于gitre

git - 在 Visual Studio Code 中,如何在两个本地分支之间进行 merge ?

在VisualStudioCode中,我似乎只被允许推送、pull和同步。有记录支持merge冲突,但我无法弄清楚如何在两个分支之间实际merge。VSC中的Git命令行(按F1)仅有助于命令的子集:尝试从备用分支pull或推送到备用分支会产生:这是VSCode的Git文档VisualStudioCodeGitDocumentation我忽略了什么? 最佳答案 您无需使用插件即可完成。在我使用的最新版本的vscode(1.17.0)中,你可以简单地打开你想要的分支(从左下角的菜单)然后按ctrl+shift+p和键入Git:Merg

git - 使用 GIT,我如何有选择地将一个提交的更改 merge 到另一个 'fork' 上?

以这个场景为例:我决定在github.com上“fork”一个代码库,并开始执行我的例程:编辑-提交-推送;又名hackhackhack。在我做了一些修改后,我看到另一个人对同一个项目做了一些修改,我喜欢他们!我决定将它们merge到我的中。问题是,在他所做的几次提交中,我只想要一个特定提交的“一部分”。将这些选定数量的更改merge到我的“分支”中的最有效方法是什么? 最佳答案 在IRC世界的浪潮之后,有人给出了一个很好的解决方案:gitcherry-pickSHA1--no-commitgitadd--patch希望这对遇到同样