Как я могу подготовить и зафиксировать все файлы, включая вновь добавленные, с помощью одной команды?

Вам нужно установить

Listview1.Scrollable = true;
Listview1.View = View.Details

. Это будет работать только правильно, если вы добавили некоторые столбцы в свой список Listview1, поэтому добавьте фиктивный столбец. например,

ColumnHeader header = new ColumnHeader();
header.Text = "";
header.Name = "col1";
listView1.Columns.Add(header);
366
задан nbro 25 September 2017 в 20:24
поделиться

12 ответов

Считается ли

git add -A && git commit -m "Your Message"

«единой командой»?

Редактировать на основании ответа @ thefinnomenon ниже :

Чтобы получить его как git alias, используйте:

git config --global alias.coa '!git add -A && git commit -m'

и зафиксируйте все файлы, включая новые, с сообщением:

git coa "A bunch of horrible changes"

Объяснение (из git add документации ):

-A, --all, --no-ignore-removal

Обновлять индекс не только там, где В рабочем дереве есть соответствие файла, но также там, где в индексе уже есть запись. Это добавляет, изменяет и удаляет записи индекса, чтобы соответствовать рабочему дереву.

Если не задано <pathspec> при использовании опции -A, обновляются все файлы во всем рабочем дереве (старые версии Git использовались для ограничения обновления текущим каталогом и его подкаталогами).

502
ответ дан Mic 25 September 2017 в 20:24
поделиться

Я использую эту функцию:

gcaa() { git add --all && git commit -m "$*" }

В моем файле конфигурации zsh я могу просто сделать:

> gcaa This is the commit message

Для автоматической постановки и фиксации всех файлов.

23
ответ дан phlppn 25 September 2017 в 20:24
поделиться

Эта команда добавит и зафиксирует все измененные файлы, , но не вновь созданные файлы .

git commit -am  "<commit message>"

Из man git-commit:

   -a, --all
       Tell the command to automatically stage files that have been modified
       and deleted, but new files you have not told Git about are not
       affected.
401
ответ дан petersv 25 September 2017 в 20:24
поделиться

Однострочное размещение всех файлов ВСЕ ( изменено , удалено и новое ) и зафиксировано с комментарием:

git add --all && git commit -m "comment"

http://git-scm.com/docs/git-add
http://git-scm.com/docs/git-commit

22
ответ дан Yarin 25 September 2017 в 20:24
поделиться

Не знаю, почему все эти ответы танцуют вокруг того, что я считаю правильным решением, но для этого стоит использовать то, что я использую:

Создайте псевдоним:

git config --global alias.coa '!git add -A && git commit -m'

Добавить все файлы & amp; совершить с сообщением:

git coa "A bunch of horrible changes"

ПРИМЕЧАНИЕ: coa - сокращение от commit all и может быть заменено всем, что душе угодно

13
ответ дан Brane 25 September 2017 в 20:24
поделиться

Фиксация в git может быть многоэтапным процессом или одним шагом в зависимости от ситуации.

  1. В этой ситуации у вас есть несколько файлов, которые обновляются и вы хотите зафиксировать:

    Вы должны добавить все измененные файлы, прежде чем что-то зафиксировать.

    git add -A
    

    или

    git add --all
    
  2. После этого вы можете использовать коммит всех добавленных файлов

    git commit
    

    , с этим вы должны добавить сообщение для этот коммит.

8
ответ дан King Linux 25 September 2017 в 20:24
поделиться

Если вы просто хотите «быстрый и грязный» способ сохранить изменения в текущей ветке, вы можете использовать следующий псевдоним:

git config --global alias.temp '!git add -A && git commit -m "Temp"'  

После выполнения этой команды вы можете просто набрать git temp чтобы git автоматически фиксировал все ваши изменения в текущей ветке как коммит с именем "Temp". Затем вы можете использовать git reset HEAD~ позже, чтобы «отменить» изменения, чтобы продолжить работу над ними, или git commit --amend, чтобы добавить больше изменений в коммит и / или дать ему правильное имя.

5
ответ дан Ajedi32 25 September 2017 в 20:24
поделиться

Вы можете написать небольшой скрипт (посмотрите на ответ Яна Клелланда) под названием git-commitall, который использует несколько команд git для выполнения того, что вы хотите сделать.
Поместите этот скрипт в любое место вашего $PATH. Вы можете позвонить по git commitall ... очень удобно!

Найдено здесь (вопрос и все ответы, к сожалению, удалены, виден только с высокой репутацией)

0
ответ дан Community 25 September 2017 в 20:24
поделиться

Прекрасные ответы, но если вы ищете одну строку, делайте все, вы можете объединить, псевдоним и наслаждаться удобством:

git add * && git commit -am "<commit message>"

Это одна строка, но две команды и, как уже упоминалось, вы можете использовать псевдонимы этих команд:

alias git-aac="git add * && git commit -am " (пробел в конце важен), потому что вы собираетесь параметризировать новую короткую команду.

С этого момента вы будете использовать этот псевдоним:

git-acc "<commit message>"

Вы в основном говорите:

git, добавьте для меня все неотслеживаемые файлы и подтвердите им с этим данным сообщением коммита.

Надеюсь, вы используете Linux, надеюсь, это поможет.

2
ответ дан VeRo 25 September 2017 в 20:24
поделиться

У меня в конфиге два псевдонима:

alias.foo=commit -a -m 'none'
alias.coa=commit -a -m

, если мне лень, я просто фиксирую все изменения с помощью

git foo

и просто делаю быстрый коммит

git coa "my changes are..."

coa означает «совершить все»

3
ответ дан Mark Amery 25 September 2017 в 20:24
поделиться

Выполните данную команду

git add . && git commit -m "Changes Committed"

Однако, даже если это кажется единственной командой, Это - два отдельных выполнения команды один за другим. Здесь мы просто использовали && для объединения их. Это очень не отличается, чем выполнение git add . и git commit -m "Changes Committed" отдельно. Можно выполнить несколько команд вместе, но упорядочить вопросы здесь. Как, если Вы хотите продвинуть изменения в удаленном сервере наряду с подготовкой и фиксацией, можно сделать это, как дали,

git add . && git commit -m "Changes Committed" && git push origin master

Вместо этого если Вы измените последовательность и поместите push в первый, то Это будет выполняться сначала и не дает желаемое нажатие после подготовки и фиксирует просто, потому что это уже работало сначала.

&& выполнения вторая команда на строке, когда первая команда возвращается успешно, или с ошибочным уровнем 0. Противоположность && ||, который выполняет вторую команду, когда первая команда неудачна, или с ошибочным уровнем 1.

0
ответ дан 22 November 2019 в 23:40
поделиться

использование попытки:

git add . && git commit -m "your message here"
0
ответ дан 22 November 2019 в 23:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: