Sök…


Syntax

  • git log [alternativ] [revisionsområde] [[-] sökväg ...]

parametrar

Parameter Förklaring
-q, - tyst Tyst, undertrycker diff-utgången
--källa Visar källa för engagemang
--Använd-mailmap Använd e-postkartfil (ändrar användarinformation för användaren)
--decorate [= ...] Dekorera alternativ
--L <n, m: fil> Visa logg för specifikt rader i en fil, räknat från 1. Startar från rad n, går till rad m. Visar också diff.
--show-signatur Visa signaturer av signerade åtaganden
-i, --regexp-ignorera fall Matcha de vanliga uttrycksbegränsande mönstren utan hänsyn till bokstavsfall

Anmärkningar

Referenser och aktuell dokumentation : officiell dokumentation för git-log

"Vanlig" Git-logg

git log

kommer att visa alla dina åtaganden med författaren och hash. Detta kommer att visas över flera rader per åtagande. (Om du vill visa en enda rad per engagemang, titta på onlinebearbetning ). Använd q knappen för att avsluta loggen.

Som standard, utan argument, listar git-logg de åtaganden som gjorts i det förvaret i omvänd kronologisk ordning - det vill säga de senaste åtagandena dyker upp först. Som ni ser, listar detta kommando varje åtagande med sin SHA-1-kontrollsumma, författarens namn och e-postadress, det skrivna datumet och åtagandemeddelandet. - källa

Exempel (från Free Code Camp- arkivet):

commit 87ef97f59e2a2f4dc425982f76f14a57d0900bcf
Merge: e50ff0d eb8b729
Author: Brian <[email protected]>
Date:   Thu Mar 24 15:52:07 2016 -0700

    Merge pull request #7724 from BKinahan/fix/where-art-thou
    
    Fix 'its' typo in Where Art Thou description

commit eb8b7298d516ea20a4aadb9797c7b6fd5af27ea5
Author: BKinahan <[email protected]>
Date:   Thu Mar 24 21:11:36 2016 +0000

    Fix 'its' typo in Where Art Thou description

commit e50ff0d249705f41f55cd435f317dcfd02590ee7
Merge: 6b01875 2652d04
Author: Mrugesh Mohapatra <[email protected]>
Date:   Thu Mar 24 14:26:04 2016 +0530

    Merge pull request #7718 from deathsythe47/fix/unnecessary-comma
    
    Remove unnecessary comma from CONTRIBUTING.md

Om du vill begränsa ditt kommando till senast n kommitterar logg kan du helt enkelt skicka en parameter. Om du till exempel vill lista de senaste två loggarna

git log -2 

Oneline-logg

git log --oneline

kommer att visa alla dina åtaganden med bara den första delen av hash- och engagemeddelandet. Varje åtagande kommer att vara i en enda rad, som oneline antyder.

Online-alternativet skriver ut varje engagemang på en enda rad, vilket är användbart om du tittar på många åtaganden. - källa

Exempel (från Free Code Camp- förvaret, med samma kodavsnitt från det andra exemplet):

87ef97f Merge pull request #7724 from BKinahan/fix/where-art-thou
eb8b729 Fix 'its' typo in Where Art Thou description
e50ff0d Merge pull request #7718 from deathsythe47/fix/unnecessary-comma
2652d04 Remove unnecessary comma from CONTRIBUTING.md
6b01875 Merge pull request #7667 from zerkms/patch-1
766f088 Fixed assignment operator terminology
d1e2468 Merge pull request #7690 from BKinahan/fix/unsubscribe-crash
bed9de2 Merge pull request #7657 from Rafase282/fix/

Om du vill begränsa ditt kommando till senast n kommitterar logg kan du helt enkelt skicka en parameter. Om du till exempel vill lista de senaste två loggarna

git log -2 --oneline

Snyggare logg

För att se loggen i en vackrare grafliknande struktur, använd:

git log --decorate --oneline --graph

provutgång:

* e0c1cea (HEAD -> maint, tag: v2.9.3, origin/maint) Git 2.9.3
*   9b601ea Merge branch 'jk/difftool-in-subdir' into maint
|\  
| * 32b8c58 difftool: use Git::* functions instead of passing around state
| * 98f917e difftool: avoid $GIT_DIR and $GIT_WORK_TREE
| * 9ec26e7 difftool: fix argument handling in subdirs
* |   f4fd627 Merge branch 'jk/reset-ident-time-per-commit' into maint
...

