Git Добавить все измененные файлы

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

Давайте инициализируем новый проект.

$ mkdir project

$ cd project

$ git init
Инициализированный пустой репозиторий Git в/Users/zakh_eecs/_work/LearnGIT/git_add/project/.git/

$ echo «New Project»> ReadMe.txt

$ git add ReadMe.txt

$ git commit -m «Initial Commit»
[master (root-commit) 47b9af1] Начальная фиксация
1 файл изменен, 1 вставка (+)
режим создания 100644 ReadMe.txt

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

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

$ git add.
$ git add -A

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

$ 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

$ touch x.txt y.txt z.txt

$ git add -A

$ git status
На главном узле ветки
Изменения, которые необходимо зафиксировать:
(используйте «git reset HEAD …» для отмены постановки)

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

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

Кажется, оба варианта работают одинаково.

Чтобы исследовать далее, давайте создадим ситуацию, когда мы добавим что-то на корневом уровне рабочего каталога, а затем добавим больше файлов в папку:

$ touch 1.txt

$ mkdir new

$ cd new

$ touch m.txt n.txt o.txt

$ git add.

$ git status
На главном сервере ветки
Изменения, которые необходимо зафиксировать:
(используйте «git reset HEAD … «для отмены постановки)

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

Не отслеживаемые файлы:
(используйте «git add …» для включения в то, что будет зафиксировано)

. ./1.txt

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

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

$ mkdir nested

$ touch nested/d.txt

$ git add.

$ git status
В главном узле ветки
Изменения, которые необходимо зафиксировать:
(используйте «git reset HEAD …» для отмены постановки)

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

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

../1.txt

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

$ git add -A

$ git status
В мастере ветки
Изменения, которые необходимо зафиксировать:
(используйте «git reset HEAD …» для отмены постановки)

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

Теперь, 1. текст из папки был добавлен в промежуточную область.
Вот как выглядят папки

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

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

  • https ://git-scm.com/docs/git-add
  • Git: изучение управления версиями с помощью Git: пошаговое руководство для начинающих
  • Версия Управление с помощью Git: мощные инструменты и методы для совместной разработки программного обеспечения
  • Pro Git, 2nd Edition
Оцените статью
nanomode.ru
Добавить комментарий