1

我有 2 个远程分支,dev并且rls. 我们目前正在dev分公司工作。我的rls分支是空的/未动过。我想将特定的提交(sha-1 哈希)从dev分支rls移动。请指导我在 Git 中做同样的事情的最佳、安全和简单的方法。

谢谢...

4

3 回答 3

2

一种方法是使用git cherry-pick, 来选择要在rls分支上报告的确切提交。

有关更多信息,请参阅“谁能解释 git cherry-pick 的作用? ”。

然后就可以推rls送到对应的远程分支了。

所以:

  1. 在本地挑选樱桃,以便拥有一个看起来像您想要发布的东西 的rls 本地分支(推送)
  2. rls送到远程仓库
于 2013-05-09T03:33:09.150 回答
1

如果要移动所有代码,直到特定提交到 rls 分支,请使用git merge. 例如,

git checkout rls
git merge [SHA1 of last commit you are interested in]
于 2013-05-09T17:31:04.880 回答
1

如果您正在寻找某个任意提交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>
于 2013-05-09T18:55:21.997 回答