Git добавить все файлы, измененные, удаленные и не отслеженные? - PullRequest
234 голосов
/ 17 августа 2010

Есть ли способ добавить все файлы, независимо от того, что вы с ними делаете, будь они удалены, не отслежены и т. Д.?как для коммита.Я просто не хочу, чтобы мне приходилось git add или git rm всех моих файлов при каждой фиксации, особенно когда я работаю над большим продуктом.

Ответы [ 10 ]

286 голосов
/ 17 августа 2010

Попробуйте:

git add -A

Предупреждение: Начиная с git 2.0 (середина 2013 г.), это будет всегда файлы сценического файла все рабочее дерево .
Если вы хотите разместить файлы под текущим путем вашего рабочего дерева, вам необходимо использовать:

git add -A .

Также см .: Разница git add -Aи git add .

69 голосов
/ 08 мая 2012

Попробуйте

git add -u

Параметр «u» означает обновление.Это обновит репо и фактически удалит файлы из репо, которые вы удалили, в вашей локальной копии.

git add -u [filename]

, чтобы выполнить удаление только одного файла.После нажатия файл больше не будет в репо.

В качестве альтернативы,

git add -A .

эквивалентно

git add .

git add -u .

Обратите внимание надополнительный '.'git add -A и git add -u


Предупреждение: Начиная с git 2.0 (середина 2013 г.), это будет всегда сценических файлов навсе рабочее дерево .
Если вы хотите разместить файлы под текущим путем вашего рабочего дерева, вам необходимо использовать:

git add -A .

Также см .: Разница git add -Aи git add .

37 голосов
/ 22 марта 2013

Вы хотите git add -A:

git add -A Этапы Все;

git add . этапы, новые и модифицированные, без удаленных;

git add -u этапы изменены и удалены, без новых.

20 голосов
/ 06 марта 2016

git add --all или git add -A или git add -A . Этапы Все

git add . Этапы, новые и измененные Но Без удаления

git add -u Этапы изменения и удаления Но Без нового

git commit -a Средства git add -u И git commit -m "message"

После написания этой команды выполните следующие действия: -

  1. нажмите i
  2. напишите ваше сообщение
  3. нажмите esc
  4. нажмите : w q
  5. нажмите введите

git add <list of files> добавьте конкретный файл

git add *.txt добавьте все текстовые файлы в текущем каталоге

git add docs/*/txt добавить все текстовые файлы в каталог документов

git add docs/ добавить все файлы в каталог документов

git add "*.txt" или git add '*.txt' добавить все файлы во всем проекте

11 голосов
/ 17 августа 2010

Я не уверен, что он добавит удаленные файлы, но git add . из корня добавит все неотслеживаемые файлы.

5 голосов
/ 06 ноября 2015

Для более новой версии Git.

Я попытался git add -A, и это вызвало,

предупреждение: поведение 'git add --all(или -A) 'без аргумента пути из подкаталога дерева изменится в Git 2.0 и больше не должен использоваться.Чтобы добавить содержимое для всего дерева, выполните:

git add --all: / (или git add -A: /)

Чтобы ограничить команду текущим каталогом, выполните:

git add --all.(или git add -A.)

С текущей версией Git команда ограничена текущим каталогом.


Затем я попробовал ниже, что работало.

git add --all :/
5 голосов
/ 03 августа 2012

Это моя альтернатива (в любом bash):

$ git status -s|awk '{ print $2 }'|xargs git add

Для сброса

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD
5 голосов
/ 08 мая 2012

Я создал проект G2, дружественную среду для командной строки git lover.
Пожалуйста, получите проект от github - G2 https://github.com/orefalo/g2

В нем есть несколько удобных команд, одна из нихименно то, что вы ищете: freeze

freeze - Заморозить все файлы в репозитории (добавления, удаления, модификации) в области подготовки, таким образом, подготовив этот контент для включения вследующий коммит.Также примите определенный путь в качестве параметра

3 голосов
/ 18 апреля 2017

Из документации Git, начиная с версии 2.0:

Чтобы добавить контент для всего дерева, выполните:

git add --all :/

или

git add -A :/

Чтобы ограничить команду текущим каталогом, выполните:

git add --all .

или

git add -A .
2 голосов
/ 30 июля 2015

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

git add $(git ls-files -mo --exclude-standard)

(синтаксис $ () для оболочки bash). Я полагаю, что параметр командной строки -mod должен также добавить удаленные файлы ... Или, если у вас есть имена файлов со встроенными пробелами, следующий однострочный должен сделать трюк:

git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add
...