Apakah ada cara di Git untuk memiliki 'deskripsi' untuk cabang?
Sementara saya mencoba menggunakan nama deskriptif, bekerja sebentar di satu cabang terkadang mengurangi ingatan saya mengapa saya membuat beberapa cabang topik lainnya. Saya mencoba menggunakan nama deskriptif untuk cabang, tapi saya pikir 'deskripsi' (catatan singkat tentang tujuan cabang) akan menyenangkan.
git
branch
task-tracking
Noufal Ibrahim
sumber
sumber
Jawaban:
Git 1.7.9 mendukung ini. Dari catatan rilis 1.7.9 :
Anda dapat melihat fitur yang diperkenalkan kembali pada September 2011, dengan komit 6f9a332 , 739453a3 , b7200e8 :
Perhatikan bahwa ini tidak akan berfungsi untuk cabang HEAD yang terpisah.
Uraian itu digunakan oleh tarikan permintaan skrip: lihat commit c016814783 , tetapi juga
git merge --log
.[Dari @AchalDave] Sayangnya, Anda tidak dapat mendorong deskripsi karena disimpan di konfigurasi Anda, menjadikannya tidak berguna demi mendokumentasikan cabang dalam tim.
sumber
git config branch.topic.description
untuk menampilkan deskripsi untuk cabangtopic
. Itu disimpan dalam.git/config
file.git branch
akan menunjukkan deskripsi dalam daftar ...Jika Anda tidak berakhir dengan menggunakan README, membuat git alias memodifikasi
git checkout
sehingga README Anda ditampilkan setiap kali Anda beralih cabang.Sebagai contoh, tambahkan ini di ~ / .gitconfig, di bawah [alias]
Setelah ini, Anda dapat menjalankan
git cor <branch_name>
untuk beralih cabang dan menampilkan README dari cabang yang Anda pindah.sumber
1.7.11-msysgit.1
). Saya menggunakan $ 0 sebagai gantinya. Dan semuanya baik-baik saja.sh -c
"; misalnya,.alias = "!f() { git checkout "${1}" && cat README.md; }; f"
(tanda kurung dan kutipan tidak perlu dalam kasus ini, hanya disertakan untuk kelengkapan jika mereka diperlukan untuk sesuatu yang lebih rumit.)~/.gitconfig
, di bawah[alias]
, dan nama alias sebenarnya (dan dapat dimengerti membingungkan) dipanggilalias
dari konfigurasi saya yang sebenarnya (saya seharusnya menamainyacor
untuk contoh ini agar konsisten).alias
Alias saya yang sebenarnya adalah:alias = "!f() { git config --get-regexp "^alias.${1}$" ; }; f"
Penggunaan:git alias {alias_name}
ataugit alias {alias_regexp}
. Analog denganalias
perintah bash , misalnya,$ alias ll
menghasilkan (untuk saya)alias ll='ls -l'
:; dan$ git alias br
hasil:alias.br branch -v --list
(bisa juga menggunakan:$ git alias 'b.*'
)Menggunakan
git branch --edit-description
untuk mengatur atau mengedit deskripsi cabang.Berikut adalah fungsi shell untuk menampilkan cabang yang mirip
git branch
tetapi dengan deskripsi yang ditambahkan.Berikut ini
gb
tampilannya, ditampilkan di sini sebagai teks jika gambar membusuk:Dan sebagai gambar, sehingga Anda dapat melihat warna:
sumber
The
README
disarankan oleh Chris J dapat bekerja, asalkan itu adalah setup dengan sopir merge kustom didefinisikan dalam.gitattribute
.Dengan begitu, versi lokal
README
selalu dipertahankan selama penggabungan."Deskripsi" untuk cabang juga dikenal sebagai "komentar" yang terkait dengan data meta itu, dan itu tidak didukung.
Setidaknya, dengan
README
file, Anda dapat, untuk cabang apa pun, melakukan:Jika README Anda berada di direktori root REPO Anda, itu akan bekerja dari jalur apa pun, karena jalur yang digunakan oleh
git show
adalah mutlak dari direktori teratas dari repo tersebut.sumber
.gitattributes
file di repositori Anda, jadi tidak, itu hanya akan berfungsi untuk semua orang. Sayangnya ini tampaknya tidak berfungsi ketika menggabungkan melalui beberapa antarmuka berbasis web, misalnya, ketika menggunakan permintaan tarik di Azure DevOps.Ada dua saran populer di sini:
git branch --edit-description
: Kami tidak suka ini karena Anda tidak bisa mendorongnya. Mungkin saya bisa mengingat apa yang dilakukan cabang-cabang yang saya buat, tetapi tim saya pasti tidak bisa.README
file pr. cabang. Ini menyusahkan selama penggabungan: Sangat rentan untuk menggabungkan konflik dan kami akan menarikREADME
dari cabang ketika kami menggabungkan cabang fitur. Perbedaan antar cabang juga menyebalkan.Kami telah memutuskan untuk membuat
branches-readme
cabang yatim . Cabang-cabang yatim adalah cabang-cabang dengan sejarah mereka sendiri yang terpisah - Anda mungkin mengenal mereka darigh-pages
cabang - cabang Github . Cabang yatim ini berisi satuREADME
file. Ini memiliki konten seperti:Ini push-mampu dan ramah-gabung. Lihat
README
dari cabang mana saja dengan:Kerugiannya adalah Anda harus checkout cabang yatim aneh ketika Anda ingin memperbarui
README
danREADME
tidak memperbarui secara otomatis ketika cabang diganti nama, datang atau pergi. Tapi itu baik untuk kita.Lakukan seperti:
Serupa, anggota tim individu juga dapat membuat
branches-$user
cabang yatim mereka sendiri menggambarkan cabang pribadi mereka jika mereka mau, selama mereka tidak mendorong mereka ke tim.Dengan tooling lebih lanjut, ini juga dapat diintegrasikan dengan output
git branch
. Untuk itu, mungkin sebuahREADME.yaml
file dapat dianggap sebagai ganti file biasaREADME
.sumber
Perintah akan menentukan opsi global
alias.about
sebagai ekspresi shell. Berjalangit about <branch>
di repositori akan menampilkan deskripsi cabang jika disetel.sumber
"!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'
Berikut adalah kemungkinan implementasi dari
git branches
perintah yang disinggung oleh Greg Hewgill:sumber
Inilah
git
alias
yang memungkinkan Anda mengatur dan membaca deskripsi di cabang saat ini:Penggunaan / contoh:
Terima kasih khusus kepada @Felicio untuk jawaban yang membuat saya mulai.
sumber
Anda dapat melampirkan komentar ke tag:
Secara konvensi, Anda dapat memiliki tag yang terkait dengan nama cabang Anda atau Anda dapat menggunakan tag -f untuk menyimpan tag komentar di kepala cabang topik Anda.
sumber
Katakanlah Anda ingin membuat cabang
sumber
Saya cukup yakin bahwa fitur saat ini tidak didukung. Saya pikir taruhan terbaik Anda adalah membuat file teks deskripsi, README pada dasarnya, di cabang yang memiliki informasi yang Anda inginkan.
sumber
Jawaban yang dipilih sepertinya berlebihan bagi saya. Aku akan cenderung untuk mempertahankan file deskripsi per cabang yang merupakan sumber dikendalikan file normal, katakanlah
master.txt
,dev.txt
, dll dan jika ada nomor atau cabang berat saya akan membuat hirarki untuk lebih mengatur itu.sumber
git show master:dev.txt
yang tidak lebih sederhana dari jawaban yang dipilih.Cukup gunakan:
Untuk memberikan kredit saat kredit jatuh tempo: https://glebbahmutov.com/blog/git-branches-with-description/
sumber
Menggunakan
untuk menampilkan cabang hulu:
Tambahkan
-r
untuk menampilkan hanya remote atau-a
untuk menunjukkan remote dan lokal.sumber