Mari mulakan projek baru.
projek $ mkdirprojek $ cd
$ git init
Repositori Git kosong yang dimulakan di / Users / zakh_eecs / _work / LearnGIT / git_add / project /.git /
$ echo "Projek Baru"> ReadMe.txt
$ git tambah ReadMe.txt
$ git commit -m "Komitmen Awal"
[master (root-komit] 47b9af1] Komitmen Awal
1 fail diubah, 1 sisipan (+)
buat mod 100644 ReadMe.txt
Dalam projek ini, kami telah menambahkan ReadMe.fail txt. Kami menggunakan perintah "git add" untuk menambahkan ReadMe.txt. Perintah tambah bukan hanya untuk menambahkan fail. Ia juga menambah pengubahsuaian fail. Untuk tutorial ini, kami hanya akan menambah dan menghapus fail agar mudah. Tetapi fikirkan perintah tambah sebagai menambahkan perubahan pada kawasan pementasan. Kemudian, anda harus menggunakan perintah komit untuk membuat perubahan rasmi.
Apabila anda berurusan dengan banyak fail dan folder, sukar untuk menambahkan setiap perubahan secara individu. Oleh itu, anda boleh menggunakan arahan berikut:
$ git tambah .$ git tambah -A
Mari kita lihat bagaimana kedua-dua perintah itu bertindak:
$ sentuhan a.txt b.txt c.txt$ git tambah .
status $ git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan "git reset HEAD
fail baru: a.txt
fail baru: b.txt
fail baru: c.txt
$ git commit -m "Tambah a.txt, b.txt, c.txt "
[master 9ca90fc] Tambah a.txt, b.txt, c.txt
3 fail diubah, 0 sisipan (+), 0 penghapusan (-)
buat mod 100644 a.txt
buat mod 100644 b.txt
buat mod 100644 c.txt $ sentuh x.txt y.txt z.txt
$ git tambah -A
status $ git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan "git reset HEAD
fail baru: x.txt
fail baru: y.txt
fail baru: z.txt
$ git commit -m "Tambah x.txt, y.txt, z.txt "
[master 8af8c12] Tambah x.txt, y.txt, z.txt
3 fail diubah, 0 sisipan (+), 0 penghapusan (-)
buat mod 100644 x.txt
buat mod 100644 y.txt
buat mod 100644 z.txt
Kedua-dua pilihan nampaknya berfungsi sama.
Untuk menyiasat lebih lanjut, mari kita buat situasi di mana kita menambahkan sesuatu di peringkat root direktori kerja dan kemudian menambahkan lebih banyak fail dalam folder:
$ sentuhan 1.txt$ mkdir baru
$ cd baru
$ sentuhan m.txt n.txt o.txt
$ git tambah .
status $ git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan "git reset HEAD
fail baru: m.txt
fail baru: n.txt
fail baru: o.txt
Fail yang tidak dilacak:
(gunakan "git add
… / 1.txt
Perhatikan Git tidak menambah 1.fail txt di folder tahap lebih tinggi.
Sekiranya kita membuat folder bernama bersarang dengan d.txt file dan gunakan git add. perintah lagi, kita melihat bahawa o.txt telah ditambah tetapi 1.txt belum ditambah.
$ mkdir bersarang$ sentuh bersarang / d.txt
$ git tambah .
status $ git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan "git reset HEAD
fail baru: m.txt
fail baru: n.txt
fail baru: bersarang / d.txt
fail baru: o.txt
Fail yang tidak dilacak:
(gunakan "git add
… / 1.txt
Sekarang mari kita gunakan perintah git add -A:
$ git tambah -Astatus $ git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan "git reset HEAD
fail baru:… / 1.txt
fail baru: m.txt
fail baru: n.txt
fail baru: bersarang / d.txt
fail baru: o.txt
Sekarang, 1.txt dalam folder telah ditambahkan ke kawasan pementasan.
Begini rupa foldernya
| --1.txt
| --BacaMe.txt
| --a.txt
| --b.txt
| --c.txt
| --x.txt
| --y.txt
| --z.txt
'-- baru
| --m.txt
| --n.txt
| --o.txt
'-- bersarang
| --d.txt
Jadi, semasa anda menggunakan "git add ."Perintah, ia akan menambah semua perubahan dari tahap itu. Tetapi apabila anda menggunakan pilihan "git add -A", ia akan mencari pengubahsuaian di seluruh modul dan menambahkannya.
Kesimpulannya
Perintah Git add memberikan cara yang kuat untuk menambah fail yang diubah. Anda boleh menggunakan hierarki direktori semula jadi kod anda untuk mengawal apa yang ditambahkan.
Sambung belajar:
- https: // git-scm.com / docs / git-tambah
- Git: Pelajari Kawalan Versi dengan Git: Panduan pemula Ultimate langkah demi langkah
- Versi Kawalan dengan Git: Alat dan teknik hebat untuk pengembangan perisian kolaboratif
- Pro Git, Edisi ke-2