繁体   English   中英

使用git rebase将提交移动到新分支

[英]moving commits to new branch with git rebase

我在Git中苦苦挣扎,无法将它们正确地归因于提交。 最新的两次提交最终位于不同的分支中(一个在主分支中,一个在pm / gitrev中)-但需要它们都在同一功能分支中彼此重叠(例如,新的东西,例如pm / git-version),我可以推送到远程存储库“ pm”,以便可以在GitHub上为origin / master创建适当的请求请求。

我当前的历史记录完全是线性的,看起来像:

$ git log --graph --pretty=format:"%h %d %s %n" -4
* 02f82ee  (HEAD -> git-version, pm/gitrev) Fail gracefully when operating on detached head 
| 
* 998d969  (pm/master, master) Change: Adopt the versioning scheme now with git 
| 
* c95db24  (origin/master, origin/HEAD) Added tag 0.4.5 for changeset e115586dd0a0 
| 
* 3418735  (tag: 0.4.5) Update: Changelog for release 

我基于998d969(master)创建了一个新分支,并将其他两个分支重新建立到该分支上,例如git rebase -b master git-version 但是我的历史是线性的,但是提交并没有像假定的那样改变分支。

git rebase我会错过什么? 如何从最前面的提交中删除所有分支信息,然后将它们移至基于源/主节点的联合分支,但又是新分支?

我可以重写远程仓库“ pm”的历史记录。

要将提交移动到另一个分支,可以使用命令git cherry-pick

git cherry-pick <commit-hash>

您可以在原始提交分支的日志中获取提交哈希:

git log

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM