Mari kita mulakan projek baru.
$mkdirprojek
$CDprojek
$git init
Repositori Git kosong yang dimulakandalam /Pengguna/zakh_eecs/_kerja/BelajarGIT/git_add/projek/.go/
$membuang 'Projek baru' >BacaMe.txt
$git tambahBacaMe.txt
$git komit -m 'Komitmen Awal'
[tuan(akar umbi)47b9af1]Komitmen Permulaan
1 failberubah,1sisipan(+)
mod buat100644BacaMe.txt
Dalam projek ini, kami telah menambahkan fail ReadMe.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 menambah 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 -TO
Mari kita lihat bagaimana kedua-dua perintah itu bertindak:
$ sentuh a.txt b.txt c.txt
$ git tambah.
status $ git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(gunakan 'git reset HEAD ...' untuk berhenti dari pentas)
fail baru: a.txt
fail baru: b.txt
fail baru: c.txt
$ git commit -m 'Tambah a.txt, b.txt, c.txt'
[master 9ca90fc] Tambahkan 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 $sentuhanx.txt y.txt z.txt
$git tambah -TO
$status git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(menggunakan'git reset KEPALA ...'ke pentas)
fail baru: x.txt
fail baru: y.txt
fail baru: z.txt
$git komit -m 'Tambah x.txt, y.txt, z.txt'
[menguasai 8af8c12]Tambah x.txt, y.txt, z.txt
3fail berubah,0sisipan(+),0penghapusan(-)
mod buat100644x.txt
mod buat100644y.txt
mod buat100644z.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
$mkdirbaru
$CDbaru
$sentuhanm.txt n.txt o.txt
$git tambah.
$status git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(menggunakan'git reset KEPALA ...'ke pentas)
fail baru: m.txt
fail baru: n.txt
fail baru: o.txt
Fail yang tidak dilacak:
(menggunakan'git tambah ...'untuk memasukkandalamapa yang akan dilakukan)
../1.txt
Perhatikan Git tidak menambah fail 1.txt di folder tahap lebih tinggi.
Sekiranya kita membuat folder bernama bersarang dengan fail d.txt dan gunakan git add. perintah lagi, kita melihat bahawa o.txt telah ditambahkan tetapi 1.txt belum ditambahkan.
$mkdirbersarang$sentuhanbersarang/d.txt
$git tambah.
$status git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(menggunakan'git reset KEPALA ...'ke pentas)
fail baru: m.txt
fail baru: n.txt
fail baru: bersarang/d.txt
fail baru: o.txt
Fail yang tidak dilacak:
(menggunakan'git tambah ...'untuk memasukkandalamapa yang akan dilakukan)
../1.txt
Sekarang mari kita gunakan perintah git add -A:
$git tambah -TO$status git
Pada tuan cawangan
Perubahan yang akan dilakukan:
(menggunakan'git reset KEPALA ...'ke pentas)
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 folder
| --1.txt
| --ReadMe.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.