簡體   English   中英

如何通過提交消息在存儲庫中找到git提交?

[英]How to find git commits in the repository by commit message?

我們最近將SVN存儲庫轉換為GIT。 似乎我們通過此轉換丟失了一些提交,並希望驗證這一點。

因此,我們希望為每個svn提交找到匹配的git提交,以檢查轉換是否實際發生。

$ git log|grep "some partial commit message"不夠的,因為它只遍歷直接的ancenstors並忽略不是直接祖先的分支。

$ git show <commit-hash>不起作用,因為svn沒有sha1sums。

我找到的最接近的東西是: $ git reflog show --all --grep="releasenotes"|xargs git show --shortstat然而這似乎並不完全有效,因為它似乎在更多地方grep而不僅僅是提交消息(我們得到了誤報)。

我也嘗試使用這個: $ git rev-list --all|xargs -n1 bash -c 'git show|head -n10'|grep -i release

基本上我沒有一個很好的方法來打印沒有差異的提交消息。

[編輯]

我不完全確定,但我想這應該列出存儲庫中的所有提交消息。

git rev-list --all|xargs -n1 git log -n1

你可以使用git log--all選項

git log --all --oneline --graph --decorate | grep "message"

這相當於

git log --all --oneline --graph --decorate --grep "message"

或者,如果您希望擁有上下文並且沒有很多提交,那么您可能希望執行類似的操作

git log --all --oneline --graph --decorate | less
/ message

而且這樣你可以看到你的提交是相對於其他的提交。

你可以使用git log--grep選項:

$ git log --all --grep=word

請參閱“ 如何為某個單詞grep git提交 ”:這用於grepping提交消息

您也可以使用GUI。

gitk

它將打開一個GUI,然后在包含框中編寫您的提交消息,並按Enter鍵。

它將突出顯示所有匹配的提交。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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