我有一个分支机构和一个分支机构。git reset --hard <sha1>。这是否删除了一切?
我有一个提交SHA1 ID说在开发4356xyz。我希望能够处于前沿。所以,我检查了前沿,做
git reset --hard 4356xyz
现在,当我做git log
我看到两个分支的历史已经成为一致。 有没有一种方法可以让我在复位前恢复先前分支的历史?
我有一个分支机构和一个分支机构。git reset --hard <sha1>。这是否删除了一切?
我有一个提交SHA1 ID说在开发4356xyz。我希望能够处于前沿。所以,我检查了前沿,做
git reset --hard 4356xyz
现在,当我做git log
我看到两个分支的历史已经成为一致。 有没有一种方法可以让我在复位前恢复先前分支的历史?
git reset --hard 4356xyz
已将您的cutting-edge
分支指向该提交。如果这与dev
指向的是相同的提交,那么是的,它们将共享相同的历史,因为它们现在指向相同的提交。
您可以检查git reflog
找出你的分支cutting-edge
指出之前你叫去点它在提交4356xyz
。在未来,如果您想要将一个分支的提交添加到另一个分支,您需要合并分支或挑选特定的提交。
要拉只是提交4356xyz
,你会git checkout cutting-edge
然后git cherry-pick 4356xyz
。
是的,您可以使用git reflog
命令来显示分支头的位置。选择你想要的提交,并用该提交使用git reset --hard
。
你觉得'git reset --hard'会做什么? – meagar 2012-08-14 05:34:43
我以为它会做樱桃采摘..'git cherry-pick 4356xyz'。后来才发现,将头指向该提交。 – 2012-08-14 06:47:58