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 'Начальная фиксация'
[мастер(рут-коммит)47b9af1]Начальная фиксация
1 файлизмененный,1вставка(+)
создать режим100644ReadMe.txt

В этом проекте мы добавили файл ReadMe.txt. Мы использовали команду git add, чтобы добавить ReadMe.txt. Команда добавления предназначена не только для добавления файлов. Он также добавляет любую модификацию файла. В этом руководстве мы будем только добавлять и удалять файлы, чтобы не усложнять задачу. Но думайте о команде add как о добавлении изменений в промежуточную область. Затем вы должны использовать команду фиксации, чтобы изменения были официальными.



Когда вы имеете дело с большим количеством файлов и папок, сложно добавлять каждое изменение по отдельности. Итак, вы можете использовать следующие команды:



$git добавить.
$git добавить

Давайте посмотрим, как ведут себя две команды:





$ touch a.txt b.txt c.txt

$ git add.

$ git status
О мастере филиала
Изменения, которые необходимо зафиксировать:
(используйте '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

Не отслеживаемые файлы:
(использовать'git add ...'включатьвчто будет совершено)

../1.текст

Обратите внимание, что Git не добавил файл 1.txt в папку более высокого уровня.

Если мы создали папку с именем nested with d.txt file и использовали команду git add. снова, мы видим, что o.txt был добавлен, но 1.txt еще не добавлен.

$mkdirвложенный

$трогатьвложенный/d.txt

$git добавить.

$git статус
О мастере филиала
Изменения, которые необходимо зафиксировать:
(использовать'git reset HEAD ...'убрать сцену)

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

Не отслеживаемые файлы:
(использовать'git add ...'включатьвчто будет совершено)

../1.текст

Теперь давайте воспользуемся командой git add -A:

$git добавить

$git статус
О мастере филиала
Изменения, которые необходимо зафиксировать:
(использовать'git reset HEAD ...'убрать сцену)

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

Теперь файл 1.txt в папке был добавлен в область подготовки.
Вот как выглядят папки

проект
| --1.txt
| --ReadMe.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 предоставляет мощные способы добавления измененных файлов. Вы можете использовать естественную иерархию каталогов ваших кодов для управления тем, что будет добавлено.

Дальнейшее изучение: