我可以使用'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)
我想我在一个名为'独立头'的舞台上 但是当我做'repo sync'时,我得到其他人的承诺?
答案 0 :(得分:1)
多个问题,多个答案。 :)
<强> 1。 log vs. show vs. grep
git show 9a6fe03
会向您显示单个提交。 (包括变更。)git log 9a6fe03
还会向您显示该提交及其所有祖先。git log
(没有任何参数)会显示当前提交(HEAD)及其所有祖先。如果HEAD不是您提交的祖先,则不会显示。
git grep
完全不同。它会查看给定文本的文件。
由于可能没有文件包含字符串“9a6fe03”,因此您将无法输出。
<强> 2。
上的提交是什么分支还有两种不同的分支:本地分支和远程分支。
- git branch
只会显示本地分支机构
- git branch -r
仅显示远程分支
- git branch -a
将显示本地和远程分支
在您的情况下,提交仅包含在远程分支中。因此,您只能在指定-r
或-a
(= --all
)时看到它。
第3。我在哪个分支
因为你现在处于“没有分支”(也就是独立的HEAD),所以你正式开始,好吧,没有分支。 ;)
您当前可能会看到代码的任何(可能很旧)版本,或者甚至恰好位于与分支的HEAD相对应的提交中。
你可以尝试git log --decorate --graph
- 如果有的话,那将在你的提交旁边显示任何类型的引用(如分支,标签等)。