草庐IT

rebase-merge

全部标签

Git octopus merge 不相关的仓库

我有一堆git存储库,每个存储库包含一个文件。我想将它们全部merge在一起,最好是一步完成。我的目标是这张图:*----¬mergedrepo/master|\\\|||*repoA/master||*repoB/master|||||*repoB/...|*repoC/master*repoD/master|*repoD/...我尝试了gitmerge,但Octopus策略似乎不适用于不相交的树$gitmergea/masterb/masterc/masterd/masterUnabletofindcommoncommitwitha/masterAutomaticmergefail

git - 标签可以在 git filter-branch 和 rebase 之后自动移动吗?

编辑问题归结为“gitrebase也可以被指示为标签rebase吗?”但对原始问题的回答也会有所帮助。询问Howtoprependthepasttoagitrepository?我关注了theseinstructions.编辑>然后我重新定位以包含一个只在快照中的文件,参见here./edit>由于历史被重写(由gitfilter-branch或gitrebase或两者?)所有标签仍在原始时间线上*,我想以某种方式将它们移动到新的一个。我想我让所有带有标签的提交消息都是独一无二的,这样我就可以尝试编写一个使用它们的脚本,但是更通用的gitmove-tags会更好。那么,有没有办法解决“

尝试修复损坏的文件后 git-svn fetch/rebase 失败

我最近在我的存储库中有一个损坏的对象,指向我的HEAD(该对象是空的)。它发生在中断git-svn命令之后。然后,我通过手动更改此对象上的引用来恢复我的存储库。现在,我想将我的git存储库与SVN同步,但是gitsvnfetch返回:fatal:Invalidrevisionrange5a5dc92cd3083960fb4828ae387a32cda0554fa8..refs/remotes/a-branchrev-list--pretty=raw--no-color--reverse5a5dc92cd3083960fb4828ae387a32cda0554fa8..refs/remo

git merge 不 merge

对于我正在处理的代码库,我有一个主分支和“PersonalSite”分支。一直反复尝试将mastermerge到PersonalSite分支,无果。这一次,我认为我已经理顺了一切,所以我做到了:gitcheckoutmastergitpullgitcheckoutPersonalSitegitpullgitmergemaster看起来一切正常,它列出了我期望的文件集,但存在冲突。冲突是正确的并且符合预期,所以我修复了它,执行了“gitadd”、“gitcommit”,然后是“gitpush”。但是现在,当我查看我的git日志时,它只显示没有代码更改但有一个冲突的提交。现在,当我从“Pe

.net - 为什么我的 .csproj 文件在 git rebase 后变得困惑?

在一个使用GIT进行源代码控制的.NETC#项目中,在rebase以获取最近提交的代码后,我不断收到格式错误的csproj文件。这是我的过程:提交我的代码构建和运行测试rebase为“获取最新”天哪,csproj文件搞砸了......又一次这是rebase的输出:D:\GitHub\AwesomeProject>gitrebasemasterFirst,rewindingheadtoreplayyourworkontopofit...Applying:addedgetstatuscallUsingindexinfotoreconstructabasetree...MHost/Host.

pull 后 git rebase

如果我直接在master上工作(我尽量不这样做),我通常会使用gitpull--rebase。如果我忘记做一个rebase而只是做了gitpull,有没有办法撤消它并使其线性化,而不是进行merge?在这一点上做一个rebase是不是一个坏主意(如果那甚至可以完成任何事情的话)?我知道我可以默认在pull上启用rebase,所以我不会忘记,但这更多的是理解在这种情况下该做什么的问题。 最佳答案 简短的回答(已经由@Alex在评论中给出):gitreset--hardHEAD^,但是只有在有merge提交的情况下(否则你只是从快进备份

git - 在 git svn dcommit 之前是否需要 git svn rebase?

我正在阅读有关使用git作为svn客户端的信息:http://learn.github.com/p/git-svn.html该页面建议您在gitsvndcommit之前执行gitsvnrebase,这非常有道理;这就像在执行svn提交之前执行svn更新。然后,我开始查看gitsvndcommit的文档(我想知道“d”是什么意思):http://git-scm.com/docs/git-svn你必须向下滚动一点才能看到关于dcommit的文档,它是这样说的:CommiteachdifffromaspecifiedheaddirectlytotheSVNrepository,andthen

git - 删除 merge 提交,保留当前更改

我们的团队遇到了一个小问题。一位开发人员必须在我们的开发分支中包含一些更改。在此之前,他不小心merge了一个功能分支(当时不应该merge)并继续处理这些更改,并在merge后生成了几个提交。现在我们想要保留这些更改,但在merge完成之前将它们应用到提交中。为了清楚起见:A(+b,+a)|B(+a)|C(mergecommit)|\D\|E(featurebranch)|/|/F我们希望他的更改(+a,+b)应用于提交D。相当于:C(+a,+b)|D|E(featurebranch)|/|/F我们如何提交更改以取消先前的merge并保留本地更改? 最佳答

git - 使用git日志显示 merge 期间更改的文件

我正在执行以下命令:gitlog--name-only–pretty="format:%H%s"--*.sql--grep="JIRA-154"它以以下格式返回结果:[commitid1][comment]path/to/file1/file1.sqlpath/to/file2/file2.sqlpath/to/file3/file3.sql[commitid2][comment]path/to/file2/file2.sqlpath/to/file4/file4.sql输出重定向到文件,并且格式正是我要的格式,但是合并提交是个问题。合并中更改过的文件永远不会列出。相反,我最终得到如下

svn - Git SVN 和 merge 分支

我正在做一个有两个分支的svn项目,我们称它们为trunkbranches/foo我的想法是克隆整个svn存储库(告诉git哪个文件夹是主干、标签和分支),在git中进行merge,然后将我的merge复制到svn工作副本并从svn提交更改。在此工作流程中,我是否能够使用gitsmerge功能,还是仅适用于使用git本身创建的分支? 最佳答案 为checkout命令创建别名:gitconfigalias.cocheckout确保您的本地分支机构是最新的:gitcomaster#checkoutbranchthattrackssubv