Saya mencoba melakukan beberapa perubahan sebagai pengguna yang berbeda, tetapi saya tidak memiliki alamat email yang valid, perintah berikut tidak berfungsi untuk saya:
git commit --author="john doe" -m "some fix"
fatal: No existing author found with 'john doe'
Saya memiliki masalah yang sama saat mencoba berkomitmen hanya dengan alamat email
git commit --author="[email protected]" -m "some fix"
fatal: No existing author found with '[email protected]'
Pada halaman manual GIT untuk perintah komit dikatakan saya dapat menggunakan
standard A U Thor <[email protected]> format
Untuk opsi --author.
Di manakah format ini ditentukan? apa kepanjangan dari A dan U? bagaimana saya berkomitmen untuk pengguna yang berbeda hanya dengan nama pengguna atau hanya email?
Jawaban:
Format pengarang minimal yang diperlukan, seperti yang diisyaratkan dalam jawaban SO ini , adalah
Dalam kasus Anda, ini berarti Anda ingin menulis
Menurut komentar Willem D'Haeseleer, jika Anda tidak memiliki alamat email, Anda dapat menggunakan
<>
:Seperti yang tertulis di
git commit
halaman manual yang Anda tautkan, jika Anda memberikan sesuatu yang kurang dari itu, itu digunakan sebagai token pencarian untuk mencari melalui komit sebelumnya, mencari komit lain oleh penulis itu.sumber
"name <>"
, dangit commit --amend
setelahnya, itu akan gagal denganinvalid ident
kesalahan; jadi janganFormat spesifiknya adalah:
sumber
Itu
Sepertinya didefinisikan sebagai berikut: (sejauh yang saya tahu, sama sekali tidak ada jaminan)
AU Thor = nama pengguna yang diperlukan
<[email protected]> = alamat email opsional
Jika Anda tidak menggunakan sintaks yang tepat ini, git akan mencari melalui komit yang ada dan menggunakan komit pertama yang berisi string yang Anda berikan.
Contoh:
Hanya nama pengguna
Abaikan alamat email secara eksplisit:
Hanya email
Secara teknis ini tidak mungkin. Namun Anda dapat memasukkan alamat email sebagai nama pengguna dan secara eksplisit menghilangkan alamat email. Sepertinya ini tidak terlalu berguna. Saya pikir akan lebih masuk akal untuk mengekstrak nama pengguna dari alamat email dan kemudian menggunakannya sebagai nama pengguna. Tetapi jika Anda harus:
Saya berlari ke ini ketika mencoba mengubah repositori dari mercurial menjadi git. Saya menguji perintah pada msysgit 1.7.10.
sumber
Hanya suplemen :
Dalam beberapa kasus, komit masih gagal dan menampilkan pesan berikut kepada Anda:
Jadi jalankan saja "git config", lalu "git commit"
sumber
Format
hanya berarti Anda harus menentukan
Sepertinya nama tengah dan belakang adalah opsional (mungkin bagian sebelum email tidak memiliki format yang ketat sama sekali). Coba, misalnya, ini:
Seperti yang dikatakan dokumen:
jika Anda tidak menggunakan format ini, git memperlakukan string yang disediakan sebagai pola dan mencoba menemukan nama yang cocok di antara penulis commit lain.
sumber
The
--author
pilihan tidak bekerja:Ini melakukan:
sumber
git commit -c user.name="j bloggs" -am "message"
memberikan kesalahanfatal: Option -m cannot be combined with -c/-C/-F
Buka Git Bash.
Setel nama pengguna Git:
$ git config --global user.name "name family" Konfirmasikan bahwa Anda telah menyetel nama pengguna Git dengan benar:
$ git config --global user.name
Setel email Git:
$ git config --global user.email [email protected] Konfirmasikan bahwa Anda telah menyetel email Git dengan benar:
$ git config --global user.email
sumber
Itu semua tergantung pada bagaimana Anda berkomitmen.
Sebagai contoh:
git commit -am "Some message"
akan menggunakan
~\.gitconfig
nama pengguna Anda . Dengan kata lain, jika Anda membuka file itu, Anda akan melihat baris seperti ini:Itu akan menjadi email yang ingin Anda ubah. Jika Anda melakukan permintaan tarik melalui Bitbucket atau Github dll. Anda akan menjadi siapa pun yang Anda masuki.
sumber
Sebuah alternatif jika kekhawatiran adalah untuk menyembunyikan alamat email yang sesungguhnya ... Jika Anda berkomitmen untuk Github Anda tidak perlu email yang sebenarnya Anda dapat menggunakan
<username>@users.noreply.github.com
Terlepas dari menggunakan Github atau tidak, Anda mungkin pertama-tama ingin mengubah detail pelaku Anda (pada penggunaan windows
SET GIT_...
)Kemudian atur penulisnya
https://help.github.com/articles/keeping-your-email-address-private
sumber
Jalankan dua perintah ini dari terminal untuk mengatur Email dan Nama Pengguna
sumber