git:解决分支内的提交?

时间:2018-05-30 08:28:11

标签: git

到目前为止,我知道在git中解决提交的两种方法:

  • via commit-hash
  • 通过分支机构的名称

有没有办法解决现有分支中的commit-hash?

如果我签出了提交哈希,那么我就不在分支上。

如果我签出一个分支,那么我总是得到这个分支的最新提交。

如何解决分支内的提交?

2 个答案:

答案 0 :(得分:0)

使用git branch <new-branch-name> <commit-hash>创建一个名为<new-branch-name>的新分支,该分支从<commit-hash>标识的提交开始。然后,您可以git checkout <new-branch-name>开始处理它。

或者您可以一步将上述两个命令合并到a single command that does both operations中:

git checkout -b <new-branch-name> <commit-hash>

详细了解git checkoutgit branch。此外,与您的部分问题相关的是解释the various ways to specify a Git revision or a range of revisions的文档页面。

答案 1 :(得分:0)

如果您签出特定提交,则您不在分支机构上,这对您来说不属于分支机构。目前尚不清楚你实际想要实现的目标。

您可以做的一件事是在提交时创建一个新分支,然后切换到该分支:

$ git branch my-new-branch <commit-hash>
$ git checkout my-new-branch

这会使你的提交成为新分支的负责人并将其签出。

以git格式提交树,而分支只不过是指向其中一个提交的标签。提交可以是任意数量的分支的一部分,在许多情况下,将提交视为属于分支是没有意义的。