Размещение измененных файлов в соответствии с их статусом с помощью git - PullRequest
2 голосов
/ 03 сентября 2010

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

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 rm bash/ bash_profile

Для изменения / добавления файла запустите git add

  • git add functions.sh

У меня такой вопрос: как я могуавтоматизировать это?Я вижу, что git уже знает, что делать с измененными файлами.

  • Существует ли команда git для подготовки каждого необходимого файла в соответствии с его статусом?(удалить или добавить)
  • Если нет, есть ли какой-нибудь простой способ размещения всех файлов вместо запуска «git add» или «git rm» один за другим?

Ответы [ 3 ]

2 голосов
/ 03 сентября 2010

Если вы передадите флаг -a во время фиксации, все неотмеченные изменения будут автоматически подготовлены для вас перед фиксацией:

git commit -a

Если вы еще не хотите совершать коммит, вы можете использовать вместо него флаг -u:

git add -u

Эта u дата установки набора файлов будет все изменения в отслеживаемых файлах. Однако он не получает новые неотслеживаемые файлы - для этого вам нужно просто git add . снова.

2 голосов
/ 03 сентября 2010

Да, есть простой способ:

git add -u

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

git add .

, который добавит все файлы в текущем каталоге. (Это означает, что он будет собирать модификации и неотслеживаемые файлы, но не такие, как add -u).

Обязательно и проверяйте git status до и после того, как вы это сделаете, чтобы убедиться, что вы получаете именно то, что хотели поставить. Если вы предпочитаете commit -a, будьте еще внимательнее при проверке статуса. Очень легко добавить что-то, что вы не хотели совершать.

Для получения дополнительной информации загляните на справочную страницу .

1 голос
/ 03 сентября 2010

Войдите в интерактивный режим git-add:

git add -i

Затем введите u*q. Это обновит, внесет все изменения и выйдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...