Ketika saya push ke remote di Git, saya mendapatkan peringatan seperti ini:
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
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
To **********************************
6b9a6d2..3ab1eab master -> master
Apa berarti peringatan ini dan apa yang harus dilakukan tentang hal itu?
Peringatan ini diperkenalkan di Git 1.7.11 bersama dengan sederhana
gaya mendorong. Masalahnya adalah bahwa default saat ini, matching
, dapat mengakibatkan pengguna berpengalaman kekuatan yang mendorong ketika beberapa cabang yang berada di belakang mereka remote setara karena cabang-cabang yang cukup aren't up-to-date. Hasil akhirnya adalah bahwa mereka akhirnya memutar cabang dan berpotensi kehilangan pekerjaan mereka atau orang lain's. Yang sederhana
mode diperkenalkan sebagai push.default
perilaku dan akan menjadi default di Git 2.0 (yang seharusnya mudah-mudahan akan keluar sekitar awal tahun depan).
Baru sederhana
perilaku adalah banyak seperti hulu
pengaturan: hanya mendorong arus cabang yang anda're saat ini, jika memiliki cabang terpencil itu's pelacakan. Ia menambahkan satu kriteria tambahan: remote cabang harus memiliki nama yang sama dengan yang lokal.
Seperti yang anda temukan, cara untuk menyingkirkan pesan adalah untuk mengatur push.default
. Untuk mendapatkan perilaku baru, gunakan:
git config --global push.default simple
Untuk mendapatkan Git's perilaku default tapi tanpa peringatan pesan, gunakan:
git config --global push.default matching
I'd benar-benar menyarankan terhadap menggunakan pencocokan sekalipun. Secara umum, sebagian besar orang-orang yang benar-benar baru sederhana
perilaku, atau hulu
.
Update Februari 2016:
git 2.8 (Maret 2016) dihapus yang besar pesan peringatan.
Lihat melakukan 2f27520 (25 Feb 2016) oleh Matthew Moy (moy
).
(Digabung dengan Junio C Hamano -- gitster
-- di melakukan 15be621, 26 Feb 2016)
push
: menghapus "push.default adalah unset
" pesan peringatan
peringatan penting sebelum 2.0 transisi, dan tetap penting untuk sementara waktu setelah, sehingga pengguna baru mendapatkan
push.default
secara eksplisit dalam konfigurasi mereka dan tidak mengalami perilaku yang tidak konsisten jika mereka pernah menggunakan versi yang lebih tua dari Git.
peringatan Yang telah ada sejak versi 1.8.0 (Oktober 2012), maka kita dapat berharap sebagian besar dari saat ini Git pengguna telah terkena itu, dan sebagian besar dari mereka telah mengatur
push.default
secara eksplisit. Yang beralih dari 'pencocokan' untuk 'sederhana' direncanakan untuk 2.0 (Mei 2014), tapi benar-benar terjadi hanya untuk 2.3 (Feb 2015).
Hari ini, peringatan ini sebagian besar terlihat oleh para pemula, yang belum menetapkan mereka
push.default
konfigurasi (belum). Bagi banyak dari mereka, peringatan membingungkan karena ini berbicara tentang konsep-konsep yang mereka tidak belajar dan meminta mereka pilihan yang mereka tidak mampu membuat belum. Lihat misalnya "Peringatan: push.default diset; yang implisit nilai yang berubah dalam Git 2.0" (1260 suara untuk pertanyaan, 1824 untuk menjawab penulisan)
Hapus peringatan benar-benar untuk menghindari mengganggu pemula. Orang-orang yang kadang-kadang masih menggunakan versi lama dari Git akan terkena peringatan ini versi lama.
Akhirnya, versi Git tanpa peringatan akan dikerahkan cukup dan tutorial tidak akan perlu untuk menyarankan pengaturan
push.default
lagi.
Jawaban asli (Maret 2014)
Peringatan itu akan segera berubah di git 2.0 (Q2 2014), dengan melakukan 289ca27 dan melakukan 11037ee:
push.default diset; yang implisit nilai telah berubah di Git 2.0 dari 'pencocokan' untuk 'sederhana'. Untuk memadamkan pesan ini dan mempertahankan tradisional perilaku, menggunakan:
git config --global push.default matching
Untuk memadamkan pesan ini dan mengadopsi perilaku baru sekarang, gunakan:
git config --global push.default simple
Ketika
push.default
diatur ke 'matching
', git akan mendorong cabang-cabang lokal untuk remote cabang-cabang yang sudah ada dengan nama yang sama.
Sejak Git 2.0, Git default untuk lebih konservatif '
sederhana
', "perilaku, yang hanya mendorong arus cabang yang sesuai remote cabang yang 'git pull
' menggunakan untuk update saat ini cabang.
Lihat lebih lanjut di "Mengapa mendorong untuk pencocokan default di Git?".