Размещение измененных файлов в соответствии с их статусом с помощью git
Я начал управлять версией каталога следующим образом.
git init
git add .
Затем я внес изменения, добавив / удалив / изменив файлы. После того, как я закончу с этим, я бегу
git status
чтобы получить следующие результаты.
# (используйте "git add/rm ..." для обновления того, что будет зафиксировано) # (используйте "git checkout -...", чтобы отменить изменения в рабочем каталоге) # # удалено: bash/_bash_profile # удалено: bash/_bashrc # изменено: functions.sh # изменено: readme.txt # # Неотслеживаемые файлы: # (используйте "git add ..." для включения в то, что будет зафиксировано) # # bash / bash / # template /
Теперь я могу делать именно то, что сказал мне "git status".
Для удаления файла запустите git rm.
- git rm bash / bash_profile
Для измененного / добавленного файла запустите git add
- git add functions.sh
У меня такой вопрос: как я могу автоматизировать это? Я вижу, что git уже знает, что делать с измененными файлами.
- Есть ли команда git для подготовки каждого необходимого файла в соответствии с его статусом? (удалить или добавить)
- Если нет, есть ли какой-нибудь простой способ размещения всех файлов вместо запуска "git add" или "git rm" один за другим?
3 ответа
Да, есть простой способ:
git add -u
Это добавит все модификации в текущий каталог (поэтому запустите его с верхнего уровня репо, если вы хотите все). Однако он не будет добавлять неотслеживаемые файлы. Если вы тоже хотите это сделать, вы используете:
git add .
который добавит все файлы в текущем каталоге. (Это означает, что он подберет модификации и неотслеживаемые файлы, но не такие удаления, как add -u
).
Будьте уверены и осмотрите git status
до и после этого, чтобы убедиться, что вы получаете именно то, что вы хотели поставить. Если вы предпочитаете commit -a
Будьте еще внимательнее, чтобы проверить статус. Очень легко добавить что-то, что вы не хотели совершать.
Взгляните на справочную страницу для получения дополнительной информации.
Если вы передадите -a
Когда вы фиксируете, все неотмеченные изменения будут автоматически поставлены перед вами:
git commit -a
Если вы не хотите совершать еще, вы можете использовать -u
пометить вместо git-add:
git add -u
это u
Перед установкой поэтапного файла все изменения будут отслежены. Однако он не собирает новые неотслеживаемые файлы - для этого вам нужно просто git add .
снова.
Войдите в интерактивный режим git-add:
git add -i
Затем введите u*q
, Это обновит, внесет все изменения и выйдет.