Saya memiliki server aplikasi yang saya bootstrap bersama menggunakan Chef + beberapa skrip bash ad-hoc. Masalahnya adalah, ketika saya ingin menjalankan pembaruan di salah satu server aplikasi ini, saya mendapatkan:
19:00:28: *** Please tell me who you are.
Run
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
Apakah saya benar-benar perlu mengatur ini untuk melakukan yang sederhana git pull origin master
setiap kali saya memperbarui server aplikasi? Apakah ada cara lain untuk mengabaikan perilaku ini sehingga tidak salah saat nama dan email tidak disetel?
git pull
akan membuat komit, karena itu menggabungkan, misalnya.Jawaban:
Saya menghabiskan banyak waktu ketika saya memanggil skrip php untuk init dan melakukan git. Dan saya menemukan alur kerja harus:
Jika Anda bertukar [23] dan 1, konfigurasi tidak akan berfungsi sama sekali.
Berharap ini akan membantu.
sumber
--global
beralih kegit config
perintah, dan melakukannya sekali untuk akun OS Anda. Setelah itu langkah 2-3 tidak diperlukan.Alih-alih melakukan
git pull
, Anda dapat melakukan:Tidak satu pun dari mereka yang mengharuskan Anda untuk mengkonfigurasi nama pengguna / email git Anda.
Ini akan menghancurkan perubahan / komitmen lokal yang tidak dikomit, dan akan membuat KEPALA Anda menunjuk ke sebuah komit (bukan cabang). Tapi tak satu pun dari itu seharusnya menjadi masalah bagi server aplikasi karena Anda tidak boleh membuat perubahan lokal atau melakukan repositori itu.
sumber
git fetch && git reset --hard HEAD
?git reset --hard HEAD
hanya membuang perubahan yang tidak dikomit, tidak mengubah komit apa yang menjadi dasar ruang kerja Anda (karena menurut definisi Anda sudah menggunakan HEAD)Jika Anda menggunakan sourcetree: Repository -> Pengaturan Repository -> Advanced -> hapus centang kotak "Gunakan pengaturan pengguna global"
bekerja sangat baik untuk saya.
sumber
ini berfungsi untuk saya, coba ini .. Anda perlu mengkonfigurasi terminal Anda dengan akses jarak jauh.
sumber
Perbarui proses bootstrap Anda untuk membuatnya
${HOME}/.gitconfig
dengan konten yang tepat, atau menyalin yang sudah ada dari suatu tempat.sumber
Ini bekerja baik untuk saya.
sumber
Masalah yang sama terjadi pada saya dan mengatasinya dengan menambahkan nama default dan Pengaturan Repositori email.
Seperti yang disarankan Doron -
Jika Anda menggunakan sourcetree: Repository -> Pengaturan Repository -> Advanced -> hapus centang pada kotak "Use global user settings".
Tambahkan nama dan alamat email default.
sumber
Dalam kasus saya, saya tidak memiliki "e" pada kata "email" seperti yang dinyatakan Chad di atas, tetapi saya melihat tidak demikian halnya dengan Anda. Silakan tekan perintah berikut untuk melihat apakah semuanya menarik seperti yang diharapkan.
sumber
Anda harus Menulis email Anda seperti itu
Lalu: Tulis Nama Pengguna
Setelah itu jendela Poupup akan muncul
Tulis USERNAME & EMAIL Untuk Acount yang ingin Anda berkontribusi
sumber
Bagi saya masalahnya adalah koneksi jaringan, setelah saya menghubungkan kembali ke wifi saya, itu bisa mengambil detail dan melakukan tanpa masalah.
sumber
Ini akan bertanya sekali saja dan memastikan bahwa kunci publik rsa untuk mesin ini ditambahkan ke akun github Anda yang Anda coba komit atau melewati permintaan tarik.
Informasi lebih lanjut tentang ini dapat ditemukan: Di sini
sumber
Saya memiliki ini sebagai pesan kesalahan yang salah:
git pull
berfungsi dengan baik pada baris cmdgit pull
gagal dalam proses Perl CGI (webhook untuk auto-deploy dari github) dengan kesalahan di atas.Melakukan
git status
identifikasi file bentrok. Mengurutkannya memperbaiki masalah.Masalah terulang kembali nanti ketika saya mengubah beberapa pengaturan konfigurasi.
Kali ini, menyetel $ HOME dan $ USER env vars memperbaikinya (tidak disetel secara default dalam proses CGI)
sumber
Lihatlah file konfigurasi.
Repositori> Pengaturan Repositori> Edit file konfigurasi.
Periksa apakah
[user]
ada bagian. Jika bagian pengguna tidak ada, tambahkan.Contoh:
sumber
saya menggunakan heroku cli 1. harus menggunakan semua nama pengguna dan email pengguna
$ git config --global user.email email .login.
$ git config --global user.name nama .heroku.
git add *
5 git commit -m "setelah mengkonfigurasi user.name, email pengguna"
git dorong master heroku
sumber
Saya menggunakan Jenkins dan mengalami masalah ini ketika mencoba melakukan rilis (yang membutuhkan git commit). Untuk memperbaiki masalah ini, saya perlu menambahkan nama pengguna / alamat email kustom (lihat gambar) ini memastikan bahwa ketika kode itu diperiksa itu menggunakan nama pengguna saya / alamat email saat melakukan rilis. Catatan, konfigurasi ini tersedia dari konfigurasi proyek Jenkins Multibranch Pipeline.
sumber
git pull
seharusnya tidak memerlukan ini. Namun jika tarikan menyebabkan konflik gabungan, maka tampaknya perlu.sumber
IMHO, cara yang tepat untuk mengatasi kesalahan ini adalah mengkonfigurasi file konfigurasi git global Anda.
Untuk melakukannya jalankan perintah berikut:
git config --global -e
Editor akan muncul di mana Anda dapat memasukkan konfigurasi default git Anda.
Inilah beberapa:
Untuk detail lebih lanjut, lihat Menyesuaikan Konfigurasi Git - Git
Ketika Anda melihat perintah seperti,
git config
...... Anda dapat memasukkannya ke file konfigurasi git global Anda sebagai:
Untuk sekali konfigurasi, Anda dapat menggunakan sesuatu seperti
git config --global user.name 'your_username'
Jika Anda tidak mengatur konfigurasi git Anda secara global, Anda harus melakukannya untuk setiap repo git yang bekerja dengan Anda secara lokal.
Pengaturan user.name dan user.email memberi tahu git siapa Anda, sehingga
git commit
perintah selanjutnya tidak akan mengeluh,*** Please tell me who you are.
Sering kali, perintah git menyarankan Anda menjalankan bukan apa yang harus Anda jalankan. Kali ini, perintah yang disarankan tidak buruk:
Kiat: Sampai saya terbiasa dengan git, membuat cadangan file proyek saya - sebelum menjalankan perintah git yang disarankan dan menjelajahi hal-hal yang saya pikir akan berhasil - menyimpan bacon saya di lebih dari beberapa kali.
sumber
Tidak dapat mendeteksi alamat email secara otomatis.
Secara default dibutuhkan seperti nama pengguna sistem Anda
[email protected]
.Jadi, Anda perlu mengatur email Anda seperti di bawah ini:
Setelah mengatur email Anda dapat menjalankan perintah git dan melakukan perubahan Anda.
sumber
Saya mengalami pesan kesalahan ini ketika mencoba melakukan beberapa file.
Cukup menjalankan
git fetch
lalu mencoba komit saya lagi bekerja untuk saya.sumber
Untuk memperbaikinya saya menggunakan: git config --global user.email "[email protected]" dan berfungsi.
user.mail tidak ada pekerjaan, perlu menempatkan E. Typo mungkin?
sumber
Itu salah ketik. Anda secara tidak sengaja mengatur "user.mail" tanpa " e ". Memperbaikinya dengan menetapkan "pengguna. E mail" dalam konfigurasi global dengan
git config --global user.email "[email protected]"
Temukan solusinya di sini
https://stackoverflow.com/a/14662703
sumber