Eftersom det är ett ganska stort kommando kan du tilldela ett alias:

git config --global alias.lol "log --decorate --oneline --graph"

Så här använder du aliasversionen:

# history of current branch :
git lol

# combined history of active branch (HEAD), develop and origin/master branches :
git lol HEAD develop origin/master

# combined history of everything in your repo :
git lol --all

Logga med ändringar inline

För att se loggen med ändringar inline använder du -p eller --patch .

git log --patch

Exempel (från Trello Scientist- förvaret)

ommit 8ea1452aca481a837d9504f1b2c77ad013367d25
Author: Raymond Chou <[email protected]>
Date:   Wed Mar 2 10:35:25 2016 -0800

    fix readme error link

diff --git a/README.md b/README.md
index 1120a00..9bef0ce 100644
--- a/README.md
+++ b/README.md
@@ -134,7 +134,7 @@ the control function threw, but *after* testing the other functions and readying
 the logging. The criteria for matching errors is based on the constructor and
 message.

-You can find this full example at [examples/errors.js](examples/error.js).
+You can find this full example at [examples/errors.js](examples/errors.js).

 ## Asynchronous behaviors


commit d3178a22716cc35b6a2bdd679a7ec24bc8c63ffa
:

Logga in sökning

git log -S"#define SAMPLES"

Söker efter tillägg eller borttagande av specifik sträng eller strängen matchning som REGUTTR. I det här fallet letar vi efter tillägg / borttagning av strängen #define SAMPLES . Till exempel:

+#define SAMPLES  100000

eller

-#define SAMPLES  100000

git log -G"#define SAMPLES"

Söker efter förändringar i rader som innehåller specifika sträng eller strängen matchning som REGUTTR. Till exempel:

-#define SAMPLES  100000
+#define SAMPLES  100000000

Lista alla bidrag grupperade efter författarnamn

git shortlog sammanfattar git log och grupper efter författare

Om inga parametrar anges kommer en lista över alla åtaganden som görs per pendlare visas i kronologisk ordning.

$ git shortlog
Committer 1 (<number_of_commits>):
    Commit Message 1
    Commit Message 2
    ...
Committer 2 (<number_of_commits>):
    Commit Message 1
    Commit Message 2
    ...

För att helt enkelt se antalet åtaganden och undertrycka åtagandebeskrivningen, passera i sammanfattningsalternativet:

-s

--summary

$ git shortlog -s
<number_of_commits> Committer 1
<number_of_commits> Committer 2

För att sortera utgången efter antal kommit istället för alfabetiskt efter pendlarnamn, ange det numrerade alternativet:

-n

--numbered


Lägg till e-postalternativet för att lägga till e-postmeddelandet till en pendlare:

-e

--email


Ett anpassat formatalternativ kan också tillhandahållas om du vill visa annan information än åtagandeämnet:

--format

Detta kan vara vilken sträng som helst som accepteras av - --format alternativet i git log .

Se Colorizing Logs ovan för mer information om detta.

Filtrera loggar

git log --after '3 days ago'

Specifika datum fungerar också:

git log --after 2016-05-01

Som med andra kommandon och flaggor som accepterar en datumparameter, är det tillåtna datumformatet som stöds av GNU-datum (mycket flexibel).

Ett alias till - --after är --since .

Flaggor finns också för konversationen: - --before och --until .

Du kan också filtrera loggar efter author . t.ex

git log --author=author

Logga efter en rad rader i en fil

$ git log -L 1,20:index.html
commit 6a57fde739de66293231f6204cbd8b2feca3a869
Author: John Doe <[email protected]>
Date:   Tue Mar 22 16:33:42 2016 -0500

    commit message

diff --git a/index.html b/index.html
--- a/index.html
+++ b/index.html
@@ -1,17 +1,20 @@
 <!DOCTYPE HTML>
 <html>
-       <head>
-        <meta charset="utf-8">
+
+<head>
+    <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">

Färga loggar

git log --graph --pretty=format:'%C(red)%h%Creset -%C(yellow)%d%Creset %s %C(green)(%cr) %C(yellow)<%an>%Creset'

Det format alternativet kan du ange ditt eget loggutdata format:

