草庐IT

rebase-merge

全部标签

git rebase 并保留所有子分支

我正在尝试将CVS存储库导入git。不幸的是,我们一直在使用一种非常古老的方法从我们的CVS存储库创建版本,它不涉及任何实际的CVS分支或标签,而是将这些信息保存在一个单独的系统中。因此,几乎所有的开发都发生在CVS主干上。因此,一个文件可能会在历史记录的很早的时候添加,但在6个月内不会成为发布的一部分。我想做的是将这个CVS存储库导入到git中,并使用rebase将这些提交移动到开发分支。不过,我确实有一些来自CVS的分支,所以我真的很想移动所有分支。说我有这个:F---G---Htopic/A---B---C---D---E---I---JmasterB是我想移动到它自己的分支的提

git - eGit merge 解决方案 - 使用您的副本

我对eGit还是个新手。我试图弄清楚究竟如何让eGit使用我的副本解决merge冲突,没有变化。我指的是eGitWiki上的注释:http://wiki.eclipse.org/EGit/User_Guide#Possible_merge_results然而,当我添加我的副本来解决冲突时,eGit仍然在文件中留下差异标记">>>>>>”。文档说在使用Merge-Tool后添加:edittheworkingtreeversionuntilyouarehappywithitTeam>Addthemergedresourcetomarktheconflictasresolvedcommitt

GIT Rebase 一个协作的分支?

阅读本文后,rebase以将更改从主分支收集到我的功能分支是有意义的:Gitworkflowandrebasevsmergequestionsclonetheremoterepogitcheckout-bmy_new_feature..workandcommitsomestuffgitrebasemaster..workandcommitsomestuffgitrebasemaster..finishthefeaturegitcheckoutmastergitmergemy_new_feature如果特性分支在我的机器本地并且我可以随心所欲地重写历史,这会很好用。但是,如果我在功能分支

git - 如何 rebase 并按时间顺序保持提交?

我想在master分支上重新设置一个分支,但所有提交都按时间顺序显示在git日志中。如果没有gitrebase--interactive并手动重新安排提交,这是否可能?背景:我正在使用git来跟踪服务器场的puppet配置。master分支始终处于已知的良好状态,以便所有现有服务器都可以从puppet主服务器检索它们的配置。每个新服务器都有自己的分支,所以每当我对新服务器进行配置时,例如更改域名、配置SSL证书,我都会检查其分支并提交所有配置。新配置完成后,我将更改重新设置到master分支上:#gitcheckoutnew_configSwitchedtobranch'new_con

git - 在git中跨分支查找标签 merge 提交

我的产品是IntelliJ的插件。我支持多个版本的底层IntelliJ平台,并为每个版本发布我的插件版本,因为它们的API经常在版本之间发生变化。只有我在做,所以我在master中开发,然后为每个其他版本维护一个分支。所以我的repo看起来像这样:1.6.01.6.1-eap1....a---b---c---master\\d-------e---idea-2017.1\\f-------g---idea-2016.3\\......etcetca是一个稳定版本,并已标记为1.6.0。c是一个EAP(测试版)版本,并已标记为1.6.1-eap1。该方案适用于这两种情况。有时我想创建一个

git:使用 "commit --cleanup=whitespace"和 "rebase --interactive"

我想在创建/编辑提交消息时始终使用--cleanup=whitespace(以允许初始“#”)。不幸的是,我找不到合适的设置来放入~/.gitconfig;这个不行:[commit]cleanup=whitespace对于正常提交,我将--cleanup=whitespace添加到我的主要提交别名中,但是我不知道如何将此选项传递给gitrebase--interactive以便我可以改写和压缩提交并使用我喜欢的清理方法。 最佳答案 在git1.8.2他们添加了我尝试使用的设置:"gitcommit"canbetoldtouse--c

git - 如何在 Sourcetree 中进行 Git Rebase?

我希望我的本地master分支包含提交“修复的js错误”并重新定位到origin/master。我是这样开始这个过程的:这让我想到了这个:但是如您所见,我被要求先pull后推。每次我pull我都会遇到第一张图片中描述的情况。我究竟做错了什么?!谢谢, 最佳答案 您的原始结构不支持rebase。假设您已提交给本地master,而其他人提交(并推送)了对origin/master的另一项更改。在这种情况下,您可以将您的提交rebase到其他提交之上。您的场景有来自完全不同分支的提交。您可能需要将其他分支merge到master中,或者您

git - 如何使用提交消息触发 pull 请求的 "Merged"状态

喜欢一些others,我不喜欢默认的“MergePullRequest”按钮行为,所以我在本地命令行上整理一下,然后推回repo。我希望该推送能够自动将原始PR解析为“已merge”。使用指定的魔法字符串here(从类似的SO问题here中找到)几乎是我想要的。不幸的是,包括closes#123将PR标记为“已关闭”,这本身就是“已拒绝”的同义词。我想知道是否有一种方法可以触发与按下按钮时相同的“已merge”状态(带有紫​​色图标)。到目前为止,我已尝试将以下内容添加到我的提交消息中,但无济于事:关闭#xyz(justsetsClosedstatusandassociates)mer

git - git rebase 后缺少提交

A-B-CMaster\D-EFeature执行完rebase命令gitcheckoutfeature->gitrebasemaster我所有的提交都来自feature分支消失所以我有A-B-C提交。feature分支在rebase后看起来像master。此外,rebase不会给出任何错误,但它不会显示“提交已重播”消息,我认为它通常会在rebase期间显示。你知道是什么导致了这种行为吗?一旦我注意到我的提交消失了,我就运行以下命令来查找git历史中丢失的代码:gitrev-list--all|xargsgitgrepexpression该命令返回了一个提交散列,但是当我运行gitlo

Git: merge 和子模块

假设我在RepoX中有两个分支,分别称为BranchA和BranchB。RepoX还有一个名为SubmoduleY的子模块。BranchA的SubmoduleY版本为“abc”,BranchB的SubmoduleY版本为“def”。假设我想将BranchAmerge到BranchB中,但我想让BranchB的SubmoduleY指向其原始版本的“def”。我看到有几种方法可以做到这一点:方法一:checkoutBranchB。将SubmoduleY移至修订版“abc”,使实际merge变得轻松(我们现在不想在子模块级别进行任何merge)。提交SubmoduleY的新修订(我们不能让它