671 Stimmen

Das Commit-Protokoll für eine bestimmte Zeile in einer Datei abrufen?

Gibt es eine Möglichkeit, Git dazu zu bringen, Ihnen ein Commit-Protokoll nur für Commits zu geben, die eine bestimmte Zeile in einer Datei?

Wie git blame aber git blame zeigt Ihnen die LETZTE Übergabe an, die eine bestimmte Zeile berührt hat.

Ich würde gerne ein ähnliches Protokoll erhalten, nicht die Liste der Übertragungen an einer beliebigen Stelle der Datei, sondern nur die Übertragungen, die eine bestimmte Zeile berührt haben.

3 Stimmen

Siehe auch Schuld zuweisen

817voto

Matt McClure Punkte 15289

Siehe auch Git: discov .


Seit , git log tiene -L zu konkurrieren

Zum Beispiel, git blame Ausgang. Hier -L 150,+11 bedeutet

$ git blame -L 150,+11 -- git-web--browse.sh
a180055a git-web--browse.sh (Giuseppe Bilotta 2010-12-03 17:47:36 +0100 150)            die "The browser $browser is not
a180055a git-web--browse.sh (Giuseppe Bilotta 2010-12-03 17:47:36 +0100 151)    fi
5d6491c7 git-browse-help.sh (Christian Couder 2007-12-02 06:07:55 +0100 152) fi
5d6491c7 git-browse-help.sh (Christian Couder 2007-12-02 06:07:55 +0100 153) 
5d6491c7 git-browse-help.sh (Christian Couder 2007-12-02 06:07:55 +0100 154) case "$browser" in
81f42f11 git-web--browse.sh (Giuseppe Bilotta 2010-12-03 17:47:38 +0100 155) firefox|iceweasel|seamonkey|iceape)
5d6491c7 git-browse-help.sh (Christian Couder 2007-12-02 06:07:55 +0100 156)    # Check version because firefox < 2.0 do
5d6491c7 git-browse-help.sh (Christian Couder 2007-12-02 06:07:55 +0100 157)    vers=$(expr "$($browser_path -version)" 
5d6491c7 git-browse-help.sh (Christian Couder 2007-12-02 06:07:55 +0100 158)    NEWTAB='-new-tab'
5d6491c7 git-browse-help.sh (Christian Couder 2007-12-02 06:07:55 +0100 159)    test "$vers" -lt 2 && NEWTAB=''
a0685a4f git-web--browse.sh (Dmitry Potapov   2008-02-09 23:22:22 -0800 160)    "$browser_path" $NEWTAB "$@" &

Und du

Dann verwenden Sie git log . Hier, -L 155,155:git-web--browse.sh bedeutet "tr git-web--browse.sh ".

$ git log --pretty=short -u -L 155,155:git-web--browse.sh
commit 81f42f11496b9117273939c98d270af273c8a463
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>

    web--browse: support opera, seamonkey and elinks

diff --git a/git-web--browse.sh b/git-web--browse.sh
--- a/git-web--browse.sh
+++ b/git-web--browse.sh
@@ -143,1 +143,1 @@
-firefox|iceweasel)
+firefox|iceweasel|seamonkey|iceape)

commit a180055a47c6793eaaba6289f623cff32644215b
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>

    web--browse: coding style

diff --git a/git-web--browse.sh b/git-web--browse.sh
--- a/git-web--browse.sh
+++ b/git-web--browse.sh
@@ -142,1 +142,1 @@
-    firefox|iceweasel)
+firefox|iceweasel)

commit 5884f1fe96b33d9666a78e660042b1e3e5f9f4d9
Author: Christian Couder <chriscool@tuxfamily.org>

    Rename 'git-help--browse.sh' to 'git-web--browse.sh'.

diff --git a/git-web--browse.sh b/git-web--browse.sh
--- /dev/null
+++ b/git-web--browse.sh
@@ -0,0 +127,1 @@
+    firefox|iceweasel)

75voto

Adam Dymitruk Punkte 116211

Sie können

git log -S'the line from your file' -- path/to/your/file.txt

Diese

Wenn Sie möchten

git log ... | xargs -n 1 git show

69voto

jitendrapurohit Punkte 8899

Versuchen Sie es mit dem folgenden Befehl

git log -u -L <upperLimit>,<lowerLimit>:<path_to_filename>

Also, upperLimit & lowerLimit ist der Tou line_number

Mehr Informationen aquí .

25voto

Swaps Punkte 1330

Vereinfachen unter

git blame -L14,15 -- <file_path>

Hier 14 to 15 .

Desde -L opti Range als p Blame für -L Option .

Siehe

22voto

Cory Klein Punkte 45444

Eine extrem einfache vim-fugiti . Jus V und geben Sie dann

:Glog

Jetzt können Sie :cnext y :cprev zu :Gblame t

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X