![](/img/trans.png)
[英]I cannot find some of my commits in git log, but I can see it using git show, why?
[英]Why i see a commit using 'git show', but I don't see it in 'git log'?
我可以使用'git show 9a6fe03'查看提交
但是,當我使用“ git log”並搜索“ 9a6fe03”時,什么也沒看到。
當我執行“ git grep 9a6fe03”時,它也不會返回任何內容。
你能告訴我為什么嗎?
謝謝。
更新 :我在使用$ git branch --all --contains 9a6fe03時找到了自己的提交
git branch --all-包含956ae03
remotes/my-git/branch1
remotes/my-git/branch2
remotes/my-git/branch3
但是我什么都沒看到
git branch --contain 9a6fe03
我什么都沒有。
我的問題是我現在在哪個分支上? 當我做 '
$ git branch
* (no branch)
我認為我處於一個稱為“獨立頭”的舞台上,但是當我執行“回購同步”時,我會得到其他人的提交嗎?
多個問題,多個答案。 :)
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
將同時顯示本地和遠程分支
在您的情況下,提交僅包含在遠程分支中。 因此,只有在指定-r
或-a
(= --all
)時,您才能看到它。
3.我在哪個分支上
由於您當前位於“無分支”(又稱分離的HEAD),因此您正式處於無分支狀態。 ;)
您當前可能會看到任何(可能是很舊的)代碼版本,甚至碰巧是與分支的HEAD對應的提交。
您可以嘗試git log --decorate --graph
如果有提交,它將在您的提交旁邊顯示任何類型的引用(例如分支,標簽等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.