具体到操作和描述可以参考这个文章
http://www.360doc.com/content/22/0417/14/532901_1026935422.shtml
所以我要如何才能避免这个问题,同时能达到这个效果呢?
使用场景
因为分支A除了线上bug或者紧急需求的提交,其他的代码都是落后于分支B的
如果我使用 merge 或者 rebase 又容易出现大量的冲突
所以我采用了 cherry-pick 来实现,但是又容易显示重复提交的问题
所以开发分支B的时候,采取什么方式将线上分支A部分提交合并到分支B,是最好的方式呢?
强行同步分支就行了。用reset --hard
同步分支之后push -f
同步远程仓库,你只能这么做,也是我们一直的做法。
使用 rebase
很遗憾,根据您提供的信息,避免使用 git cherry-pick
后再进行合并可能导致重复提交的最佳方法并不明确。
在 Git 中,cherry-pick
命令用于选择某个提交进行应用,而不是将整个分支的内容合并到当前分支。这可能会导致在合并过程中出现重复的提交,特别是当您已经从目标分支中拉取了这些提交的情况下。
在操作上,您可能需要进行以下步骤以避免出现重复提交:
git fetch
命令更新您的本地仓库,以确保您拥有最新的提交信息。git merge
命令而不是 git cherry-pick
来将目标分支的内容合并到当前分支。这将确保您的合并操作不会产生重复提交。cherry-pick
的提交,那么您可能需要使用 git revert
命令来创建一个新的提交,以撤销该提交并恢复您的更改。git push
命令将您的更改推送到远程仓库。请注意,这些步骤可能会根据您的具体需求和情况而有所不同。如果您需要更详细的指导或帮助,请提供更多关于您的项目结构和提交历史的信息。
命名 git-cherry-pick - 应用一些现有提交引入的更改 概要 git cherry-pick [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] [-S[<keyid>]] <commit>… git cherry-pick --continuegit cherry-pick --quit git ch
有人遇到这种场景吗 revert的分支无法再次merge进去 就是你有featureA分支 要合到主分支 结果遇到一些情况 比如当天不能发布 所以又把featureA分支revert了出来 过了几天允许发布了 再把featureA合进主分支 发现没有任何diff和commit 就是git识别不出你在featureA上做的改动了
为了节省时间,这个教程使用现有的历史记录作为本地数据库。 从这里下载 我们进入stepup-tutorial/tutorial4目录。本地端历史记录的状态如下图显示。仅把在其他分支执行的「添加commit的讲解」的修改导入到master分支。 把修改移动到master分支后,用cherry-pick 取出「添加commit的讲解」提交,然后将其添加到master。(文档里的提交"99daed2"和
我怎样才能缩短这个,而不是用一打或的
我对下面的程序有一个问题 请看下面的程序 我所期望的是,一旦我运行这个程序,我会认为putput是最好的,但令我惊讶的是,输出是测试。 谁能告诉我,为什么会这样?? 提前感谢。
我在GitLab上有以下提交: 我想删除第三次和第四次提交,因此我认为第一次通过以下方式恢复到第二次提交: 然后从第5次提交开始应用樱桃采摘: 1.上述方法通过删除第3次和第4次提交来获得最后一次提交是否正确? 2.对于这种情况,有没有更好的方法?