Подтвердить что ты не робот

Git этап и фиксация с помощью одной команды

Есть ли способ в Git для создания и фиксации файлов в одной команде? Например, в моем локальном репозитории я создал файлы index.html, styles.css, расположенные в папке css, и script.js, расположенные в папке js. Теперь я хочу запустить одну команду для создания и передачи всех этих файлов. Я попробовал код ниже, но он не работал.

git commit -a -m "my commit message"
4b9b3361

Ответ 1

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

Вы можете использовать псевдоним для объединения git add ... и git commit ... в одну командную строку. Но если вы это сделаете, найдите время script, чтобы он не нуждался в использовании git add . или git add -A, так как это неизбежно приведет к созданию файлов, которые вы действительно не хотите.

Ответ 2

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

Определите псевдоним следующим образом:

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

Затем вы можете использовать его как обычную команду git: git your-alias -m 'commit message'

Ответ 3

Что вы хотите сделать:

git commit -am "Message for my commit"

Это автоматически добавит все, и вы можете ввести свое сообщение в одну команду. "-a --все Скажите команде, чтобы автоматически создавать файлы, которые были изменены и удалены, но новые файлы, о которых вы не сказали Git, не затрагиваются. "

"- т --message = Используйте данное сообщение как сообщение фиксации. Если заданы несколько параметров -m, их значения объединяются как отдельные абзацы. " https://git-scm.com/docs/git-commit

Если вы хотите сгенерировать и зафиксировать невоспроизводимые файлы, вы можете:

git add -A & git commit -am 'message'

Ответ 4

if [ -z "$1" ]; 
    then echo "Please supply a commit message wrapped in single quotes '' before you proceed!"; 
else
    cd /opt/lampp/htdocs/namOfProject/
    git add *
    git commit -am "$1"
    git push;
fi

Обычно я использую простую оболочку script, которая запускает все в одной чистой развертке. Сохраните script где угодно и дайте ему имя, например nameOfScript.sh

Затем, и это важно, сделайте исполняемый файл следующим образом:

chmod +x ./nameOfScript.sh

Запустите это следующим образом на терминале:

./nameOfscript.sh 'Your commit description'

Объяснение script

  • Первая строка просто проверяет, есть ли описание для вашей фиксации. Он передается в качестве аргумента в командной строке.

  • Четвертая строка изменяется в каталог проекта.

  • Затем вы выполните свои изменения и передадите их с аргументом, который вы передали.

  • Наконец, вторая последняя строка переместит изменения в ваш удаленный репозиторий