我如何将我最近的承诺转移到一个新的分支机构,并在这些承诺完成之前重新定义主? 例如:
master A - B - C - D - E
为此:
newbranch C - D - E
/
master A - B
我如何将我最近的承诺转移到一个新的分支机构,并在这些承诺完成之前重新定义主? 例如:
master A - B - C - D - E
为此:
newbranch C - D - E
/
master A - B
当前回答
你可以做到这一点只是我使用的3个简单步骤。
1)做一个新的分支,你想承诺你最近的更新。
git branch <branch name> 品牌名称
2) 查找最近的承诺 ID 为承诺新分支。
登录
3) 复制的承诺ID 注意,最最近的承诺列表发生在顶部,所以你可以找到你的承诺。
git cherry-pick d34bcef232f6c...
你也可以提供一些承诺ID的范围。
git cherry-pick d34bcef...86d2aec
现在你的工作完成了,如果你选择了正确的ID和正确的分支,那么你会成功,所以在做这件事之前要小心,否则另一个问题可能会出现。
现在你可以按下你的代码
点击Push
其他回答
要做到这一点,而不重写历史(即如果您已经推出了承诺):
git checkout master
git revert <commitID(s)>
git checkout -b new-branch
git cherry-pick <commitID(s)>
那么,两支分支都可以在没有武力的情况下被推动!
你可以做到这一点只是我使用的3个简单步骤。
1)做一个新的分支,你想承诺你最近的更新。
git branch <branch name> 品牌名称
2) 查找最近的承诺 ID 为承诺新分支。
登录
3) 复制的承诺ID 注意,最最近的承诺列表发生在顶部,所以你可以找到你的承诺。
git cherry-pick d34bcef232f6c...
你也可以提供一些承诺ID的范围。
git cherry-pick d34bcef...86d2aec
现在你的工作完成了,如果你选择了正确的ID和正确的分支,那么你会成功,所以在做这件事之前要小心,否则另一个问题可能会出现。
现在你可以按下你的代码
点击Push
如果你是像我这样的人,你正在使用Visual Studio,那么你可以这样做:在我的情况下,我想把最新的承诺交给另一个分支。
右键单击前一个(委托)。
此分類上一篇
因此,所有承诺变更将出现在 Git 变更板上。
此分類上一篇
到您的目标分支或从右下角创建一个新的分支。
此分類上一篇
在“Git Changes”中,双击您的最新 Stash. “Stash details” 面板将被打开. 点击“Pop”,然后解决冲突(如果存在)。
此分類上一篇
最后,做你的改变。
從其他文章中採取一些想法,避免任何與重新安裝有關的事情,並且非常偏見,我的解決方案是:
git 分支 # 更改可在新分支 git 推 # 上传,您可能需要与“--set-upstream”混淆,例如 git 推 --set-upstream https:/// 检查新分支在 git 通过 GUI 破坏现行目录从 git 存储库重新克隆
我不自豪,但我保留了我的数据。
还有另一种方法来做到这一点,只使用2个命令,同时保持您的当前工作树无缝。
git checkout -b newbranch # switch to a new branch
git branch -f master HEAD~3 # make master point to some older commit
旧版本 - 在我学到 git branch -f 之前
git checkout -b newbranch # switch to a new branch
git push . +HEAD~3:master # make master point to some older commit
能夠推到. 是一個好技巧知道。