Git peringatan: push.default diset; yang implisit nilai berubah

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?

Mengomentari pertanyaan (5)
Larutan

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.

Komentar (0)

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?".

Komentar (0)

Saya mengalami masalah yang sama tidak untuk sementara waktu yang lalu. Aku memecahkan ini dengan,

  • pertama kloning saya baru cabang (UAT)
  • kemudian mendorong untuk yang cabang (UAT)
Komentar (0)