Saya telah menggunakan Git untuk sementara waktu sekarang dan baru-baru ini mengunduh pembaruan hanya untuk menemukan pesan peringatan ini muncul ketika saya mencoba push
.
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
Saya jelas dapat mengaturnya ke salah satu nilai yang disebutkan, tetapi apa artinya? Apa perbedaan antara simple
dan matching
?
Jika saya mengubahnya pada satu klien, apakah saya perlu melakukan sesuatu pada klien lain yang saya bagikan repo?
git
version-control
git-push
Marko
sumber
sumber
Jawaban:
Ini dijelaskan dengan sangat terperinci dalam dokumen , tetapi saya akan mencoba meringkas:
matching
berartigit push
akan mendorong semua cabang lokal Anda ke yang dengan nama yang sama di remote. Ini memudahkan Anda mendorong cabang yang tidak sengaja Anda tuju.simple
berartigit push
akan mendorong hanya cabang saat ini ke cabang yanggit pull
akan ditarik , dan juga memeriksa apakah nama mereka cocok. Ini adalah perilaku yang lebih intuitif, itulah sebabnya standar diubah untuk ini.Pengaturan ini hanya memengaruhi perilaku klien lokal Anda, dan dapat diganti dengan secara eksplisit menentukan cabang mana yang ingin Anda tekan pada baris perintah. Klien lain dapat memiliki pengaturan yang berbeda, itu hanya mempengaruhi apa yang terjadi ketika Anda tidak menentukan cabang mana yang ingin Anda dorong .
sumber
git push
hanya akan mendorong cabang saat ini.Saya menyadari ini adalah posting lama tetapi karena saya baru saja mengalami masalah yang sama dan kesulitan menemukan jawabannya saya pikir saya akan menambahkan sedikit.
Jadi jawaban @ hammar benar. Menggunakannya
push.default simple
, dengan cara tertentu, seperti mengonfigurasi pelacakan di cabang Anda sehingga Anda tidak perlu menentukan remote dan cabang saat mendorong dan menarik. Thematching
pilihan akan mendorong semua cabang dengan rekan-rekan mereka yang sesuai pada standar remote (yang merupakan yang pertama yang didirikan kecuali Anda telah dikonfigurasi repo Anda sebaliknya).Satu hal yang saya harap orang lain berguna di masa depan adalah saya menjalankan Git 1.8 di OS X Mountain Lion dan tidak pernah melihat kesalahan ini. Meng-upgrade ke Mavericks adalah apa yang tiba-tiba membuatnya muncul (menjalankan
git --version
akan menunjukkangit version 1.8.3.4 (Apple Git-47)
yang belum pernah saya lihat sampai pembaruan ke OS.sumber
Jika Anda mendapatkan pesan dari git yang mengeluh tentang nilai
simple
dalam konfigurasi, periksagit version
.Setelah melakukan upgrade
XCode
(saatMac
berjalanMountain Lion
), yang juga ditingkatkangit
dari 1.7.4.4 ke 1.8.3.4 , shell dimulai sebelum upgrade masih berjalan git 1.7.4.4 dan mengeluh tentang nilaisimple
untuk push.default dalam konfigurasi global.Solusinya adalah dengan menutup shell yang menjalankan versi lama
git
dan menggunakan versi baru!sumber
git config --global push.default simple
Saya bertanya-tanya mengapa saya mendapatkan pesan peringatan besar di Ubuntu 16.04 (yang datang dengan Git 2.7.4), tetapi tidak di Arch Linux. Alasannya adalah bahwa peringatan itu dihapus di Git 2.8 (Maret 2016):
Jadi Anda tidak akan melihat peringatan jika Anda memiliki Git 2.8 dan yang lebih baru dan tidak perlu mengatur
push.default
kecuali Anda ingin mengubah'simple'
perilaku default .sumber