Rumah > Artikel > alat pembangunan > Ringkasan terperinci! Operasi biasa Git
Artikel ini membawakan anda pengetahuan yang berkaitan tentang Git Terutamanya meringkaskan isu operasi biasa, termasuk membuat gudang, melihat fail, menambah fail, mengalih keluar fail, mengubah suai kandungan, dsb. Soalan, harap ia membantu semua orang.
Pembelajaran yang disyorkan: "Tutorial Git"
Buka diperlukan Untuk mencipta lokasi gudang, buka antara muka perintah Git
atau masukkan Terminal untuk mencipta gudang. git init
Selepas penciptaan selesai, anda akan digesa
Gudang Initialized empty Git repository in /Users/huaqiangsun/Git/.git/
kosong telah dimulakan dalam direktori semasa, dan anda boleh melihat folder Git
tambahan dalam direktori ( biasanya folder tersembunyi, Di bawah Mac, anda boleh menggunakan kombinasi kekunci pintasan .git
untuk melihat fail tersembunyi). shift cmd .
, konsep Git
ruang kerja, kawasan pementasan dan pustaka versi sering disebut istilah yang sangat biasa. , sebenarnya, ruang kerja secara amnya merujuk kepada direktori di mana fail yang boleh kita lihat dan fail operasi setempat terletak di sini dibahagikan kepada fail terkawal versi dan fail yang tidak berada di bawah kawalan versi. Apabila
Fail baharu dalam ruang kerja dan fail yang telah diubah suai dan berada di bawah kawalan versi boleh ditambah ke kawasan pementasan menggunakan index
, yang bersamaan dengan Daftar dan berikan nama anda Apabila menyerahkan kepada repositori pada masa hadapan, anda akan membawa semua fail yang didaftarkan, sebenarnya, fail yang melaksanakan perintah git add file_name
akan menghasilkan objek objek yang sepadan dan meletakkannya dalam <. direktori> Status akan berubah Untuk git add
, cawangan akan merujuk objek ini apabila melakukan repositori. .git/objects
staged
Repositori ialah destinasi untuk pengubahsuaian fail Pengubahsuaian akhir akan diserahkan kepada repositori Pada masa ini, status fail yang diserahkan menjadi
repositori akan merekodkannya Setiap kali anda menyerahkan, anda boleh mengesan kandungan setiap pengubahsuaian yang anda buat. committed
unmodified
Status fail biasanya boleh dibahagikan kepada:
bukan di bawah kawalan versiAntaranya,status;
- Status ;
untracked
di bawah kawalan versi dan diubah suai- status yang telah diubah suai di bawah kawalan versi dan diserahkan kepada kawasan pementasan;
modified
- status yang telah dihantar dari kawasan pementasan ke gudang tempatan; >
diserahkan kepada gudang tempatan tanpa pengubahsuaian atau diklon dari gudang jauhstaged
Statuscommitted
- Gunakan
unmodified
untuk melihat pengubahsuaian fail dan fail tidak komited dalam semasa; gudang .
git status
merupakan fail yang sudah wujud di dalam kawasan simpanan sementara dan perlu diserahkan ke gudang
Fail yang belum dihantar ke kawasan pementasan adalah fail yang telah dimanipulasi perlu ditambah ke kawasan cache menggunakan
- dan kemudian diserahkan ke gudang; >
kawasan, jika tidak, fail dalam gudang selepasChanges to be committed
ialah fail yang belum dimasukkan ke dalam kawasan pementasan; dalam kawasan storan bukan sementara dan perlu ditambahkan ke kawasan storan sementara sekali lagi- tidak akan mengandungi kandungan pengubahsuaian sekunder.
RingkasanChanges not staged for commit
add
Untracked files
Anda hanya boleh melihat bilangan penyerahan yang belum dihantar, tetapi bukan maklumat fail tertentu; >add
Anda hanya boleh melihat penerangan/arahan penyerahan yang belum dihantar; commit
boleh melihat maklumat terperinci tentang penyerahan yang belum dihantar; kawasan pementasan Tambah fail dalam Gunakan
untuk menambah fail pada kawasan pementasan.Apabila memadamkan fail yang telah dihantar ke gudang daripada cakera, kerana fail itu masih wujud dalam cache gudang, gunakanJika tiada mesej digesa, ini bermakna fail telah berjaya ditambahkan.
git status
Untuk menambah fail, anda perlu mengisi laluan fail yang betul Jika anda perlu menambah berbilang fail, gunakan ruang untuk memisahkannya.- 4. Hantar fail dalam kawasan pementasan
Gunakangit cherry -v
- untuk menghantar fail yang telah ditambahkan ke kawasan pementasan boleh dihantar untuk setiap penyerahan.
5. Keluarkan fail dari gudanggit log master ^origin/master
Jika operasi semasa adalah kesilapan, anda boleh mendapatkan semula fail melalui operasi rollback. git add [fileName ...]
Jika anda ingin memadam fail yang telah diubah suai sebelum ini atau telah diletakkan di kawasan storan sementara, anda mesti menggunakan parameter pilihan pemadaman paksa -f
.
Jika beberapa fail yang tidak diperlukan diserahkan ke gudang kerana salah operasi, anda boleh menggunakan --cached
untuk memadam hanya rekod dalam gudang tanpa memadamkannya daripada cakera.
git rm
Nama fail atau direktori boleh disenaraikan selepas arahan, atau corak glob
boleh digunakan. Contohnya: git rm log/*.log
.
Perhatikan garis miring ke belakang *
sebelum asterisk Kerana
Git
mempunyai kaedah pemadanan corak fail sendiri, tidak perlu shell
untuk membantu mengembangkan. Perintah ini memadamkan semua fail dengan sambungan log/
dalam direktori .log
.
Untuk sesetengah fail log, fail sementara dan fail konfigurasi atau output yang dijana oleh sesetengah perisian, pengurusan fail tidak diperlukan, jadi anda boleh mencipta fail .gitignore
. Nama atau ungkapan fail yang diabaikan ditulis ke dalam fail .gitignore
untuk mencapai tujuan mengabaikan fail. Spesifikasi format
fail .gitignore
adalah seperti berikut:
#
akan diabaikan oleh Git. glob
standard, yang akan digunakan secara rekursif di seluruh ruang kerja. /
) untuk mengelakkan pengulangan. /
). !
) sebelum corak. git
turut menyokong mod Glob
, iaitu ungkapan biasa yang dipermudahkan dalam Glob
. Shell
*
[abc]
?
Jika tanda sempang digunakan untuk memisahkan dua aksara dalam kurungan segi empat sama, ia bermakna semua Apa-apa sahaja dalam dua julat aksara ini; boleh dipadankan (contohnya, [0-9] bermaksud memadankan semua nombor dari 0 hingga 9). **
Langkah-langkah untuk pengesahan fail adalah seperti berikut: .gitignore
7. Lihat kandungan pengubahsuaian FailMenggunakan
// Semak status dan sahkan sama ada fail yang diabaikan telah disertakan
git status --ignored
// Kosongkan cache, -r bermaksud pemadaman rekursif
git rm -r --cached .
// Semak kesan khusus
git status --ignored
// Jejak semula fail
git add .
// Serah dan komen
git commit -m "update .gitignore"
hanya boleh melihat status pengubahsuaian setiap fail, tetapi anda tidak dapat melihat kandungan setiap fail yang telah diubah suai, jadi anda boleh menggunakan git status
untuk melihat perbandingan pengubahsuaian semua fail penjejakan . git diff
Perlu diingat bahawa
digunakan untuk melihat kandungan yang diubah suai dalam fail tidak berperingkat Sebaik sahaja fail itu ditambahkan ke kawasan berperingkat, anda tidak lagi boleh melihat pengubahsuaian melalui git diff
Kandungan , perlu menggunakan git diff
. git diff --cached
. git mv [oldFileName] [new FileName]
Operasi penamaan semula akan dibahagikan kepada tiga langkah Langkah pertama ialah menamakan semula fail, kemudian memadam fail asal dari gudang, dan akhirnya menambah fail baharu ke kawasan storan sementara untuk menunggu penyerahan. Git
$ mv README.md LOOKME.md $ git rm README.md $ git add LOOKME.mdJika anda mengubah suai fail secara berkelompok melalui perisian, anda juga mesti mengikuti proses ini untuk memadamkan fail asal dahulu dan kemudian menambah fail baharu. 9. Buat asal operasi Apabila kandungan fail diserahkan atau diubah suai disebabkan oleh beberapa ralat operasi, anda boleh menggunakan
operasi rollback untuk kembali ke keadaan sebelum pengubahsuaian. Git
untracked
modified
staged
committed
unmodified
atau git restore --staged [fileName]
untuk memulihkan fail dalam kawasan pementasan. git reset HEAD [fileName]
Penerangan: Perintah
git restore
baru ditambahkan selepas versiGit 2.23
Ia digunakan untuk berkongsi fungsi perintahgit checkout
Dengan menimpa pengubahsuaian fail tempatan dengan fail dalam kawasan pementasan atau pustaka versi, Untuk mencapai tujuan mengembalikan pengubahsuaian, anda juga boleh menggunakan fail dalam repositori untuk menulis ganti fail dalam kawasan storan sementara untuk melancarkan perintahgit add
.
!! Ambil perhatian bahawa operasi ini tidak akan menjejaskan rekod cawangan, ia bersamaan dengan perintahgit checkout
sebelumnya untuk menyemak semula fail untuk menulis ganti pengubahsuaian setempat.
git reset
sebenarnya digunakan untuk menetapkan titik kepala cawangan Selepas membuat beberapa siri penyerahan, tiba-tiba saya mendapati terdapat masalah dengan penyerahan baru-baru ini dan ingin memadamkannya daripada penyerahan. rekod. Ya, perintah git reset
akan digunakan diikuti oleh commit id
, yang bermaksud bahawa cawangan semasa digulung semula ke keadaan yang sepadan dengan rekod log berikutnya. Status fail dalam ruang kerja bergantung pada parameter yang akan dipulihkan kepada keadaan yang berbeza. commit id
: Pengubahsuaian versi yang telah digulung semula akan diletakkan di kawasan pementasan dan boleh diserahkan semula. --soft
: Pilihan lalai, perubahan pada versi yang digulung semula akan diletakkan dalam direktori kerja ia boleh ditambahkan ke kawasan pementasan dahulu dan kemudian diserahkan. --mixed
: Perubahan dalam versi gulung belakang akan dibuang terus, seolah-olah ia tidak pernah datang. --hard
untuk melancarkan semula fail ke keadaan yang sepadan dengan versi yang ditunjukkan oleh git rest HEAD file_name
, yang sebenarnya ialah keadaan dalam pustaka versi semasa, iaitu setara dengan pemulihan. HEAD
: git add
git rm --cached newfile
git restore --staged newfile
git reset HEAD newfile
Nota: Apabila menggunakan dua arahan terakhir, ia tidak boleh menjadi fail pertama dalam repositori.
9.2 Buat asal pengubahsuaian pada fail Gunakan untuk melancarkan semula fail ke keadaan terakhir diserahkan. git checkout -- [fileName]
adalah perintah yang berbahaya. Sebarang pengubahsuaian setempat yang anda buat pada fail itu akan hilang. git checkout -- <file></file>
akan menimpanya dengan versi yang paling baru dilakukan. Jangan gunakan arahan ini melainkan anda tahu pasti bahawa anda tidak mahu membuat pengubahsuaian setempat pada fail tersebut. Git
Pernyataan: Memandangkan fail yang belum ditambahkan pada kawasan pementasan tidak dapat dikesan, sebarang pengubahsuaian padanya tidak boleh ditarik balik! Ini hanya boleh dilakukan melalui operasi buat asal fail tempatan.
10 Lihat sejarah operasi Jika anda ingin melihat semua maklumat penyerahan dalam projek, anda boleh menggunakan untuk mencetak rekod penyerahan semua peserta. git log
yang diserahkan, nama pengarang dan alamat e-mel serta masa penyerahan, disusun mengikut urutan terbalik masa penyerahan. SHA-1
Selain
yang ringkas, anda juga boleh menambah parameter untuk menapis dan memformat maklumat output: git log
: Ia akan dipaparkan setiap Perbezaan yang diperkenalkan oleh komit. Ia juga mungkin untuk mengehadkan bilangan entri log yang dipaparkan, contohnya menggunakan pilihan -2 untuk hanya memaparkan dua komit terkini. -p --patch
: Senaraikan semua fail yang diubah suai, bilangan fail yang telah diubah suai dan bilangan fail yang diubah suai di bawah setiap penyerahan Baris yang telah dialih keluar atau ditambah. Terdapat juga ringkasan pada akhir setiap penyerahan. --stat
: Pilihan ini mempunyai beberapa sub-pilihan terbina dalam untuk anda gunakan. Contohnya, --pretty
akan memaparkan setiap penyerahan pada satu baris, yang sangat berguna apabila menyemak imbas sebilangan besar penyerahan. Terdapat juga pilihan oneline
, short
dan full
, yang memaparkan maklumat dalam format yang sama, tetapi dengan tahap perincian yang berbeza fuller
Gunakan
untuk menyesuaikan format pencetakan; . Maklumat format yang biasa digunakan adalah seperti berikut: formart
$ git log --pretty=oneline
$ git log --pretty=short
$ git log --pretty=full
$ git log --pretty=fuller
修改文件人员与提交文件人员可以不是同一个人,所以在查询日志时会区分修改人与提交人。
推荐学习:《Git学习教程》
Atas ialah kandungan terperinci Ringkasan terperinci! Operasi biasa Git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!