Есть ли способ добавить все файлы независимо от того, что вы с ними делаете, будь то удаление, отсутствие отслеживания и т. д.? как для фиксации. Я просто не хочу git add
или git rm
все мои файлы каждый раз, когда я делаю коммит, особенно когда я работаю над большим продуктом.
Git добавить все файлы, измененные, удаленные и неотслеживаемые?
Ответы (10)
Пытаться:
git add -A
Внимание! Начиная с git 2.0 (середина 2013 года) это всегда размещает промежуточные файлы во всем рабочем дереве.
Если вы хотите stage-файлы по текущему пути вашего рабочего дерева, вам необходимо использовать:
git add -A .
Также см.: Разница между git add -A
и git add .
Пытаться
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 года) это всегда размещает промежуточные файлы во всем рабочем дереве.
Если вы хотите stage-файлы по текущему пути вашего рабочего дерева, вам необходимо использовать:
git add -A .
Также см.: Разница между git add -A
и git add .
Следующий ответ относится только к Git версии 1.x, но и к Git версии 2.x.
Вы хотите git add -A
:
git add -A
этапы Все;
git add .
этапы новые и измененные, без удаленных;
git add -u
этапов изменены и удалены, без новых.
git add -A
эквивалентно git add .
. Дополнительные обсуждения см. здесь.
- person jdhao; 23.04.2020
git add --all
или git add -A
или git add -A .
Все этапы
git add .
Новые и измененные этапы, но не удаленные
git add -u
Этапы изменены и удалены, но без новых
git commit -a
Означает git add -u
и git commit -m "message"
После написания этой команды выполните следующие действия:
- нажмите i
- напишите ваше сообщение
- нажмите esc
- нажмите :wq
- нажмите ввод
git add <list of files>
добавить конкретный файл
git add *.txt
добавить все файлы txt в текущий каталог
git add docs/*/txt
добавить все файлы txt в папку с документами
git add docs/
добавить все файлы в каталог документов
git add "*.txt"
или git add '*.txt'
добавить все файлы во весь проект
Я не уверен, что он добавит удаленные файлы, но git add .
из корня добавит все неотслеживаемые файлы.
Это моя альтернатива (в любом bash):
$ git status -s|awk '{ print $2 }'|xargs git add
Для сброса
$ git status -s|awk '{ print $2 }'|xargs git reset HEAD
Я создал проект G2, удобную среду для любителей командной строки git.
Пожалуйста, получите проект с github - G2 https://github.com/orefalo/g2
В нем есть куча удобных команд, одна из которых именно то, что вам нужно: freeze
заморозить — заморозить все файлы в репозитории (добавления, удаления, модификации) в промежуточной области, тем самым подготавливая этот контент для включения в следующую фиксацию. Также принять определенный путь в качестве параметра
Для более новой версии Git.
Я попробовал git add -A
, и это подсказало,
предупреждение: поведение «git add --all (или -A)» без аргумента пути из подкаталога дерева изменится в Git 2.0 и больше не должно использоваться. Чтобы добавить содержимое для всего дерева, запустите:
git add --all :/ (или git add -A :/)
Чтобы ограничить команду текущим каталогом, запустите:
git добавить --все . (или git добавить -A .)
В текущей версии Git команда ограничена текущим каталогом.
Затем я попробовал ниже, что сработало.
git add --all :/
Я использую следующую строку, чтобы добавить для подготовки все измененные и вновь созданные файлы, за исключением тех, которые перечислены в .gitignore:
git add $(git ls-files -mo --exclude-standard)
(синтаксис $() предназначен для оболочки bash). Я предполагаю, что параметр командной строки -mod должен добавить также удаленные файлы... Или, если у вас есть имена файлов со встроенными пробелами, следующий однострочный трюк должен помочь:
git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add
Из документации Git, начиная с версии 2.0:
Чтобы добавить содержимое для всего дерева, запустите:
git add --all :/
or
git add -A :/
Чтобы ограничить команду текущим каталогом, запустите:
git add --all .
or
git add -A .