Jawaban:
Untuk memperbarui daftar cabang jarak jauh lokal:
git remote update origin --prune
Untuk menampilkan semua cabang lokal dan jauh yang diketahui (lokal) Git
git branch -a
git remote update origin --prune
adalah apa yang saya cari thx
git remote update
, dan jawaban yang diterima, yang menggunakan git fetch
, lihat di sini
git 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 dipanggil feature
yang telah Anda tarik setidaknya satu kali ke Git lokal Anda. Anda akan melihat origin/feature
terdaftar sebagai cabang saat Anda menjalankan git branch --all
. Tetapi cabang ini sebenarnya adalah cabang Git lokal . Ketika Anda melakukannya git 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.
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 orang
OP 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 hanya git 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.
git fetch -p
Gunakan git fetch
untuk mengambil semua cabang yang dibuat terbaru.
git fetch
tidak mengubah apa pun untuk saya dengan git 2.17.1. Versi dan opsi apa yang telah Anda gunakan?
--prune
atau git config remote.NAME.prune true
untuk ini untuk menyelesaikan pertanyaan OP
Jika 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.
Jika Anda menggunakan Eclipse,
Mereka semua harus ada di sana. Klik kanan dan "checkout."
git ls-remote
mungkin menarik di sini.