347 Stimmen

Zweigbeschreibungen in Git

Gibt es in Git eine Möglichkeit, eine "Beschreibung" für Zweige zu haben?

Ich versuche zwar, beschreibende Namen zu verwenden, aber wenn ich eine Zeit lang an einem einzigen Zweig arbeite, kann ich mich manchmal nicht mehr daran erinnern, warum ich einige der anderen Themenzweige erstellt habe. Ich versuche, beschreibende Namen für die Zweige zu verwenden, aber ich denke, eine "Beschreibung" (eine kurze Notiz über den Zweck des Zweigs) wäre schön.

1 Stimmen

Ich hatte eine ähnliches Problem . Ich verwende diese Datei, um Verzweigungen zu dokumentieren und zu erklären, warum sie existieren (neben anderen Dingen).

2 Stimmen

Das wäre eine wirklich nützliche Funktion. git branch -a könnte die Beschreibungen neben den Zweignamen anzeigen. Vielleicht wird git notes in Zukunft sowohl Notizen zu Zweigen als auch zu Commits unterstützen?

1 Stimmen

Zweigbeschreibungen können nicht verschoben werden, so dass sie ziemlich nutzlos sind, es sei denn, Sie wollen sich selbst Nachrichten zusenden.

13voto

Felicio Punkte 438
git config --global --add alias.about '!describe() { git config branch."$1".description; }; describe'

Der Befehl definiert eine globale Option alias.about als Shell-Ausdruck. Ausführen von git about <branch> in einem Repository wird die Beschreibung des Zweigs angezeigt, wenn sie gesetzt ist.

11voto

Wayne Punkte 58002

Hier ist ein git alias die es Ihnen ermöglicht, Beschreibungen des aktuellen Zweigs sowohl zu setzen als auch zu lesen:

git config --global --add alias.about '!describe() { msg="$1"; git config branch."$(git rev-parse --abbrev-ref HEAD)".description ${msg:+"$msg"}; }; describe'

Verwendung/Beispiele:

(develop) $ git about
(develop) $ git about message
(develop) $ git about
message
(develop) $ git about "this is a new message"
(develop) $ git about
this is a new message
(develop) $ git checkout -b test_branch
Switched to a new branch 'test_branch'
(test_branch) $ git about
(test_branch) $ git about "this is the test branch"
(test_branch) $ git about
this is the test branch
(test_branch) $ git checkout -
Switched to branch 'develop'
Your branch is up to date with 'origin/develop'.
(develop) $ git about
this is a new message

Besonderen Dank an @Felicio für die Antwort, die mich auf den Weg gebracht hat.

6voto

Owen Punkte 37648

Hier ist eine mögliche Implementierung des git branches Kommando, auf das Greg Hewgill anspielte:

#!/usr/bin/perl

sub clean {
    map { s/^[\s\*]*\s// } @_;
    map { s/\s*$// } @_;
    return @_;
}

sub descr {
    $_ = `git config branch.@_.description`;
    s/\s*$//;
    return $_;
};
sub indent {
    $_ = shift;
    s/^/      /mg;
    return $_;
};

my @branches = clean `git branch --color=never --list`;
my %merged = map { $_ => 1 } clean `git branch --color=never --merged`;

for my $branch (@branches) {
    my $asis = `git branch --list --color=always $branch`;
    $asis =~ s/\s*$//;
    print "  $asis";
    print " \033[33m(merged)\033[0m" if ($merged{$branch} and $branch ne "master");
    print "\n";

    print indent descr $branch;
    print "\n";
    print "\n";
}

6voto

AtlantaKid Punkte 93

Angenommen, Sie möchten einen Zweig erstellen

git branch branch-20200328
git notes add branch-20200328 -m "This branch is for whatever"
git notes show branch-20200328

2voto

Jamey Hicks Punkte 2300

Sie können Kommentare an Tags anhängen:

git tag -m 'this was a very good commit' tag1

Konventionell können Sie Tags haben, die sich auf die Namen Ihrer Zweige beziehen, oder Sie können tag -f verwenden, um ein kommentiertes Tag an den Anfang Ihrer Themenzweige zu stellen.

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