Zoeken…


Syntaxis

  • git log [opties] [revisiebereik] [[-] pad ...]

parameters

Parameter Uitleg
- q, - stil Stil, onderdrukt diff-uitvoer
--bron Toont bron van commit
--Gebruik-mailmap Gebruik e-mailmapbestand (wijzigt gebruikersinformatie voor vastleggende gebruiker)
--decorate [= ...] Versier opties
--L <n, m: file> Toon log voor specifiek bereik van lijnen in een bestand, beginnend vanaf 1. Begint vanaf regel n, gaat naar regel m. Toont ook diff.
--show-signature Handtekeningen van ondertekende commits weergeven
-i, --regexp-negeer-case Pas de reguliere expressiebeperkende patronen aan zonder rekening te houden met hoofdletters en kleine letters

Opmerkingen

Referenties en actuele documentatie : git-log officiële documentatie

"Normaal" Git-logboek

git log

toont al je commits met de auteur en hash. Dit wordt getoond over meerdere regels per commit. (Als je een enkele regel per commit wilt tonen, kijk dan naar onelineing ). Gebruik de q toets om het logboek te verlaten.

Standaard, zonder argumenten, geeft git log de commits weer die in die repository zijn gemaakt in omgekeerde chronologische volgorde - dat wil zeggen dat de meest recente commits als eerste verschijnen. Zoals je kunt zien, geeft dit commando elke commit weer met zijn SHA-1 checksum, de naam en e-mail van de auteur, de geschreven datum en het commit-bericht. - bron

Voorbeeld (uit Free Code Camp- repository):

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

Als u uw opdracht wilt beperken tot het laatste logboek van n commits, kunt u eenvoudig een parameter doorgeven. Als u bijvoorbeeld de laatste 2 commits van de commits wilt vermelden

git log -2 

Oneline logboek

git log --oneline

toont al je commits met alleen het eerste deel van de hash en het commit bericht. Elke commit zal op een enkele regel staan, zoals de oneline vlag suggereert.

De oneline-optie drukt elke commit op een enkele regel af, wat handig is als je veel commits bekijkt. - bron

Voorbeeld (uit Free Code Camp- repository, met dezelfde sectie code uit het andere voorbeeld):

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/

Als u uw opdracht tot het laatste logboek van n commits wilt beperken, kunt u eenvoudig een parameter doorgeven. Als u bijvoorbeeld de laatste 2 commits van de commits wilt vermelden

git log -2 --oneline

Prettier-logboek

Gebruik het volgende om het logboek in een mooiere grafiekachtige structuur te bekijken:

git log --decorate --oneline --graph

sample output:

* 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
...

Omdat het een behoorlijk groot commando is, kun je een alias toewijzen:

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

Om de aliasversie te gebruiken:

# 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

Log met wijzigingen inline

Gebruik de opties -p of --patch om het logboek met wijzigingen inline te bekijken.

git log --patch

Voorbeeld (uit Trello Scientist- repository)

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
:

Log zoeken

git log -S"#define SAMPLES"

Zoekt naar toevoeging of verwijdering van een specifieke string of de string die overeenkomt met REGEXP. In dit geval zijn we op zoek naar toevoeging / verwijdering van de string #define SAMPLES . Bijvoorbeeld:

+#define SAMPLES  100000

of

-#define SAMPLES  100000

git log -G"#define SAMPLES"

Hiermee zoekt u naar wijzigingen in regels die een specifieke tekenreeks bevatten of de overeenkomende tekenreeks die REGEXP bevat. Bijvoorbeeld:

-#define SAMPLES  100000
+#define SAMPLES  100000000

Lijst alle bijdragen gegroepeerd op auteursnaam

git shortlog vat git log en groepen samen op auteur

Als er geen parameters worden opgegeven, wordt een lijst met alle commits per committer in chronologische volgorde weergegeven.

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

Om eenvoudig het aantal commits te zien en de commit-omschrijving te onderdrukken, geef je de samenvattingoptie door:

-s

--summary

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

Om de output te sorteren op aantal commits in plaats van alfabetisch op committernaam, geeft u de genummerde optie door:

-n

--numbered


Om de e-mail van een committer toe te voegen, voegt u de e-mailoptie toe:

-e

--email


Een aangepaste indelingsoptie kan ook worden verstrekt als u andere informatie dan het onderwerp van de vastlegging wilt weergeven:

--format

Dit kan elke tekenreeks zijn die wordt geaccepteerd door de optie --format van git log .

Zie Logboeken inkleuren hierboven voor meer informatie hierover.

Filter logs

git log --after '3 days ago'

Specifieke datums werken ook:

git log --after 2016-05-01

Net als bij andere opdrachten en vlaggen die een datumparameter accepteren, wordt het toegestane datumformaat ondersteund door GNU date (zeer flexibel).

Een alias voor --after is - --since .

Vlaggen bestaan ook voor het omgekeerde: --before en --until .

U kunt logboeken ook filteren op author . bv

git log --author=author

Log voor een reeks regels in een bestand

$ 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">

Logboeken inkleuren

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

Met de format kunt u uw eigen log-uitvoerindeling opgeven:

Parameter Details
%C(color_name) optie kleurt de uitvoer die erna komt
%h of% H afgekort commit hash (gebruik% H voor volledige hash)
%Creset reset kleur naar standaard terminal kleur
%d ref-namen
%s onderwerp [commit bericht]
%cr committer-datum, ten opzichte van de huidige datum
%an auteur naam

Een regel met de naam van de commiter en de tijd sinds commit

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

voorbeeld

*    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 logboek tussen twee takken

git log master..foo toont de commits die op foo en niet op master . Handig om te zien wat je vastlegt sinds je vertakt bent!

Logboek met gecommitteerde bestanden

git log --stat

Voorbeeld:

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(+)

Toon de inhoud van een enkele commit

Met behulp van git show we een enkele commit bekijken

git show 48c83b3
git show 48c83b3690dfc7b0e622fd220f8f37c26a77c934

Voorbeeld

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" ));

Zoeken naar tekenreeks in git-logboek

Zoeken git log met behulp van een string in log:

git log [options] --grep "search_string"

Voorbeeld:

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

Zal zoeken naar removed file in alle logs in alle branches .


Vanaf git 2.4+ kan de zoekopdracht worden omgekeerd met de optie --invert-grep .

Voorbeeld:

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

Toont alle commits die geen add file bevatten.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow