2014-12-19 7 views
2

Я использую Git версии 1.9.1 и недавно получили это уведомление при принятии фиксации на моем хранилище:Есть git add.; git commit - эквивалент git add -A.; git commit -a?

предупреждение: Вы побежали «мерзавец добавить» ни с «-A (--all)» или '--ignore-removal', поведение которого изменится в Git 2.0 с в отношении удаленных вами путей.

Я обычно фиксируете изменения, используя эти две команды:

git add . 
git commit -a 

Я теперь интересно, должен ли я перейти на использование --ignore-удаление или -A. Я прочитал некоторые из других ответов StackOverflow об этом предупреждающем сообщении, но я все еще не совсем понимаю, будет ли какая-либо разница, какой вариант я использую, учитывая, что я сразу же следую за ним с помощью git commit -a, который в любом случае обрабатывает файлы для удаления.

Моя цель состоит в том, чтобы git автоматически распознал все изменения в каталоге - добавления, изменения и удаления, и на самом деле у меня есть псевдоним, настроенный для этого в одной команде. В настоящее время я склоняюсь к изменению своего псевдонима:

git add -A .; git commit -a 

Будет ли это достигать моей цели? Мое предварительное понимание заключается в том, что --ignore-removal будет иметь значение только в том случае, если я удалил некоторые файлы, но я не готов выполнить эти удаления до git еще - это правильно?


Думая об этом немного больше, я понимая, что я не нужен параметр -a на команду Зафиксировать, если я использую -A на команду добавления, так как об этом?

git add -A .; git commit 

ответ

1

Моя цель состоит в том, чтобы только что мерзавец автоматически распознает все изменения в каталог - дополнения, изменения и удаления

Хорошо, сэр, это также моя цель. Я выполнить это

git add -A 
git commit 

или

git add -A foo.bar 
git commit 

Первая форма будет делать, как вы говорите, он будет добавлять и все изменения. Вторая форма добавит изменения только в указанный файл. Я бы добавил, что commit -a тоже не нужно с моим путем, потому что все уже поставлено с git add. Я использую этот метод уже более года, и он работает хорошо для меня.

Example

+0

Update: для моего псевдонима, я изменил его на 'мерзавец совершить .', а не просто' мерзавец commit', так что он будет работать из подкаталогов тоже. Таким образом, я могу зафиксировать только файлы в определенном подкаталоге, если я хочу, не получая предупреждение от git («warning: поведение« git add -all (-A) »без аргумента пути из подкаталога дерево изменится в Git 2.0 и больше не должно использоваться »и т. д.). –

Смежные вопросы