我想找出其中並提交我添加如下代碼:Git:找出在哪個提交中添加了一個特定的代碼?
if (getListView().getChildCount() == 0)
getActivity().findViewById(android.R.id.empty).setVisibility(View.VISIBLE);
如何實現這一目標?
我想找出其中並提交我添加如下代碼:Git:找出在哪個提交中添加了一個特定的代碼?
if (getListView().getChildCount() == 0)
getActivity().findViewById(android.R.id.empty).setVisibility(View.VISIBLE);
如何實現這一目標?
在文件上運行git blame
。它會向您顯示提交ID,日期和時間,以及每個行的實施人員。然後只複製提交標識符,您可以在git log <commit>
或git show <commit>
中使用它。
例如,我有一個文件,名爲test.txt的,用線在不同的提交補充道:
$ cat test.txt
First line.
Second line.
運行git blame
:
$ git blame test.txt
^410c3dd (Leigh 2013-11-09 12:00:00 1) First line.
2365eb7d (Leigh 2013-11-09 12:00:10 2) Second line.
第一位是提交ID,名稱,日期,時間,時區,最後是行號和行內容。
有一些東西比對整個文件發出指責要快。如果線路${lineno}
,文件是${filename}
您可以:
git blame -L ${lineno},${lineno} ${filename}
例子:
git blame -L 2,2 test.txt
git log -S searchTerm
讓你在其中引入了搜索詞的提交。
問題是,這隻顯示當那些文件上次更改,而不是當他們被添加時。 – ensonic
@ensonic如果是這種情況,這個答案可能會很有趣(例如,行被移動或空白改變):http://stackoverflow.com/a/5816177/812680 – maartencls
有用的附加功能是grep結果'git blame test .txt | grep'First line'' –