2012-05-08 44 views
0

如何獲得哪些提交發生了更改?檢測提交列表中發生的特定更改

我有67個提交請求。最後的差異代碼存在錯誤,代碼應該在那裏並且正在被刪除。我如何解決這樣的事情?我如何知道在哪個提交中改變最終合併比較的那段代碼?

+1

這個問題已經回答了:http://stackoverflow.com/questions/554660/how-to-search-a-git-repository-history-to-find-a-merge-error – gview

+0

@gview如果有的話,那不是那個問題。這是關於合併後應該做什麼,而不是在請求請求期間。 – brunoais

+2

你的問題是哪個提交讓你失去了「一段代碼」。隔離一塊缺失的行,並使用git log .. -S「我關心的行」--diff-filter = M – gview

回答

0

如果你知道這是什麼缺少的一段代碼是你可以做:

git log -p 

,然後失蹤一段代碼通過搜索並提交刪除。

+0

-p用於生成修補程序。我沒有嘗試做一個補丁,但。我試圖找出在哪些提交中發生了這些更改。 – brunoais

+1

是的,這些補丁是「每次提交」的,所以你可以搜索輸出,直到找到特定的代碼片段,並且該片段的標題部分將是提交ID。 – drb9979

0

過濾的文件路徑也可以讓你快速的答案,往往:

git log --pretty=oneline -- src/main/java/com/brunoais/Foo.java

這將只顯示影響的文件src/main/java/com/brunoais/Foo.java的提交,在輸出的右欄意見。

下面是故障。

  • --部分是路徑規範前綴。它可以應用於其他git命令,而不僅僅是git-log。 (它通常可選的; GIT中只需要--如果有歧義,例如,如果文件路徑恰好是一樣的分支的名稱。)

  • --pretty=oneline部使輸出簡潔。