Parameter detaljer
%C(color_name) alternativet färgar utgången som kommer efter det
%h eller% H förkortar commit hash (använd% H för komplett hash)
%Creset återställer färg till standard terminalfärg
%d ref namn
%s ämne [begå meddelande]
%cr pendeldatum, relativt aktuellt datum
%an författarens namn

En rad som visar pendlarens namn och tid sedan begå

tree = log --oneline --decorate --source --pretty=format:'"%Cblue %h %Cgreen %ar %Cblue %an %C(yellow) %d %Creset %s"'  --all --graph 

exempel

*    40554ac  3 months ago  Alexander Zolotov    Merge pull request #95 from gmandnepr/external_plugins
|\  
| *  e509f61  3 months ago  Ievgen Degtiarenko    Documenting new property
| *  46d4cb6  3 months ago  Ievgen Degtiarenko    Running idea with external plugins
| *  6253da4  3 months ago  Ievgen Degtiarenko    Resolve external plugin classes
| *  9fdb4e7  3 months ago  Ievgen Degtiarenko    Keep original artifact name as this may be important for intellij
| *  22e82e4  3 months ago  Ievgen Degtiarenko    Declaring external plugin in intellij section
|/  
*  bc3d2cb  3 months ago  Alexander Zolotov    Ignore DTD in plugin.xml

Git-logg mellan två grenar

git log master..foo visar de åtaganden som är på foo och inte på master . Hjälpsam för att se vilka åtaganden du har lagt till sedan greningen!

Logg som visar engagerade filer

git log --stat

Exempel:

commit 4ded994d7fc501451fa6e233361887a2365b91d1
Author: Manassés Souza <[email protected]>
Date:   Mon Jun 6 21:32:30 2016 -0300

    MercadoLibre java-sdk dependency

 mltracking-poc/.gitignore |  1 +
 mltracking-poc/pom.xml    | 14 ++++++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

commit 506fff56190f75bc051248770fb0bcd976e3f9a5
Author: Manassés Souza <[email protected]>
Date:   Sat Jun 4 12:35:16 2016 -0300

    [manasses] generated by SpringBoot initializr

 .gitignore                                                                            |  42 ++++++++++++
 mltracking-poc/mvnw                                                                   | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 mltracking-poc/mvnw.cmd                                                               | 145 +++++++++++++++++++++++++++++++++++++++
 mltracking-poc/pom.xml                                                                |  74 ++++++++++++++++++++
 mltracking-poc/src/main/java/br/com/mls/mltracking/MltrackingPocApplication.java      |  12 ++++
 mltracking-poc/src/main/resources/application.properties                              |   0
 mltracking-poc/src/test/java/br/com/mls/mltracking/MltrackingPocApplicationTests.java |  18 +++++
 7 files changed, 524 insertions(+)

Visa innehållet i ett enda engagemang

Med git show vi se en enda engagemang

git show 48c83b3
git show 48c83b3690dfc7b0e622fd220f8f37c26a77c934

Exempel

commit 48c83b3690dfc7b0e622fd220f8f37c26a77c934
Author: Matt Clark <[email protected]>
Date:   Wed May 4 18:26:40 2016 -0400

    The commit message will be shown here.

diff --git a/src/main/java/org/jdm/api/jenkins/BuildStatus.java b/src/main/java/org/jdm/api/jenkins/BuildStatus.java
index 0b57e4a..fa8e6a5 100755
--- a/src/main/java/org/jdm/api/jenkins/BuildStatus.java
+++ b/src/main/java/org/jdm/api/jenkins/BuildStatus.java
@@ -50,7 +50,7 @@ public enum BuildStatus {

                        colorMap.put(BuildStatus.UNSTABLE, Color.decode( "#FFFF55" ));
-                       colorMap.put(BuildStatus.SUCCESS,  Color.decode( "#55FF55" ));
+                       colorMap.put(BuildStatus.SUCCESS,  Color.decode( "#33CC33" ));
                        colorMap.put(BuildStatus.BUILDING, Color.decode( "#5555FF" ));

Söka commit string i git logg

Sök i git-logg med hjälp av någon sträng i loggen:

git log [options] --grep "search_string"

Exempel:

git log --all --grep "removed file"

Söker efter removed file filsträng i alla loggar i alla grenar .


Från och med git 2.4+ kan sökningen inverteras med --invert-grep .

Exempel:

git log --grep="add file" --invert-grep

Visar alla åtaganden som inte innehåller add file .



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow