草庐IT

rebase-merge

全部标签

git rebase -i HEAD~7 -- 在编辑器中只显示 "noop"

我正在尝试将位于HEAD的提交压缩为后面的提交。当我运行gitrebase-iHEAD~7,然而,我只看到一个noop在编辑器中!我对这应该如何工作完全感到困惑。我在我创建的分支(cleanup)中工作(在我在checkout-bcleanup...中找到的SHA1上使用reflog)在我拥有第一个rebase之后经验,我不小心删除了所有这些提交;重点是,我不确定分支的父级是什么(如果重要的话,在这里)。我只是想做我多次阅读的内容:我想稍微修改一些不是最近提交的提交代码。我不知道这是申请“压缩”还是只是修改,我不知道。当编辑器在运行上面显示的rebase命令后启动时,我也在STDOUT

使用 svn.pushmergeinfo 进行 merge 的 git-svn 工作流程

使用git-svnmergesvn跟踪分支的正确工作流程是什么。我已经阅读了一些关于git-svnsvn.pushmergeinfo配置键的内容,注意事项是:来自http://www.kernel.org/pub/software/scm/git/docs/git-svn.html:configkey:svn.pushmergeinfoThisoptionwillcausegit-svntoattempttoautomaticallypopulatethesvn:mergeinfopropertyintheSVNrepositorywhenpossible.Currently,this

git - 如何在 Gerrit Code Review 中 merge 提交

我是gerrit的新手:http://code.google.com/p/gerrit/我在本地Mac上用git安装了它。完成了。我做了一些测试Action:注册2个帐户,第一个帐户授予“管理员”权限,第二个帐户授予“注册用户”权限创建新项目我使用第二个帐户将提交推送到master分支以供审核。将第一个添加为审阅者审核正常。如何将此提交merge到主分支?WebUI有什么解决方案吗?谢谢! 最佳答案 我解决了我的问题。注意Admin/Project/Access上的3个类别:代码审查已验证提交我错过了最后两个类别,所以Gerrit不

git merge 拒绝丢失未跟踪文件失败

我正在尝试mergemaster上的存储库。我收到以下错误。error:refusingtoloseuntrackedfileat'config/database.yml'gitstatus给我deletedbyus:config/database.yml我该如何解决? 最佳答案 根据您的描述,database.yml文件不应该再出现在您的存储库中。执行gitrm--cachedconfig/database.yml将其从Git中删除,然后再次尝试merge。 关于gitmerge拒绝丢

git - 将 pull 请求 merge 在一起

有人向我在github上的存储库提交了一组pull请求。不幸的是,他们在多个pull请求(每个文件一个)中完成了此操作,而不是一次性提交所有文件的所有pull请求。在请求他将它们merge为一个后——但没有得到任何回应,我现在尝试在GitBash中自己将这些pull请求merge在一起——但运气不佳——我很高兴使用merge按钮并制作通过Windows上的GitHub程序提交,但仅此而已。我对gitshell没有真正的了解-所以如果有人可以完成我如何将这些pull请求merge在一起的过程(无论如何它们都不冲突),我将不胜感激。 最佳答案

git - 有没有一种快速的方法可以将长期提交到 master 分支的历史 rebase ?

过去两周我一直在研究一个功能,并为它创建了一个单独的分支。问题是这项任务花了我很长时间,而且我没有定期将我的分支重新设置为master。我最终得到了100多个提交,现在当我尝试使用gitrebasemaster将分支重新设置为master时,它需要永远,因为我需要检查每个提交的冲突,修改它,gitadd然后gitrebase--continue.有没有更简单的方法来做到这一点? 最佳答案 这部分取决于您如何完成100多次提交以及在此期间发生了什么。四种策略可能有用:减少rebase的提交次数如果你有100次提交的漂亮清晰的流,从不修

GitFlow : merge to master first or after prod release?

学习GitFlow时,我有一些担忧,但在我读过的任何文档/文章中都没有解决。在某些时候,develop分支上的代码需要部署到QA/staging环境并进行严格测试。因此,使用GitFlow,您可以从develop中切出一个release分支,然后将release部署到所述暂存环境。首先,只想快速澄清一些事情:特定项目/存储库第一次经历这个过程时,您实际上是从fork/创建这个新的release分支开发,是?并且在未来的所有其他时间,您只需merge开发到发布,是?然后QA测试暂存环境中的release分支,一切看起来都很好,我们准备好部署到prod。你:部署到prod,然后将relea

git - `git merge -s theirs` 需要但不存在

我有许多远程存储库想要merge在一起。这些存储库中的一些子树对于远程是唯一的(它们包含特定于主机的数据),其他子树包含(应该)在所有远程中通用的数据。基本上,我想做的是为每个远程运行“gitpull”。这将沿着远程主机的跟踪分支快速转发本地主分支,用于在远程上更改的特定于主机的文件,并且不会对公共(public)文件执行任何操作,因为它们不会更改。公共(public)文件中的更改(称为F,更改为F')应该不是问题,即使它一开始只发生在一个远程文件上。git-merge将做正确的事并在我的复合工作区中给我一个F'的副本,这就是我想要的。如果相同的公共(public)文件在另一个远程(称

git - gitk 可以默认显示 merge 的差异吗?

目前对于没有冲突的mergegitk显示没有差异。是否有可能让merge产生的差异(确实存在,例如gitdiffHEAD~1在merge后显示这些差异)由defautl显示,例如使用命令行开关?或者为什么gitk默认不显示它们? 最佳答案 默认情况下,gitk与gitdiff的--cc选项做同样的事情,并压缩merge以仅显示差异block不要直接来自parent一方或另一方。这通常更有帮助,因为冲突是merge中有趣的部分,差异的其他部分已经出现在构成merge分支的提交的差异中。查看merge父项与merge提交之间完整差异的最

当 merge 实际完成时, merge 提交的 Git 还原会导致问题。

我们不小心将分支XYZmerge到DEV并将其推送到原始仓库。这是通过--no-ff完成的,以创建一个单独的merge提交。一旦我意识到错误的merge,我就做了一个gitrevert来创建一个还原提交并将它推出。一切都很好,很高兴......直到我们尝试将XYZ永久merge到开发中。最初的困惑是由于在merge的dev分支上找不到许多添加到XYZ的文件。然后我意识到DEV分支有还原提交,删除了所有由于merge而添加到XYZ和随后添加到DEV的文件。这是简化的事件链:$gitcheckoutdev$gitbranchxyz$gitcheckoutxyz$gitaddfiles/fo