Git Добавяне на всички модифицирани файлове

Git Add All Modified Files



Когато се занимавате с Git add, имате множество опции за добавяне на всички модифицирани файлове. Нека разгледаме няколко сценария, за да разберем възможностите.

Нека да инициализираме нов проект.







$mkdirпроект

$CDпроект

$git init
Инициализирано празно хранилище на Gitв /Потребители/zakh_eecs/_работа/LearnGIT/git_add/проект/.отивам/

$изхвърлен 'Нов проект' >ReadMe.txt

$git добавиReadMe.txt

$git commit „Първоначален ангажимент“
[майстор(root-коммит)47b9af1]Първоначален ангажимент
1 файлпроменен,1вмъкване(+)
режим на създаване100644ReadMe.txt

В този проект добавихме ReadMe.txt файл. Използвахме командата git add, за да добавим ReadMe.txt. Командата add не е само за добавяне на файлове. Той също така добавя всяка промяна на файла. За този урок ще добавяме и изтриваме файлове само за да е просто. Но помислете за командата add като добавяне на промени в зоната за постановка. След това трябва да използвате командата commit, за да направите промените официални.



Когато имате работа с много файлове и папки, е трудно индивидуално да добавите всяка промяна. Така че можете да използвате следните команди:



$git добави.
$git добави -ДА СЕ

Нека да разгледаме как се държат двете команди:





$ докоснете a.txt b.txt c.txt

$ git добавяне.

състояние на $ git
На капитана на клона
Промени, които трябва да бъдат извършени:
(използвайте „git reset HEAD ...“ за дестабиране)

нов файл: a.txt
нов файл: b.txt
нов файл: c.txt

$ git commit -m 'Добавяне на a.txt, b.txt, c.txt'
[master 9ca90fc] Добавете a.txt, b.txt, c.txt
3 файла са променени, 0 вмъквания (+), 0 изтривания (-)
създайте режим 100644 a.txt
създайте режим 100644 b.txt
режим на създаване 100644 c.txt $докосванеx.txt y.txt z.txt

$git добави -ДА СЕ

$git статус
На капитана на клона
Промени, които трябва да бъдат извършени:
(използвайте'git reset HEAD ...'до нестабилност)

нов файл: x.txt
нов файл: y.txt
нов файл: z.txt

$git commit „Добавяне на x.txt, y.txt, z.txt“
[капитан 8af8c12]Добавете x.txt, y.txt, z.txt
3променени файлове,0вмъквания(+),0изтривания(-)
режим на създаване100644x.txt
режим на създаване100644y.txt
режим на създаване100644z.txt

Изглежда, че и двата варианта работят еднакво.

За да проучим допълнително, нека създадем ситуация, в която добавяме нещо на коренното ниво на работната директория и след това добавяме още файлове в папка:



$докосване 1.текст

$mkdirнов

$CDнов

$докосванеm.txt n.txt o.txt

$git добави.

$git статус
На капитана на клона
Промени, които трябва да бъдат извършени:
(използвайте'git reset HEAD ...'до нестабилност)

нов файл: m.txt
нов файл: n.txt
нов файл: o.txt

Непроследени файлове:
(използвайте'добави ...'да включвавкакво ще бъде ангажирано)

../1.текст

Забележете, че Git не е добавил файла 1.txt в папката от по -високо ниво.

Ако създадохме папка, наречена nested with d.txt файл и използваме git add. команда отново, виждаме, че o.txt е добавен, но 1.txt все още не е добавен.

$mkdirвложен

$докосваневложен/d.txt

$git добави.

$git статус
На капитана на клона
Промени, които трябва да бъдат извършени:
(използвайте'git reset HEAD ...'до нестабилност)

нов файл: m.txt
нов файл: n.txt
нов файл: вложен/d.txt
нов файл: o.txt

Непроследени файлове:
(използвайте'добави ...'да включвавкакво ще бъде ангажирано)

../1.текст

Сега нека използваме командата git add -A:

$git добави -ДА СЕ

$git статус
На капитана на клона
Промени, които трябва да бъдат извършени:
(използвайте'git reset HEAD ...'до нестабилност)

нов файл: ../1.текст
нов файл: m.txt
нов файл: n.txt
нов файл: вложен/d.txt
нов файл: o.txt

Сега, 1.txt в папката е добавен към зоната за постановка.
Ето как изглеждат папките

проект
| --1.txt
| --ПрочететеMe.txt
| --a.txt
| --b.txt
| --c.txt
| --x.txt
| --y.txt
| --z.txt
`- нов
| --m.txt
| --n.txt
| --o.txt
`- вложено
| --d.txt

Така че, когато използвате git add. команда, тя ще добави всички промени от това ниво. Но когато използвате опция git add -A, тя ще търси модификации в целия модул и ще ги добавя.

Заключение

Командата Git add предоставя мощни начини за добавяне на модифицирани файлове. Можете да използвате естествената йерархия на кодовете си, за да контролирате добавянето.

По -нататъшно проучване: