将分支向后移动一步以留下无分支标记的提交
Move branch one step back to leave a branchless tagged commit
这是我目前的情况,在分支draft
上工作:
* 51c716b (HEAD -> draft, tag: Printed, remote/draft) Dirty squeezing of the draft to be printed on as few pages as possible
* 9219af9 Draft ready for reading
* e3366b2 Making progress on the draft
* 163ab8f (master, remote/master) Create a draft
既然我已经收到了关于这个 Printed
版本草案的反馈,我希望
继续这个项目。显然,最新的提交 51c716b
(标记为
Printed
) is not the one I want to resume from: 我想从中恢复
9219af9
。但我不想松动 51c716b
.
下次commit后变成这样应该怎么办?
* b57cc00 (HEAD -> draft, remote/draft) Integrate feedback from readers.
| * 51c716b (tag: Printed) Dirty squeezing of the draft to be printed on as few pages as possible
|/
* 9219af9 Draft ready for reading
* e3366b2 Making progress on the draft
* 163ab8f (master, remote/master) Create a draft
(我也希望标签 Printed
在 remote
上可用。)
注意:我知道这会给在 draft
指向 51c716b
时拉动它的人带来麻烦。但我相信没有人做过这样的事情;)
您可能正在寻找 Reset。 Git 分支是指向提交的引用,因此您基本上希望将本地引用 draft
移动到指向 9219af9
。您可以这样做:
git reset --hard 9219af9
或者,如果您要使用 ancestry references:
git reset --hard HEAD~1
在那之后,您可能会创建一个新提交(在您的示例中为 b57cc00
),并且您必须更新 remote 引用 draft
(origin
中的那个)指向新的提交。你可以这样做:
git push origin draft --force-with-lease
This 会告诉遥控器您知道您是 "loosing" 51c716b
。但是,Git 仍会保留有引用指向它的提交,并且由于您在 51c716b
上有一个标记(也是一个引用),您将始终能够返回到它。如果您希望其他人(或您未来的自己)能够访问它,请确保推送您的标签:
git push origin Printed
这是我目前的情况,在分支draft
上工作:
* 51c716b (HEAD -> draft, tag: Printed, remote/draft) Dirty squeezing of the draft to be printed on as few pages as possible
* 9219af9 Draft ready for reading
* e3366b2 Making progress on the draft
* 163ab8f (master, remote/master) Create a draft
既然我已经收到了关于这个 Printed
版本草案的反馈,我希望
继续这个项目。显然,最新的提交 51c716b
(标记为
Printed
) is not the one I want to resume from: 我想从中恢复
9219af9
。但我不想松动 51c716b
.
下次commit后变成这样应该怎么办?
* b57cc00 (HEAD -> draft, remote/draft) Integrate feedback from readers.
| * 51c716b (tag: Printed) Dirty squeezing of the draft to be printed on as few pages as possible
|/
* 9219af9 Draft ready for reading
* e3366b2 Making progress on the draft
* 163ab8f (master, remote/master) Create a draft
(我也希望标签 Printed
在 remote
上可用。)
注意:我知道这会给在 draft
指向 51c716b
时拉动它的人带来麻烦。但我相信没有人做过这样的事情;)
您可能正在寻找 Reset。 Git 分支是指向提交的引用,因此您基本上希望将本地引用 draft
移动到指向 9219af9
。您可以这样做:
git reset --hard 9219af9
或者,如果您要使用 ancestry references:
git reset --hard HEAD~1
在那之后,您可能会创建一个新提交(在您的示例中为 b57cc00
),并且您必须更新 remote 引用 draft
(origin
中的那个)指向新的提交。你可以这样做:
git push origin draft --force-with-lease
This 会告诉遥控器您知道您是 "loosing" 51c716b
。但是,Git 仍会保留有引用指向它的提交,并且由于您在 51c716b
上有一个标记(也是一个引用),您将始终能够返回到它。如果您希望其他人(或您未来的自己)能够访问它,请确保推送您的标签:
git push origin Printed