Czy w Git istnieje sposób na „opis” gałęzi?
Podczas gdy próbuję używać opisowych nazw, praca przez pewien czas nad jedną gałęzią czasami tłumi moją pamięć o tym, dlaczego stworzyłem inne gałęzie tematyczne. Staram się używać opisowych nazw gałęzi, ale myślę, że „opis” (krótka uwaga na temat celu gałęzi) byłby miły.
git
branch
task-tracking
Noufal Ibrahim
źródło
źródło
Odpowiedzi:
Git 1.7.9 obsługuje to. Z informacji o wersji 1.7.9 :
Możesz zobaczyć tę funkcję wprowadzoną we wrześniu 2011 r. Z zatwierdzeniami 6f9a332 , 739453a3 , b7200e8 :
Pamiętaj, że to nie będzie działać dla odłączonej gałęzi HEAD.
Ten opis jest używany przez skrypt request-pull: patrz zatwierdzenie c016814783 , ale także
git merge --log
.[From @AchalDave] Niestety, nie możesz wypychać opisów, ponieważ są one przechowywane w twojej konfiguracji, co czyni je bezużytecznymi ze względu na dokumentowanie oddziałów w zespole.
źródło
git config branch.topic.description
pokazanie opisu gałęzitopic
. Jest przechowywany w.git/config
pliku.git branch
pokażę opisy na liście ...Jeśli nie kończy się przy użyciu README utworzyć alias git modyfikujących
git checkout
żeby README jest wyświetlany przy każdym włączeniu oddziałów.Na przykład dodaj to w ~ / .gitconfig, w [alias]
Następnie możesz uruchomić,
git cor <branch_name>
aby zmienić gałąź i wyświetlić README gałęzi, na którą się przełączasz.źródło
1.7.11-msysgit.1
). Zamiast tego używam 0 USD. I wszystko w porządku.sh -c
”; na przykład,.alias = "!f() { git checkout "${1}" && cat README.md; }; f"
(w tym przypadku niepotrzebne są nawiasy kwadratowe i cytaty, aby je uzupełnić, jeśli są potrzebne do czegoś bardziej skomplikowanego).~/.gitconfig
, pod[alias]
, a nazwa aliasu jest w rzeczywistości (i co zrozumiałe, mylące) wywoływanaalias
z mojej faktycznej konfiguracji (powinienem był zmienić jego nazwę,cor
aby ten przykład był spójny). Mój rzeczywistyalias
alias to:alias = "!f() { git config --get-regexp "^alias.${1}$" ; }; f"
Użycie:git alias {alias_name}
lubgit alias {alias_regexp}
. Analogicznie doalias
polecenia bash , np.$ alias ll
Zwraca (dla mnie)alias ll='ls -l'
:; i$ git alias br
wydajność:alias.br branch -v --list
(również może używać:$ git alias 'b.*'
)Służy
git branch --edit-description
do ustawiania lub edycji opisu oddziału.Oto funkcja powłoki wyświetlająca gałęzie podobne do,
git branch
ale z dołączonymi opisami.Oto, jak to
gb
wygląda, pokazane tutaj jako tekst na wypadek, gdyby obraz zgnił:I jako obraz, dzięki czemu można zobaczyć kolory:
źródło
README
Sugerowane przez Chris J może pracować, pod warunkiem, że jest ustawiony w sterowniku zwyczaj łączenia zdefiniowanego w sposób.gitattribute
.W ten sposób lokalna wersja
README
jest zawsze zachowywana podczas scalania.„Opis” gałęzi jest również znany jako „komentarz” powiązany z tymi metadanymi i nie jest obsługiwany.
Przy pomocy
README
pliku możesz dla dowolnej gałęzi wykonać:Jeśli README znajduje się w katalogu głównym REPO, będzie działał z dowolnej ścieżki, ponieważ ścieżka używana przez
git show
jest absolutna z górnego katalogu wspomnianego repozytorium.źródło
.gitattributes
plik w swoim repozytorium, więc nie, to po prostu zadziała dla wszystkich. Niestety nie wydaje się to działać podczas łączenia przez niektóre interfejsy internetowe, np. Podczas korzystania z żądań ściągania w Azure DevOps.Istnieją tutaj dwie popularne sugestie:
git branch --edit-description
: Nie podoba nam się to, ponieważ nie można tego naciskać. Może pamiętam, co robią gałęzie, które utworzyłem, ale mój zespół na pewno nie.README
plik pr. gałąź. Jest to uciążliwe podczas łączenia: bardzo podatne na łączenie konfliktów, a my będziemy przyciągaćREADME
z gałęzi, kiedy łączymy gałęzie cech. Różnice między gałęziami również powodują ból.Zdecydowaliśmy się stworzyć
branches-readme
gałąź osieroconą . Gałęzie sieroce są gałęziami z własną odrębną historią - możesz je poznać zgh-pages
gałęzi Githuba . Ta gałąź sieroca zawiera jedenREADME
plik. Zawiera treści takie jak:Jest przystosowany do pchania i łączenia. Przeglądaj
README
z dowolnego oddziału za pomocą:Wady polegają na tym, że musisz sprawdzić dziwną gałąź osieroconą, gdy chcesz zaktualizować,
README
iREADME
nie aktualizuje się automatycznie, gdy gałęzie są zmieniane, przychodzą lub odchodzą. Dla nas to w porządku.Zrób to jak:
Podobnie, poszczególni członkowie zespołu mogą również tworzyć własne
branches-$user
oddziały osierocone, opisując własne oddziały prywatne, jeśli chcą, pod warunkiem, że nie popchną ich do zespołu.Przy dalszym oprzyrządowaniu można to również zintegrować z wydajnością
git branch
. W tym celu możeREADME.yaml
być rozważony plik zamiast zwykłegoREADME
.źródło
Polecenie zdefiniuje opcję globalną
alias.about
jako wyrażenie powłoki. Uruchomieniegit about <branch>
w repozytorium wyświetli opis oddziału, jeśli jest ustawiony.źródło
"!describe() { git config branch.\"$(git symbolic-ref --short -q HEAD)\".description; }; describe"
git config --global --add alias.about '!describe() { git config branch."$(git symbolic-ref --short -q HEAD)".description; }; describe'
Oto możliwa implementacja
git branches
polecenia, o którym wspominał Greg Hewgill:źródło
Oto,
git
alias
co pozwala zarówno ustawiać, jak i czytać opisy w bieżącym oddziale:Zastosowanie / przykłady:
Specjalne podziękowania dla @Felicio za odpowiedź, która mnie rozpoczęła.
źródło
Do tagów możesz dołączać komentarze:
Zgodnie z konwencją, możesz mieć tagi związane z nazwami swoich gałęzi lub możesz użyć tagu -f, aby utrzymać komentarz z komentarzem na początku gałęzi tematu.
źródło
Powiedz, że chcesz utworzyć oddział
źródło
Jestem pewien, że ta funkcja nie jest obecnie obsługiwana. Myślę, że najlepszym rozwiązaniem jest utworzenie pliku tekstowego opisu, w zasadzie README, w gałęzi zawierającej potrzebne informacje.
źródło
Wybrana odpowiedź wydaje mi się przesadna. Byłbym skłonny do utrzymania na gałąź plik opisu, który jest normalne źródło sterowane plik, powiedzmy
master.txt
,dev.txt
itp, a jeśli istnieje liczba nieporęczny lub gałęzie Chciałbym stworzyć hierarchię lepiej organizować je.źródło
git show master:dev.txt
które nie jest prostsze niż wybrana odpowiedź.Po prostu użyj:
Aby przyznać kredyt w przypadku, gdy należy się kredyt: https://glebbahmutov.com/blog/git-branches-with-descriptions/
źródło
Posługiwać się
aby wyświetlić odgałęzienie:
Dodaj,
-r
aby pokazać tylko piloty lub-a
aby pokazać piloty i lokalnie.źródło