Apa itu cabang git "basi"?

133

Cabang git "Basi" adalah istilah yang sering saya dengar. Saya tahu ini ada hubungannya dengan cabang yang dianggap kurang berguna atau tidak berguna, tetapi tidak dapat menemukan definisi yang tepat. Apa itu cabang git "basi"?

cowlinator
sumber

Jawaban:

96

Referensi tertua ke "basi" ditemukan di komit e194cd1 (Jan 2007, Git 1.5.0), yang mendeteksi " cabang pelacakan basi di jarak jauh ": ketika melacak cabang yang dihapus oleh sistem jarak jauh.
Oleh karena itu git remote prune.

Itu adalah definisi utama untuk cabang basi: cabang pelacakan jarak jauh ( referensi lokal dari cabang repo jarak jauh) yang tidak lagi melacak apa pun (karena cabang aktual pada repo jarak jauh hilang).

git remote show dapat membuat daftar itu.


Secara kebetulan, Anda memiliki dua definisi "basi" di sistem Git:

  • Referensi lain untuk "basi" melibatkan git reflog --stale-fixdi commit 1389d9d (Git 1.5.0), untuk melacak " broken commit ": komit yang tidak dapat dijangkau dari salah satu referensi dan ada objek yang hilang di antara objek commit, tree, atau blob dapat dijangkau dari itu yang tidak dapat dijangkau dari salah satu referensi.
    Itu membantu memperbaiki situasi setelah menjalankan non-reflog-aware git prunedari git yang lebih tua di hadapan reflog.

  • Komit 740fdd2 (Maret 2008, Git 1.5.5) juga memperkenalkan "basi" untuk referensi simbolik , ketika referensi yang mereka tunjuk tidak ada lagi.


Seperti disebutkan oleh @SteelToe: Definisi cabang basi, sesuai dokumentasi GitHub , adalah cabang yang belum memiliki komitmen dalam 3 bulan sebelumnya.
Ini umumnya menunjukkan cabang lama / tidak terawat / tidak saat ini.

VONC
sumber
Saya melihat ini ketika saya mendorong ke daerah terpencil yang benar-benar baru, karena tidak ada cabang saya di sana (jelas).
Noumenon
"cabang pelacakan jarak jauh" <- saat Anda mengatakan ini, saya berpikir bahwa Anda berbicara tentang cabang yang ada di repo jarak jauh, tetapi yang Anda maksud adalah cabang jarak jauh yang telah Anda lacak secara lokal sebelumnya, tetapi "Cabang aktual pada repo jarak jauh hilang" kan?
Sayang
@ Madu (terlambat beberapa bulan) Ya, itulah idenya. Saya telah memperbarui jawaban untuk menambahkan tautan yang menggambarkan cabang pelacakan jarak jauh.
VonC
17

Itu karena tidak ada "definisi pasti". "Cabang basi git", "data basi", "opsi konfigurasi basi" - tidak ada yang memiliki definisi yang tepat , tetapi mereka semua merujuk pada hal-hal yang dianggap tua / tidak terawat / tidak saat ini / mungkin rusak.

Jadi "cabang basi git" umumnya cabang dari repositori yang belum tersentuh dalam waktu yang lama. Mungkin rusak, mungkin tidak; itu tentu saja bukan arus w / r / t ke cabang pengembangan aktif, dan tidak ada yang melihatnya untuk sementara waktu.

larsks
sumber
12
Di github, cabang yang tidak diperbarui dalam 3 bulan terakhir dianggap basi: help.github.com/articles/viewing-branches-in-your-repository
Ludovic Ronsin
3

Cabang basi adalah cabang tanpa aktivitas setelah beberapa waktu. Di Github basi setelah 3 bulan tidak aktif.

Alasan, mengapa proyek memiliki cabang basi: fitur yang belum dirilis, prototipe, solusi alternatif, tidak lengkap, tidak kompatibel.

Baca lebih lajut

v.babak
sumber