Git этап и фиксация с помощью одной команды
Есть ли способ в Git для создания и фиксации файлов в одной команде? Например, в моем локальном репозитории я создал файлы index.html, styles.css, расположенные в папке css, и script.js, расположенные в папке js. Теперь я хочу запустить одну команду для создания и передачи всех этих файлов. Я попробовал код ниже, но он не работал.
git commit -a -m "my commit message"
Ответы
Ответ 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
-
Первая строка просто проверяет, есть ли описание для вашей фиксации. Он передается в качестве аргумента в командной строке.
-
Четвертая строка изменяется в каталог проекта.
-
Затем вы выполните свои изменения и передадите их с аргументом, который вы передали.
-
Наконец, вторая последняя строка переместит изменения в ваш удаленный репозиторий