硬重置后Git分支在哪里?

硬重置后Git分支在哪里?,git,Git,我的代码有问题,因此我使用以下命令回滚到上次提交: git reset --hard <7-digit-hash> 现在,当我发出git branch命令时,我只看到我的当前分支,而不是我的主分支和另一个分支。他们怎么了?有没有办法改变一些事情,让我继续像以前一样看到我所有的分支?我的代码问题随着我恢复到的这个分支而消失,所以我想保留它,提交它,并将它推回到我的远程。这是怎么回事?我怎么做这两件事?git branch文档并没有真正解释发生了什么。首先,检查git status和g

我的代码有问题,因此我使用以下命令回滚到上次提交:

git reset --hard <7-digit-hash>

现在,当我发出git branch命令时,我只看到我的当前分支,而不是我的主分支和另一个分支。他们怎么了?有没有办法改变一些事情,让我继续像以前一样看到我所有的分支?我的代码问题随着我恢复到的这个分支而消失,所以我想保留它,提交它,并将它推回到我的远程。这是怎么回事?我怎么做这两件事?git branch文档并没有真正解释发生了什么。

首先,检查git status和git branch-avv的输出:这将使您在当前状态下更具可见性

如果git回购中缺少任何commit、branch和tag,也请检查:您可以将它们恢复到原来的位置


如果您签出了当前分支,那么它的头被正确地重置为您提到的SHA1,因此这一部分很好。

首先,检查git status和git branch-avv的输出:这将使您在当前状态下更具可见性

如果git回购中缺少任何commit、branch和tag,也请检查:您可以将它们恢复到原来的位置

如果您签出了当前分支,则它的头部已正确重置为您提到的SHA1,因此此部分没有问题。

git reset仅影响当前分支。即使如此,它也只移动分支。它不会删除它。它也不会删除任何其他分支机构

不知何故,您使用其他命令删除了master的本地副本。当您执行git co master时,您创建了一个名为master的新本地分支,它与origin/master位于同一位置。要了解origin/下的分支,您需要了解有关所谓远程跟踪分支的更多信息。这些是远程存储库中分支的本地副本。请注意,它们是本地副本。当您执行与远程设备交互的命令(如git push、git pull或git fetch)时,它们会被更新

如果在删除本地主分支之前执行了git推送,那么origin/master与master处于相同的提交状态。您可以使用git log-all-oneline-decoration查看每个分支的位置。这将帮助您知道master是否返回到正确的提交位置。因为dev已经领先于您的原始主机,所以它将包含所有提交。如果要移动主机,可以使用git checkout master和git reset-这很难做到。

git reset只影响当前分支。即使如此,它也只移动分支。它不会删除它。它也不会删除任何其他分支机构

不知何故,您使用其他命令删除了master的本地副本。当您执行git co master时,您创建了一个名为master的新本地分支,它与origin/master位于同一位置。要了解origin/下的分支,您需要了解有关所谓远程跟踪分支的更多信息。这些是远程存储库中分支的本地副本。请注意,它们是本地副本。当您执行与远程设备交互的命令(如git push、git pull或git fetch)时,它们会被更新


如果在删除本地主分支之前执行了git推送,那么origin/master与master处于相同的提交状态。您可以使用git log-all-oneline-decoration查看每个分支的位置。这将帮助您知道master是否返回到正确的提交位置。因为dev已经领先于您的原始主机,所以它将包含所有提交。如果您想移动主机,可以使用git checkout master和git reset-这很难做到。

谢谢。git状态没有告诉我任何有用的东西。我确实做了git branch-avv,我可以看到我正在处理的本地开发分支和remotes/origin/HEAD、dev和master。然后我做了git联合主控,以确保我的主分支(dev是它的后代)仍然存在,并且它说切换到了一个新的分支“主控”,这让我很担心。git是否创建了一个全新的主分支而不是切换到我原来的主分支?那太糟糕了。我只想提交具有我还原的工作代码的开发人员,然后将开发人员合并回我原来的主控人员中。@Dave您看到主控人员或origin/master了吗?同样,如果您有一个本地master分支,您仍然可以在git reflog中看到它。@Dave听起来好像您不知何故删除了master的本地副本。在执行git co-master时,您创建了一个名为master的新本地分支,该分支与origin/master位于同一位置,称为远程跟踪分支。换句话说,它是远程存储库中master的本地副本。如果在删除本地主分支之前执行了git推送,那么origin/master与master处于相同的提交状态。您可以使用git log-all-oneline-decoration查看每个分支的位置。谢谢。git状态没有告诉我任何有用的东西。我确实做了git branch-avv,我可以看到我正在处理的本地开发分支和remotes/origin/HEAD、dev和master。然后,我做了git co master,以确保我的主分支
dev是was仍然在那里的一个后代,它说切换到了一个新的分支“master”,这让我很担心。git是否创建了一个全新的主分支而不是切换到我原来的主分支?那太糟糕了。我只想提交具有我还原的工作代码的开发人员,然后将开发人员合并回我原来的主控人员中。@Dave您看到主控人员或origin/master了吗?同样,如果您有一个本地master分支,您仍然可以在git reflog中看到它。@Dave听起来好像您不知何故删除了master的本地副本。在执行git co-master时,您创建了一个名为master的新本地分支,该分支与origin/master位于同一位置,称为远程跟踪分支。换句话说,它是远程存储库中master的本地副本。如果在删除本地主分支之前执行了git推送,那么origin/master与master处于相同的提交状态。您可以使用git log-all-oneline-decoration查看每个分支的位置。