0

我可以看到使用“git show 9a6fe03”的提交

但是当我使用“git log”并搜索“9a6fe03”时,我什么也看不到。

当我执行 'git grep 9a6fe03' 时,它也没有返回任何内容。

你能告诉我为什么吗?

谢谢你。

更新:当我使用 $git branch --all --contains 9a6fe03 时,我找到了我的提交

git branch --all --contains 956ae03

  remotes/my-git/branch1
  remotes/my-git/branch2
  remotes/my-git/branch3

但是当我这样做时我什么也没看到

git branch --contain 9a6fe03

我什么都得不到。

我的问题是我现在在哪个分支?当我做 '

 $ git branch
* (no branch)

我想我在一个叫做“分离的头”的舞台上,但是当我做“回购同步”时,我得到了其他人的提交?

4

1 回答 1

1

多个问题,多个答案。:)

1. 日志 vs. 显示 vs. grep

  • git show 9a6fe03将向您展示该单一提交。(包括更改。)
  • git log 9a6fe03还将向您展示该提交及其所有祖先。
  • git log(不带任何参数)将向您显示当前提交(HEAD)及其所有祖先。

如果 HEAD 不是您提交的祖先,则不会显示。

git grep完全不同。它会查看您的文件中的给定文本。由于可能没有文件会包含字符串“9a6fe03”,因此您不会得到任何输出。

2. 提交在哪个分支

还有两种不同的分支:本地分支和远程分支。-git branch只显示本地分支 -git branch -r只显示远程分支 -git branch -a将显示本地和远程分支

在您的情况下,提交仅包含在远程分支中。因此,您只会在指定-ror -a(= --all) 时看到它。

3. 我在哪个分支

由于您目前在“无分支”(又名分离的 HEAD),所以您正式在,嗯,没有分支。;)

您当前可能会看到代码的任何(可能很旧)版本,甚至碰巧在与分支的 HEAD 对应的提交上。

您可以尝试git log --decorate --graph- 如果有的话,它将在您的提交旁边显示任何类型的引用(如分支、标签等)。

于 2012-12-02T19:54:59.907 回答