Постановка измененных файлов в соответствии с их статусом с помощью git
Я начал управлять версиями каталога следующим образом.
git init
git add .
Затем я вносил изменения, добавляя/удаляя/меняя файлы. После того, как я закончил с этим, я запустил
git status
чтобы получить следующие результаты.
# (use "git add/rm ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
#
# deleted: bash/_bash_profile
# deleted: bash/_bashrc
# modified: functions.sh
# modified: readme.txt
#
# Untracked files:
# (use "git add ..." to include in what will be committed)
#
# bash/bash/
# template/
Теперь я могу сделать именно то, что сказал мне git status.
Для удаленного запуска файла git rm.
Для изменения/добавления файла git add
Мой вопрос в следующем: как я могу автоматизировать это? Я вижу, что git уже знает, какое действие нужно делать для измененных файлов.
- Есть ли команда git для создания каждого необходимого файла в соответствии с его статусом? (удалить или добавить)
- Если нет, есть ли простой способ для размещения всех файлов вместо запуска 'git add' или 'git rm' по одному?
Ответы
Ответ 1
Да, есть простой способ:
git add -u
Это добавит все изменения в текущий каталог (поэтому запустите его с верхнего уровня вашего репо, если хотите все). Однако он не будет добавлять какие-либо файлы без следа. Если вы хотите это сделать, вы используете:
git add .
который добавит все файлы в текущий каталог. (Это означает, что он подберет модификации и не проверенные файлы, но не удалит, например add -u
).
Обязательно проверьте и проверьте git status
до и после этого, чтобы убедиться, что вы получаете именно то, что хотите. Если вы предпочитаете commit -a
, будьте более внимательны, чтобы проверить статус. Очень легко добавить то, что вы не хотели совершить.
Для получения дополнительной информации просмотрите man page.
Ответ 2
Если вы передадите флаг -a
, когда вы совершаете, все неустановленные изменения будут автоматически поставлены перед вами:
git commit -a
Если вы еще не хотите комментировать, вы можете использовать флаг -u
для git -add:
git add -u
Этот u
pdates набор поэтапных файлов будет изменяться на отслеживаемые файлы. Тем не менее, он не собирает новые файлы без следа - для этого вам нужно просто просто git add .
снова.
Ответ 3
Введите git -add интерактивный режим:
git add -i
Затем введите u*q
. Это позволит обновить, скомпоновать все изменения и выйти.