我有2个远程分支,dev
和rls
。我们目前正在研究dev
分支机构。我的rls
分支是空的/未触及的。我想将特定提交(sha-1哈希)从dev
移动到rls
分支。请指导我在Git中做到最好,安全和简单的方法。
...谢谢
答案 0 :(得分:2)
一种方法是使用git cherry-pick
,以便选择要在rls
分支上报告的确切提交。
有关详情,请参阅“Can anyone explain what git cherry-pick does?”。
然后您可以将rls
推送到相应的远程分支。
所以:
rls
本地分支,看起来像你要发布的内容(推送)rls
推送到远程仓库答案 1 :(得分:1)
如果要将所有代码移动到rls分支的特定提交,请使用git merge
。例如,
git checkout rls
git merge [SHA1 of last commit you are interested in]
答案 2 :(得分:1)
如果您正在寻找rls
作为某个任意提交的dev
分支的快照,您可以使用git reset
将分支指针移动到您要查找的提交。确保在执行此操作时没有未分期更改。
git checkout rls
git reset --hard <SHA-1 of commit in dev>
示例强>:
如果dev
看起来像:
A - B - C - D
,您希望rls
看起来像:
A - B
你会做的
git checkout rls
git reset --hard <sha-1 of B>
但是,如果要选择要推送到rls
的更具体的提交范围,则需要使用git cherry-pick
命令。
git checkout rls
git cherry-pick <non-inclusive-starting-SHA1>..<inclusive-ending-SHA1>