1. git tambah
Perintah git add membolehkan anda mula mengesan fail dan folder untuk repositori Git anda dan memindahkannya ke kawasan pementasan. Anda harus menggunakan perintah git komit untuk menjadikannya kekal pada gambar sejarah anda.
Menggunakan arahan itu mudah. Anda boleh memilih untuk menambah fail dan folder secara individu atau menggunakan operator glob jenis asterisk (*) Linux untuk menambahkannya dalam kumpulan.
Mari kita ambil contoh di bawah:
Andaikan, dalam kes di atas, kita telah menambahkan ReadMe.txt. Tetapi selebihnya fail belum ditambahkan.
Mari periksa statusnya:
status $ gitPada tuan cawangan
Cawangan anda terkini dengan 'origin / master'.
Fail yang tidak dilacak:
(gunakan 'git add
fail1.txt
fail2.txt
folder1 /
Fail dan folder berwarna merah yang bermaksud tidak dijejaki. Kami boleh menambahkannya menggunakan:
$ git tambah fail1.fail txt2.folder txt1 / *Sekiranya kita memeriksa statusnya sekarang:
status $ gitPada tuan cawangan
Cawangan anda terkini dengan 'origin / master'.
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
fail baru: fail1.txt
fail baru: fail2.txt
fail baru: folder1 / file3.txt
fail baru: folder1 / file4.txt
Perintah git add telah menambahkan fail ke kawasan pementasan. Fail disimpan di kawasan pementasan sebelum membuatnya kekal melalui proses komit.
2. cawangan git
Di Git, percabangan itu mudah. Dalam sistem kawalan versi lain, ia adalah operasi yang mahal. Tetapi algoritma Git dioptimumkan untuk percabangan. Oleh itu, anda boleh menggunakan perintah git branch bila-bila masa anda ingin membuat garis pengembangan yang terpisah tanpa perlu risau tentang prestasi.
Mari lihat contoh berikut.
status $ gitPada tuan cawangan
Cawangan anda terkini dengan 'origin / master'.
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
fail baru: fail1.txt
fail baru: fail2.txt
fail baru: folder1 / file3.txt
fail baru: folder1 / file4.txt
Perhatikan bahawa kita adalah 'On branch master'. Apabila anda membuat projek baru, anda akan menjadi master cawangan. Anda juga boleh menggunakan perintah git branch -a untuk mengetahui di cawangan mana anda berada:
cawangan $ git -a* tuan
Perkara di atas memberitahu anda bahawa hanya ada satu cabang yang disebut 'master' dan tanda bintang (*) bermaksud anda berada di cawangan itu.
Mari buat cawangan baru yang dipanggil 'testing':
ujian cawangan $ gitSekarang kita dapat memeriksa cawangannya lagi:
cawangan $ git -a* tuan
ujian
Walaupun, kita masih berada di cawangan 'master', kita juga dapat melihat cabang 'pengujian' baru yang telah dibuat. Cabang 'testing' adalah replika cawangan 'master'.
3. git checkout
Perintah git checkout membawa anda ke cawangan, supaya anda dapat memanfaatkan sumber yang ada di sana. Anda boleh menganggap cawangan sebagai sungai dan sungai. Dengan cawangan, anda membuat aliran baru. Dengan arahan pembayaran, anda beralih ke aliran itu.
Mari lihat cabang 'pengujian' dari contoh sebelumnya:
Ujian pembayaran $ gitBeralih ke 'ujian' cawangan
Sekarang mari kita periksa status dan cawangannya lagi:
status $ gitPada ujian cawangan
tiada apa yang perlu dilakukan, direktori kerja bersih
cawangan $ git -a
tuan
* ujian
Anda dapat melihat dari perintah git branch -a bahawa kami telah berpindah ke cabang ujian.
4. klon git
Perintah git clone membolehkan anda membuat salinan mana-mana repositori Git. Sebaik sahaja anda mengklon repositori, folder kloning baru akan mula mengikuti perubahan secara tempatan. Kerana Git diedarkan, klon adalah repositori Git sepenuhnya autonomi.
Untuk menunjukkan bagaimana pengklonan berfungsi, mari buat repositori baru:
$ mkdir dir1$ cd dir1
$ mkdir myproject
$ cd projek saya /
$ git init
Repositori Git kosong yang dimulakan di / dir1 / myproject /.git /
$ sentuh ReadMe.txt
$ git commit -m 'Permulaan repositori saya'
[master (root-komitmen) 5a0bd75] Memulakan repositori saya
1 fail diubah, 0 sisipan (+), 0 penghapusan (-)
buat mod 100644 ReadMe.txt
Dalam contoh di atas, kami telah membuat repositori Git yang disebut 'myproject' di dalam folder 'dir1'. Katakan, ini adalah repositori utama kami. Sekarang kita mahu membuat salinannya dan bekerja di tempat lain.
Mari buat direktori bernama 'dir2' dan klon repositori 'myproject'. Kami menggunakan klon git
$ cd dir2
$ git clone / dir1 / myproject /
Pengklonan ke 'myproject' ..
selesai.
$ ls
projek saya
Perintah git clone berfungsi dengan URL juga.
$ git klon https: // github.com / ujian / ujian.gitAnda juga boleh menukar nama klon dengan menentukannya selepas alamat repositori Git:
$ git klon https: // github.com / ujian / ujian.git mytest5. git komit
Perintah git comm dijalankan selepas perintah git add. Dalam contoh git add kami, kami telah menambahkan fail untuk dijejaki, tetapi kami tidak memberikannya ke repositori Git. Penjejakan tetap dilakukan sehingga komit dibuat. Apabila anda melakukan perubahan, perubahan tersebut menjadi sebahagian daripada rekod tetap.
Di bawah ini kami menjalankan git commit -m
[master 3ef57b3] Melakukan fail dan folder saya
4 fail diubah, 0 sisipan (+), 0 penghapusan (-)
buat mod 100644 fail1.txt
buat mod 100644 fail2.txt
buat mod 100644 folder1 / file3.txt
buat mod 100644 folder1 / file4.txt
Sekiranya anda tidak menggunakan pilihan -m untuk memberikan komen, Git akan membuka editor teks lalai anda dan memintanya. Komen dianggap sebagai amalan kawalan versi yang baik. Oleh itu, selalu masukkan komen yang bermakna dalam komitmen anda.
6. konfigurasi git
Perintah konfigurasi git membolehkan anda mengatur pelbagai pilihan untuk git repositori anda. Sebagai contoh, anda boleh menggunakan git config -global
Inilah cara anda dapat menetapkan nilai:
$ git config - pengguna global.nama 'Zak H'$ git config - pengguna global.e-mel zakh @ contoh.com
Inilah cara anda dapat memeriksa nilai:
$ git config - pengguna global.namaZak H
$ git config - pengguna global.e-mel
zakh @ contoh.com
7. perbezaan git
Perintah git diff membantu anda melihat perbezaan antara fail dan folder. Sekiranya anda membuat perubahan dalam fail, ini adalah alat yang berguna untuk menilai perubahan yang anda buat dengan cepat.
Katakan kita memulakan kerja kita dengan ReadMe.fail txt dengan dua baris. Kemudian kita menyingkirkan baris kedua dan menambah baris ketiga.
Sekarang jika kita menjalankan perintah diff, ia akan menunjukkan perbezaan antara versi komited dan versi lokal yang diubah di kawasan pementasan. Begini rupa:
$ git perbezaandiff --git a / ReadMe.txt b / ReadMe.txt
indeks 9475ddc… 1804904 100644
--- a / BacaMe.txt
+++ b / BacaMe.txt
@@ -1,2 +1,2 @@
Baris 1: Baris pertama saya
-Baris 2: Baris kedua saya
+Baris 3: Garis KETIGA saya
Baris 1 tidak berubah (putih), Garis 2 dikeluarkan (merah) dan Garis 3 ditambah (hijau).
Anda boleh menggunakan perintah diff untuk mencari perbezaan antara komit tertentu.
8. ambil git
Perintah pengambilan git mendapat sumber terkini dari asal yang ditentukan.
Mari lihat contohnya. Sepatutnya anda mempunyai syarat berikut:
dir1 / myprojekdir2 / myproject (diklon)
Folder 'dir2 / myproject' diklon dari 'dir1 / myproject'. Sekarang jika seseorang melakukan perubahan pada 'dir1 / myproject', anda boleh mendapatkan perubahan seperti ini dari dalam 'dir2 / myproject':
asal $ git fetchjarak jauh: Membilang objek: 2, selesai.
jauh: Memampatkan objek: 100% (2/2), selesai.
jauh: Jumlah 2 (delta 0), digunakan semula 0 (delta 0)
Membongkar objek: 100% (2/2), selesai.
Dari / dir2 /… / dir1 / myproject
5a0bd75… 1713734 master -> asal / tuan
Penting untuk diingat bahawa perintah git fetch tidak menggabungkan perubahan. Untuk pengambilan dan penggabungan automatik, gunakan perintah git pull. Maka anda mungkin tertanya-tanya mengapa menggunakan perintah ini sejak awal. Mungkin ada pilihan Git lanjutan di mana anda mendapat semua perubahan dari pelayan asal anda dan kemudian hanya menerapkan perubahan secara terpilih pada fail tertentu. Perintah pengambilan git membolehkan anda mencapainya. Walau bagaimanapun, ini adalah topik lanjutan yang boleh anda temui dalam dokumentasi pengambilan git.
9. git grep
Perintah git grep membolehkan anda mencari maklumat mengenai pokok Git anda. Berikut adalah contoh mencari perkataan 'Line' di git repositori kami. Pilihan -n atau --line-number menunjukkan nombor garis di mana Git menemui padanan:
$ git grep -n TalianBaca saya.txt: 1: Baris 1: Baris pertama saya
Baca saya.txt: 2: Baris 3: Garis KETIGA saya
Anda boleh menjalankan carian yang serupa untuk berapa kali pertandingan ada dengan pilihan -c atau -count:
git grep -c LineBaca saya.txt: 2
Sebab penggunaan git grep melalui Linux grep adalah kerana git grep lebih pantas untuk git repositori.
10. log git
Perintah log git menunjukkan sejarah komitmen kepada anda.
$ git logkomited 171373479fc309846ef605fbe650933767afd0fb
Pengarang: Zak H
Tarikh: Rab 21 Nov 20:26:32 2018 -0800
Fail baru ditambah
komited 5a0bd759506d20b2b989873258bf60d003aa3d36
Pengarang: Zak H
Tarikh: Rab 21 Nov 18:48:35 2018 -0800
Permulaan repositori saya
Anda juga dapat menggunakan opsi --online untuk melihat versi yang disingkat. Versi yang disingkat lebih mudah diikuti.
$ git log - talian1713734 Fail baru ditambahkan
5a0bd75 Memulakan repositori saya
11. git bergabung
Perintah git merge menggabungkan cabang.
Mari buat repositori baru dengan 'utama' dan kemudian buat cabang 'ujian'.
$ mkdir myproject$ cd myprojek
$ git init
Repositori Git kosong yang dimulakan di / git_essentials / myproject /.git /
$ sentuh ReadMe.txt
$ git tambah -A
$ git komit -m 'Komitmen awal'
[master (root-komit] b31d4e1] Komitmen awal
1 fail diubah, 0 sisipan (+), 0 penghapusan (-)
buat mod 100644 ReadMe.txt
ujian cawangan $ git
cawangan $ git -a
* tuan
ujian
ujian pembayaran $ git
Beralih ke 'ujian' cawangan
Di cabang 'ujian', mari buat beberapa perubahan:
$ sentuh Fail1.txt Fail2.txt$ Ls
Fail1.txt Fail2.txt BacaMe.txt
$ git tambah -A
$ git commit -m 'Menambah dua fail baru'
[test 7e11910] Menambah dua fail baru
2 fail diubah, 0 sisipan (+), 0 penghapusan (-)
buat mod 100644 Fail1.txt
buat mod 100644 Fail2.txt
Kami telah menambahkan dua fail untuk ujian.
cawangan $ git -atuan
* ujian
$ ls
Fail1.txt Fail2.txt BacaMe.txt
$ git master checkout
Beralih ke cawangan 'tuan'
cawangan $ git -a
* tuan
ujian
$ ls
Baca saya.txt
Kami melihat dari atas, bahawa File1.txt dan Fail2.txt wujud di cabang 'test', tetapi tidak di 'master'.
Mari bergabung sekarang.
ujian penggabungan $ gitMengemas kini b31d4e1… 7e11910
Maju pantas
Fail1.txt | 0
Fail2.txt | 0
2 fail diubah, 0 sisipan (+), 0 penghapusan (-)
buat mod 100644 Fail1.txt
buat mod 100644 Fail2.txt
$ ls
Fail1.txt Fail2.txt BacaMe.txt
cawangan $ git -a
* tuan
ujian
Sekarang kita mempunyai 'File1.txt 'dan' Fail2.txt 'di cawangan' master 'juga.
Catatan: Fikirkan penggabungan sebagai operasi tarik. Anda mesti berada di cawangan yang ingin anda gabungkan. Dalam kes ini, anda berada di cawangan 'master' menarik perubahan dari cabang 'ujian'.
12. git mv
Git mv adalah arahan jalan pintas untuk menjalankan perintah git add dan git rm. Ia boleh digunakan untuk menamakan semula fail.
Berikut adalah contoh:
$ git mv ReadMe.txt BacaMe.mdstatus $ git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
dinamakan semula: ReadMe.txt -> BacaMe.md
13. tarik git
Perintah tarik git serupa dengan pengambilan git, kecuali penggabungan berlaku secara automatik.
Berikut adalah contoh menjalankan git pull origin seperti git fetch (kami menjalankan permintaan tarik dari klon untuk mendapatkan perubahan dari repositori Git yang asal):
$ git tarik asaljauh: Membilang objek: 3, selesai.
jauh: Memampatkan objek: 100% (2/2), selesai.
jauh: Jumlah 3 (delta 0), digunakan semula 0 (delta 0)
Membongkar objek: 100% (3/3), selesai.
Dari / LearnGIT / git_essentials / myproject
7e11910… e67f932 master -> asal / induk
Mengemas kini 7e11910… e67f932
Maju pantas
Fail1.txt | 1 +
Fail2.txt | 1 +
Fail3.txt | 1 +
Baca saya.txt => BacaMe.md | 0
4 fail diubah, 3 sisipan (+)
buat mod 100644 Fail3.txt
namakan semula ReadMe.txt => BacaMe.md (100%)
Anda dapat melihat bahawa perubahan telah dimuat turun dari asal dan digabungkan menjadi klon.
14. tolak git
Perintah push git digunakan untuk mendorong perubahan ke repositori jauh. Berikut adalah contoh menjalankan arahan tekan:
$ git push origin masterMembilang objek: 2, selesai.
Pemampatan Delta menggunakan hingga 4 utas.
Memampatkan objek: 100% (2/2), selesai.
Objek penulisan: 100% (2/2), 242 bait | 0 bait, selesai.
Jumlah 2 (delta 1), digunakan semula 0 (delta 0)
Kepada / LearnGIT / git_essentials / myproject
e67f932… 90dc546 master -> master
Perintah master asal git push menghantar perubahan pada cabang 'master' asal (repositori Git yang anda kloning) dari cabang 'master' dari repositori kloning. Secara visual, dorongan kelihatan seperti ini:
kloning / induk -> asal / induk15. git rebase
Perintah git rebase membantu anda mengubah pangkal cawangan. Dalam penggabungan umum, perkara seperti ini berlaku:
Cabang ujian telah digabungkan menjadi cabang 'master' untuk membuat komit baru.
Secara rebase, inilah yang berlaku:
Perubahan dari senarai perubahan E dan F dikira semula dan disekat di hujung cabang induk. Melancarkan semula membantu mempermudah ranting.
Anggaplah kita mempunyai situasi ini di cabang 'master':
$ git log - talian7f573d8 Komitmen C: tambah c.txt
795da3c Komitmen B: tambah b.txt
0f4ed5b Komit A: tambah a.txt
Dan cabang ciri:
$ git log - talian8ed0c4e Komitmen F: diubah suai b.txt
6e12b57 Komitmen E: diubahsuai a.txt
795da3c Komitmen B: tambah b.txt
0f4ed5b Komit A: tambah a.txt
Sekiranya kita rebase, kita akan mendapat master git rebase:
ciri $ git checkoutBeralih ke 'ciri' cawangan
master $ git rebase
Pertama, putar kepala untuk memutar semula karya anda di atasnya…
Mengaplikasi: Komit E: diubahsuai a.txtMengaplikasi: Komit F: diubahsuai b.txt
Kemudian gabungkan 'ciri' menjadi 'master'.
$ git master checkout
Beralih ke cawangan 'tuan'
ciri gabungan $ git
Mengemas kini 7f573d8… 9efa1a3
Maju pantas
a.txt | 1 +
b.txt | 1 +
2 fail diubah, 2 sisipan (+)
Sekarang jika anda pergi ke cawangan 'master' dan 'feature', anda akan melihat log yang sama:
$ git log - talian9efa1a3 Komitmen F: diubah suai b.txt
8710174 Komit E: diubahsuai a.txt
7f573d8 Komitmen C: tambah c.txt
795da3c Komitmen B: tambah b.txt
0f4ed5b Komit A: tambah a.txt
Rebasing telah menyatukan mereka.
Catatan: Jangan sekali-kali menggunakan rebasing di repositori awam kerana pembangun akan menghadapi masalah penggabungan utama.
16. git jauh
Perintah jarak jauh git membolehkan anda menetapkan pelayan jauh untuk repositori anda. Dalam keadaan pengklonan, repositori sumber secara automatik menjadi alat kawalan jauh.
Sebagai contoh:
$ pwd/ LearnGIT / git_essentials / ujian
$ git jauh -v
asal / LearnGIT / git_essentials / myproject (ambil)
asal / LearnGIT / git_essentials / myproject (tolak)
Di atas menunjukkan bahawa pelayan jarak jauh untuk 'test' adalah folder lain yang disebut 'myproject'. Sebabnya ialah 'ujian' diklon untuk projek saya.
Tetapi pelayan jarak jauh tidak perlu bersifat tempatan. Anda boleh mendapatkan sesuatu seperti ini dengan URL:
$ git jauh -vasal https: // github.com / zakh / myproject (ambil)
asal https: // github.com / zakh / myproject (tolak)
Anda boleh menyediakan repositori git jauh menggunakan perintah git remote add
Ini akan menghubungkan repo anda ke asal sehingga anda dapat mengambil dan mendorong.
17. tetapkan semula git
Tetapan semula git membolehkan anda melepaskan fail yang ditambahkan.
Katakan anda menambahkan ujian fail '.txt 'ke repositori anda:
$ sentuhan ujian.txt$ git tambah -A
status $ git
Pada tuan cawangan
Cawangan anda terkini dengan 'origin / master'.
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
fail baru: ujian.txt
Walau bagaimanapun, anda memutuskan bahawa anda tidak mahu menjejaki ujian.txt 'lagi. Anda boleh menggunakan Head git reset
Sekiranya anda memeriksa statusnya, failnya tidak dilacak lagi:
status $ gitPada tuan cawangan
Cawangan anda terkini dengan 'origin / master'.
Fail yang tidak dilacak:
(gunakan 'git add
ujian.txt
Ujian fail '.txt 'tidak lagi dijejaki.
18. git membalikkan
Perintah git revert membolehkan anda membalikkan perubahan menggunakan nombor hash komit.
$ echo 'Test 1' >> MyFile.txt$ git tambah -A
$ git commit -m 'Perubahan Ditambah 1'
[master 78a8277] Menambah Perubahan 1
2 fail diubah, 1 sisipan (+)
buat mod 100644 MyFile.txt
buat ujian mod 100644.txt
$ kucing MyFile.txt
Ujian 1
$ echo 'Test 2' >> MyFile.txt
$ git tambah -A
$ git commit -m 'Perubahan Ditambah 2'
[master a976e9c] Menambah Perubahan 2
1 fail diubah, 1 sisipan (+)
$ kucing MyFile.txt
Ujian 1
Ujian 2
$ git log - talian
a976e9c Menambah Perubahan 2
78a8277 Perubahan Ditambah 1
90dc546 Menambah fail
e67f932 Menambah fail baru
7e11910 Menambah dua fail baru
b31d4e1 Komitmen awal
Kami membuat 'MyFile.txt 'dan melakukan dua perubahan, jadi fail tersebut mempunyai baris' Test 1 'dan' Test 2 '. Tetapi kami memutuskan bahawa kami tidak mahu komit kedua. Oleh itu, kami menemui hash komit (a976e9c) untuknya. Kita boleh menggunakan git revert
[master 4f270e7] Kembalikan 'Perubahan Ditambah 2'
1 fail diubah, 1 penghapusan (-)
$ git log - talian
4f270e7 Kembalikan 'Ditambah Perubahan 2'
a976e9c Menambah Perubahan 2
78a8277 Menambah Perubahan 1
90dc546 Menambah fail
e67f932 Menambah fail baru
7e11910 Menambah dua fail baru
b31d4e1 Komitmen awal
$ kucing MyFile.txt
Ujian 1
Kami melihat bahawa ada hash komit baru yang dibuat yang mengembalikan komitmen baris 'Ujian 2'. Fail hanya mempunyai baris 'Uji 1' sekarang.
19. git rm
Perintah git rm menyediakan fail untuk penghapusan masa depan. Ia meletakkan fail yang akan dihapus di kawasan pementasan.
ujian $ git rm.txtujian rm '.txt '
status $ git
Pada tuan cawangan
Cawangan anda mendahului 'origin / master' sebanyak 3 komited.
(gunakan 'git push' untuk menerbitkan komit tempatan anda)
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
dipadam: ujian.txt
Anda mesti melakukan perubahan agar penghapusan itu berlaku.
20. git stash
Perintah git stash membolehkan anda meninggalkan sementara kerja yang belum anda siapkan.
Katakan anda bekerja di repositori dengan fail berikut:
John.txt Mary.txt
Anda mahu menukar fail ini agar lebih berasaskan projek. Oleh itu, anda mulakan dengan:
$ git mv John.txt ProjectFile1.txt
$ ls
Maria.txt ProjectFile1.txt
status $ git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
dinamakan semula: John.txt -> ProjectFile1.txt
Di tengah-tengah menamakan semula dan mengemas kini 'John.txt 'ke' ProjectFile1.txt ', anda menerima permintaan untuk menukar sesuatu dalam projek. Tetapi anda tidak bersedia untuk menghantar 'ProjectFile1.txt '. Jadi anda menyimpannya.
$ git simpananDirektori kerja yang tersimpan dan keadaan indeks WIP pada master: f0b5a01 Init John and Mary
HEAD kini berada di f0b5a01 Init John and Mary
$ lsJohn.txt Mary.txt
Persekitaran kerja tempatan anda kembali ke tempat anda sebelum membuat perubahan berdasarkan projek anda. Setelah itu, mengganggu gangguan, bukannya kembali kepada 'John.txt ', anda memutuskan untuk mengusahakan' Mary.txt 'fail sekarang:
$ git mv Mary.txt ProjectFile2.txtstatus $ git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
dinamakan semula: Mary.txt -> ProjectFile2.txt
$ ls
John.txt ProjectFile2.txt
Anda terganggu sekali lagi dan anda menyimpan karya baru anda di 'Mary.txt ':
$ git simpananDirektori kerja yang tersimpan dan keadaan indeks WIP pada master: f0b5a01 Init John and Mary
HEAD kini berada di f0b5a01 Init John and Mary
$ ls
John.txt Mary.txt
Setelah kerja gangguan selesai, anda periksa senarai simpanan:
senarai $ git stashstash @ 0: WIP pada master: f0b5a01 Init John and Mary
stash @ 1: WIP pada master: f0b5a01 Init John and Mary
Anda mempunyai dua kerja dalam proses (WIP) dalam simpanan. Apabila anda muncul, anda akan mendapat 'Mary.perubahan txt:
$ git stash popMengeluarkan Maria.txt
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
fail baru: ProjectFile2.txt
Perubahan yang tidak dilakukan untuk melakukan:
(gunakan 'git add / rm
(gunakan 'git checkout --
dipadamkan: Mary.txt
Penjatuhan / stash yang dijatuhkan @ 0 (9b77a6b75e4e414fb64de341668c812d3d35150c)
Kali kedua anda mengeluarkan simpanan, anda mendapat 'John.perubahan berkaitan txt:
$ git stash popMengeluarkan John.txt
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
fail baru: ProjectFile1.txt
fail baru: ProjectFile2.txt
Perubahan yang tidak dilakukan untuk melakukan:
(gunakan 'git add / rm
(gunakan 'git checkout --
dipadamkan: John.txt
dipadamkan: Mary.txt
Penjatuhan / stash yang dijatuhkan @ 0 (1e1968854fb5ca4d609e577822dc3280dbf928f6)
$ ls
ProjekFile1.txt ProjectFile2.txt
Dan anda mempunyai ProjectFile1 kerja anda yang sedang berjalan.txt 'dan' ProjectFile2.txt 'kembali.
Oleh itu, perintah git stash membantu anda menyimpan pekerjaan anda sehingga anda dapat mengembalikannya kemudian.
21. status git
Perintah status git memaparkan perbezaan antara fail semasa dan HEAD komit.
Berikut adalah contoh:
status $ gitPada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
dinamakan semula: Fail2.txt -> Fail3.txt
Perubahan yang tidak dilakukan untuk melakukan:
(gunakan 'git add
(gunakan 'git checkout --
diubah suai: Fail1.txt
Ini menunjukkan bahawa 'File2.txt 'dinamakan semula menjadi' File3.txt 'yang siap untuk melakukan, tetapi pengubahsuaian dalam' File1.txt 'belum ada di kawasan pementasan.
Oleh itu, kami menambah semuanya:
$ git tambah -ASekarang apabila kita memeriksa status:
status $ gitPada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD
diubah suai: Fail1.txt
dinamakan semula: Fail2.txt -> Fail3.txt
Kami melihat semua perubahan sudah siap untuk dilakukan.
22. tag git
Perintah tag git membantu anda membuat tag untuk titik sejarah penting anda. Ia biasanya digunakan untuk menetapkan nombor versi.
Perintah tag git akan menunjukkan tag yang ada sekarang:
tag $ gitv1.0
v2.0
Anda boleh memberi tag dengan format perintah git tag
Untuk melihat apa yang ada di dalam tag, anda boleh menggunakan perintah git show:
pertunjukan $ git v1.0komit 61e9e8aa1b98b2a657303e6822b291d2374314b5
Pengarang: Zak H
Tarikh: Khamis 22 Nov 01:06:42 2018 -0800
Komitmen pertama
diff --git a / 1.txt b / 1.txt
mod fail baru 100644
indeks 0000000… e69de29
Anda juga boleh memberi tag menggunakan komit hash dan tag perintah format git
374efe9 Fail yang diubah suai
a621765 Tambah
6d6ed84 Komitmen kedua
61e9e8a Komitmen pertama
$ git tag v4.0 a621765
pertunjukan $ git v4.0
komited a6217650a2c7b2531ecb9c173ba94bd4b3ba7abd
Pengarang: Zak H
Tarikh: Khamis 22 Nov 01:15:55 2018 -0800
Tambah
diff --git a / 1.txt b / 1.txt
indeks e69de29… 587be6b 100644
--- a / 1.txt
+++ b / 1.txt
@@ -0,0 +1 @@
Kesimpulannya
Untuk sebarang arahan, anda boleh menggunakan git
Sambung belajar
- https: // git-scm.com / dokumen