我有 2 个远程分支,dev并且rls. 我们目前正在dev分公司工作。我的rls分支是空的/未动过。我想将特定的提交(sha-1 哈希)从dev分支rls移动。请指导我在 Git 中做同样的事情的最佳、安全和简单的方法。
谢谢...
一种方法是使用git cherry-pick, 来选择要在rls分支上报告的确切提交。
有关更多信息,请参阅“谁能解释 git cherry-pick 的作用? ”。
然后就可以推rls送到对应的远程分支了。
所以:
rls 本地分支(推送)rls送到远程仓库如果要移动所有代码,直到特定提交到 rls 分支,请使用git merge. 例如,
git checkout rls
git merge [SHA1 of last commit you are interested in]
如果您正在寻找某个任意提交rls的分支的快照,您可以使用将您的分支指针移动到您正在寻找的提交。确保在执行此操作时没有未暂存的更改。devgit 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>