git commit -m 与 git commit -am 的区别
为情所困
为情所困 2017-05-02 09:36:32
0
3
989

麻烦解答下 git commit -m 与 git commit -am 的区别

为情所困
为情所困

membalas semua(3)
迷茫

Apabila pengubahsuaian telah ditambahkan pada git add <change file> melalui stage, mesej git commit -m "<message>" boleh ditambah melalui stage untuk semua perubahan yang telah dimasukkan ke dalam commit. Apa yang ada dalam stage? Lihat di bawah

Jika fail anda telah diserahkan sebelum ini, tetapi kali ini perubahan belum dibuat stage, seperti berikut:

Anda boleh menggunakan git commit -am "<message>" terus untuk menambah semua pengubahsuaian tetapi bukan stage perubahan pada stage dan merekodkan maklumat commit. (Pada tahap tertentu, ia bersamaan dengan gabungan git add dan git commit -m, dengan syarat fail yang diubah suai sudah tracked)

给我你的怀抱
git commit -am "str"
#等同于
git commit -a -m "str"

Jom jalankan

man git commit 

untuk mendapatkan maksud parameter a dan anda akan tahu perbezaannya.

PILIHAN
-a, --semua
Beritahu arahan untuk secara automatik mementaskan fail yang telah diubah suai dan >dipadamkan, tetapi fail baharu yang anda tidak beritahu Git tidak terjejas.

bermaksud

Secara automatik meletakkan semua fail yang diubah suai dan dipadamkan pada timbunan, tetapi fail yang belum anda tambahkan tidak akan terjejas.

Kembangkan

Biasanya apabila kita menyerahkan git adalah

git add .
git commit -m "some str"
git push

Ini adalah tiga langkah besar, tetapi sebenarnya, anda hanya memerlukan dua arahan, melainkan terdapat fail baharu untuk ditambahkan.

git commit -am "some str"
git push
伊谢尔伦

Diterangkan secara literal, git commit -m digunakan untuk menyerahkan fail dalam kawasan pementasan git commit -am digunakan untuk menyerahkan fail yang dijejaki

Untuk memahami perbezaannya, anda mesti terlebih dahulu memahami kitaran perubahan status fail git, seperti yang ditunjukkan dalam rajah di bawah

Semua fail di bawah direktori kerja berada dalam dua keadaan ini: dijejaki atau tidak dijejaki. Fail yang dijejaki merujuk kepada fail yang telah disertakan dalam pengurusan kawalan versi Mereka direkodkan dalam petikan terakhir Selepas bekerja untuk tempoh masa, statusnya mungkin tidak dikemas kini, diubah suai atau diletakkan di kawasan pementasan.

Berikut ialah contoh

Apabila fail seperti 'a.txt' ditambahkan pada folder projek, fail tersebut berada dalam keadaan tidak dijejaki. Fail dalam status tidak dijejaki tidak boleh diserahkan


Seterusnya, gunakan git add a.txt untuk menjadikannya dijejaki

Pada masa ini, jika anda menggunakan git commit -m 'add a.txt', anda boleh menyerahkannya dengan lancar

Tetapi, apakah perbezaan antara git commit -m dan git commit -am? Ia bergantung pada pemprosesan selepas mengubah suai fail a.txt

Seterusnya, tambah kandungan 'a' pada a.txt

Fail a.txt dijejaki tetapi tidak berperingkat. Pada masa ini, jika anda menggunakan git commit -m, anda tidak boleh menyerahkan versi terbaharu a.txt Apa yang diserahkan hanyalah versi lama a.txt dengan kandungan kosong pada permulaan

Untuk menyerahkan versi baharu a.txt, iaitu a.txt dengan kandungan 'a', anda perlu menggunakan git add a.txt untuk meletakkan versi baharu a.txt ke dalam kawasan storan sementara berperingkat , dan kemudian gunakan git commit -m untuk commit

Jika anda menggunakan git commit -am, anda boleh meninggalkan langkah git add a.txt, kerana git commit -am boleh menyerahkan fail yang dijejaki, dan a.txt telah pun dijejaki dari awal

Untuk meringkaskan, kunci kepada perbezaan antara menggunakan kedua-dua arahan ini ialah arahan git add

Arahan git add ialah perintah berbilang fungsi Bergantung pada status fail sasaran, kesan arahan ini juga berbeza: anda boleh menggunakannya untuk mula menjejaki fail baharu atau meletakkan fail yang dijejaki ke dalam storan sementara. kawasan, dan ia juga boleh digunakan untuk menggabungkan Tandakan fail bercanggah sebagai diselesaikan, dsb.

Kita perlu menggunakan arahan git add untuk menjejak fail baharu, tetapi jika anda menggunakan git commit -am, anda boleh meninggalkan fungsi menggunakan arahan git add untuk meletakkan fail yang dijejaki ke dalam kawasan pementasan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!