Menggunakan git branch --all
menunjukkan semua cabang jauh dan lokal . Kapan Git menyegarkan daftar ini?
Saat menarik / mendorong? Dan bagaimana cara menyegarkannya menggunakan Git Bash ?
git
github
branch
remote-branch
BendEg
sumber
sumber
git ls-remote
mungkin menarik di sini.Jawaban:
Untuk memperbarui daftar cabang jarak jauh lokal:
Untuk menampilkan semua cabang lokal dan jauh yang diketahui (lokal) Git
sumber
git remote update origin --prune
adalah apa yang saya cari thxgit remote update
, dan jawaban yang diterima, yang menggunakangit fetch
, lihat di sinigit fetch
tidak menghapus cache lokal saya dari cabang jauh. Hanya--prune
mampu membersihkan semuanya.git config remote.origin.prune true
git remote prune origin
memiliki efek yang sama dan Anda mengetik lebih sedikit.Saya percaya bahwa jika Anda lari
git branch --all
dari Bash bahwa daftar cabang jauh dan lokal yang Anda lihat akan mencerminkan apa yang "tahu" Git lokal Anda pada saat Anda menjalankan perintah. Karena Git Anda selalu mutakhir sehubungan dengan cabang lokal di sistem Anda, daftar cabang lokal akan selalu akurat.Namun, untuk cabang jarak jauh hal ini tidak perlu terjadi. Git lokal Anda hanya tahu tentang cabang jarak jauh yang telah dilihatnya pada pengambilan terakhir (atau tarik). Jadi mungkin saja Anda menjalankan
git branch --all
dan tidak melihat cabang jarak jauh baru yang muncul setelah terakhir kali Anda mengambil atau menarik.Untuk memastikan bahwa Anda lokal daftar cabang dan jarak jauh Anda mutakhir, Anda dapat melakukan
git fetch
sebelum menjalankangit branch --all
.Untuk informasi lebih lanjut, cabang "jarak jauh" yang muncul ketika Anda menjalankan
git branch --all
tidak terlalu jauh sama sekali; mereka sebenarnya lokal. Sebagai contoh, misalkan ada cabang pada remote yang dipanggilfeature
yang telah Anda tarik setidaknya satu kali ke Git lokal Anda. Anda akan melihatorigin/feature
terdaftar sebagai cabang saat Anda menjalankangit branch --all
. Tetapi cabang ini sebenarnya adalah cabang Git lokal . Ketika Anda melakukannyagit fetch origin
, cabang pelacakan ini akan diperbarui dengan perubahan baru dari jarak jauh. Inilah sebabnya negara lokal Anda dapat basi, karena mungkin ada cabang terpencil baru, atau cabang pelacakan Anda menjadi basi.sumber
git fetch
berhasil.git fetch
tidak bekerja untuk saya, perlu ditambahkan--prune
. Btw, saya bukan downvoter;)git fetch
tidak menghapus cabang jarak jauh yang dihapus. Mungkin itulah sebabnya beberapa orangOP tidak meminta pembersihan untuk semua remote, melainkan untuk semua cabang remote default.
Begitu
git fetch --prune
juga yang harus digunakan.Pengaturan
git config remote.origin.prune true
membuat--prune
otomatis. Dalam hal ini hanyagit fetch
akan memangkas cabang jauh basi dari salinan lokal. Lihat juga Pemangkasan otomatis dengan Git ambil atau tarik .Perhatikan bahwa ini tidak membersihkan cabang lokal yang tidak lagi melacak cabang jarak jauh. Lihat Cara memangkas cabang pelacakan lokal yang tidak ada pada jarak jauh lagi untuk itu.
sumber
git fetch -p
Gunakan
git fetch
untuk mengambil semua cabang yang dibuat terbaru.sumber
git fetch
tidak mengubah apa pun untuk saya dengan git 2.17.1. Versi dan opsi apa yang telah Anda gunakan?--prune
ataugit config remote.NAME.prune true
untuk ini untuk menyelesaikan pertanyaan OPJika Anda menggunakan Eclipse dan ingin melihat cabang baru dari hulu;
Dalam perspektif Git, klik kanan pada repositori Git dan kemudian pilih "Ambil dari Hulu". Ini mengambil cabang jarak jauh baru.
sumber
Jika Anda menggunakan Eclipse,
Mereka semua harus ada di sana. Klik kanan dan "checkout."
sumber