簡體   English   中英

為什么我使用“ git show”看到提交,但是在“ git log”中看不到提交?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM