我有一个分支“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
假设我想从一个发布分支merge到主分支,并且发布分支中有一些我不想包含在主分支中的提交。有没有一种方法可以进行merge,这样一个或多个提交就不会被merge?到目前为止,我的策略是执行以下操作(在master中):gitmerge--no-commitrelease-branch#ResolveconflictsandapplyreversepatchofthecommitsthatIdon'twantincludedgitcommit#Editcommitmessagesothatitliststhecommitsthathavebeenreverse-patched有更好的方法
我的Git历史是这样的:我想将紫色提交压缩成一个。我不想再在我的提交日志中看到它们。我尝试执行gitrebase-i1,但即使1在蓝色分支上(参见图片),我仍然看到每个提交在我的紫色Twig上。我怎样才能完全删除紫色分支(从提交日志中)? 最佳答案 做gitrebase-i这将允许您删除merge提交,并且日志将是您想要的一行。您还可以删除不再需要的任何提交。你的rebase不起作用的原因是你回溯的不够远。警告:你这样做是在改写历史。对已推送到远程仓库的更改执行此操作会导致问题。我建议只对本地提交执行此操作。
我有两个具有完全相同文件的分支(如果您想知道它是一个.sql文件),我想以交互方式merge它。我非常想像在发生冲突(或命令行)时那样打开一个diff程序,然后准确选择行到哪里。有什么办法吗? 最佳答案 是的,但主要是通过手动实现。你会告诉Git你正在merge两个相关的分支,但它不应该尝试自己提交结果,(编辑添加:如果它认为merge也不会快进是微不足道的):gitmerge--no-commit--no-ffbranch-to-merge然后您将向git请求文件,因为它出现在两个分支中:gitshowHEAD:filename>
我需要在NServiceBus存储库中引入特定的pull请求(尚未处理到主流中):https://github.com/johnsimons/NServiceBus/commit/d8524d53094e8181716e771c1023e968132abc15这显然不是我的repo协议(protocol),但我需要该pull请求中存在的更改。执行此操作的最佳方法是什么? 最佳答案 gitpulloriginpull/28/head或者gitfetchoriginpull/28/head:28gitcheckout28CanIpull
是否可以仅将本地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
在VisualStudioCode中,我似乎只被允许推送、pull和同步。有记录支持merge冲突,但我无法弄清楚如何在两个分支之间实际merge。VSC中的Git命令行(按F1)仅有助于命令的子集:尝试从备用分支pull或推送到备用分支会产生:这是VSCode的Git文档VisualStudioCodeGitDocumentation我忽略了什么? 最佳答案 您无需使用插件即可完成。在我使用的最新版本的vscode(1.17.0)中,你可以简单地打开你想要的分支(从左下角的菜单)然后按ctrl+shift+p和键入Git:Merg
以这个场景为例:我决定在github.com上“fork”一个代码库,并开始执行我的例程:编辑-提交-推送;又名hackhackhack。在我做了一些修改后,我看到另一个人对同一个项目做了一些修改,我喜欢他们!我决定将它们merge到我的中。问题是,在他所做的几次提交中,我只想要一个特定提交的“一部分”。将这些选定数量的更改merge到我的“分支”中的最有效方法是什么? 最佳答案 在IRC世界的浪潮之后,有人给出了一个很好的解决方案:gitcherry-pickSHA1--no-commitgitadd--patch希望这对遇到同样
我们在我们的repo中有很多这样的提交:Mergebranch'master'ofbitbucket.org:user/repo每当开发人员将他/她的本地分支同步到顶级存储库时,就会发生这种情况。有没有办法避免这种merge提交hell使所有repo日志困惑?在以某种方式发起pull请求时可以避免它们吗?我知道我可以执行gitrebase,如果这只在我的本地VM中完成,GitHub/BitBucketUI中是否有任何等效项?你们是怎么做到的? 最佳答案 merge前对特征分支进行rebase如果你想避免merge提交,你需要确保所有
给定repoFoo和repoBar。我想将Bar与Foomerge,但是仅merge到一个单独的分支中,称为baz。gitswitch-cbaz 最佳答案 您不能将存储库merge到分支中。您可以将另一个存储库中的分支merge到本地存储库中的分支。假设您有两个存储库,foo和bar都位于您的当前目录中:$lsfoobar进入foo仓库:$cdfoo将bar存储库添加为远程并获取它:$gitremoteaddbar../bar$gitremoteupdate根据您当前的分支在foo存储库中创建一个新分支baz:$gitswitch-