Есть ли способ использовать эти три команды в одной?
git add .
git commit -a -m "commit" (do not need commit message either)
git push
Иногда я меняю только одну букву, CSS-отступ или что-то в этом роде. Тем не менее, я должен написать все три команды, чтобы подтолкнуть изменения. Есть много проектов, в которых я всего лишь один толкач, поэтому эта команда будет потрясающей!
Ответы:
Построение ответа @ Гэвина:
Сделав lazygit функцией вместо псевдонима, вы можете передать ей аргумент. Я добавил следующее в мой .bashrc (или .bash_profile, если Mac):
Это позволяет вам предоставить сообщение фиксации, такое как
Конечно, вы могли бы усилить это еще больше, приняв еще больше аргументов, например, в какое удаленное место нажать или в какую ветку.
источник
$*
вместо того,$1
чтобы сохранить набрав цитаты:lazygit My commit msg
function dirtygit() { git add . git commit -a -m "$*" git push }
В итоге я добавил псевдоним в мой
.gitconfig
файл:Использование:
git cmp "Long commit message goes here"
Добавляет все файлы, затем использует комментарий для сообщения фиксации и переводит его в исходное положение.
Я думаю, что это лучшее решение, потому что у вас есть контроль над сообщением фиксации.
Псевдоним также может быть определен из командной строки, это добавляет его к вашему
.gitconfig
:источник
!f() { ... }; f
? Более подробное объяснение этой строки сделало бы ответ еще лучше.f
, затем вызывает ее.git pull
в начало, чтобы слияния были уменьшены.Хотя я согласен с Уэйном Вернером в его сомнениях, технически это вариант:
Который определяет псевдоним, который работает
commit
иpush
. Используйте это какgit acp
. Помните, что такие псевдонимы «shell» всегда запускаются из корня вашего git-репозитория.Другой вариант может заключаться в написании хука post-commit, который выполняет push.
О, кстати, вы действительно можете передавать аргументы псевдонимам оболочки. Если вы хотите передать пользовательское сообщение о коммите, вместо этого используйте:
(Конечно, сейчас, вам нужно будет дать коммит сообщения:
git acp "My message goes here!"
)источник
git
автоматически добавляются побеги (проверено с помощьюgit config -e
).Я думаю, вы можете неправильно понять рабочий процесс, для которого был разработан git. (Чтобы уточнить / исправить то, что я имел в виду в комментарии, вам не нужно
git add .
, такcommit -a
как обычно это служит той же цели - добавление любых изменений, которые еще не были поставлены, если файлы уже были добавлены)Как правило, вы будете делать что-то вроде этого:
стирать, ополаскивать, повторять до тех пор, пока вы не закончите функцию X, не остановитесь или не захотите, чтобы другие увидели, что вы сделали Тогда вы делаете
Git - это не SVN, но кажется, что вы пытаетесь использовать его как таковой. Вы можете найти некоторые ресурсы в конце статьи здесь, которые будут полезны.
источник
git add .
иgit commit -a
это не одно и то жеЯ использую это в моем .bash_profile
Выполняется как
Не забудьте запустить
source ~/.bash_profile
после сохранения псевдонима.источник
Вы можете использовать скрипт bash, установить псевдоним для запуска любой команды или группы команд
источник
Установить как псевдоним в bash:
Назови это:
(Чтобы сделать этот псевдоним постоянным, вам нужно включить его в ваш .bashrc или .bash_profile)
источник
Самое простое решение:
git add
уже содержится в параметре commit, но при желании вы можете подключить их все:источник
В Linux / Mac этот практичный вариант также должен работать
Если вы работаете над новой веткой, созданной локально, измените
git push
часть с помощьюgit push -u origin branch_name
Если вы хотите отредактировать ваше сообщение коммита в системном редакторе, тогда
откроет редактор, и как только вы сохраните сообщение, оно также будет отправлено.
источник
Вы можете попробовать Gitu .
В первый раз (должен быть установлен узел js):
После этого:
Чтобы выпустить эти три команды одновременно.
Хорошо, что вам не нужно беспокоиться, когда вы переустанавливаете свою систему или когда вы хотите сделать это на разных компьютерах, и никаких изменений файлов не требуется. Это также работает на разных платформах (не только Linux и Mac, но и Windows в командной строке, как
cmd
иpowershell
), просто, что вы должны установитьnpm
иnodejs
(git
конечно).источник
Если файл уже отслеживается, вам не нужно запускать
git add
, вы можете просто написатьgit commit -am 'your message'
Если вы не хотите писать коммит, вы можете подумать о том, чтобы сделать что-то вроде
git commit --allow-empty-message -am ''
источник
Этот результат - Попробуйте это: Простой скрипт одна команда для git add, git commit и git push
Откройте свой CMD в Windows и вставьте этот ответ
git commit -m "your message" . && git push origin master
источник
Как упоминалось в этом ответе, вы можете создать псевдоним git и назначить для него набор команд. В этом случае это будет:
и использовать его с
источник
Напишите небольшой скрипт с именем gitpush.sh со строками ниже и добавьте его в ~ директорию.
Теперь добавьте псевдоним в ~ / .bashrc, как показано ниже:
Теперь из любого git-репозитория просто напишите gitpush «message».
источник
Я использую командный файл:
источник
Есть некоторые проблемы со сценариями выше:
shift «удаляет» параметр $ 1, в противном случае «push» прочтет его и «неправильно поймет».
Мой совет:
источник
Если вы хотите svn-подобное поведение git commit, используйте это в псевдонимах git в вашем .gitconfig
commit = "!f() { git commit \"$@\" && git push; };f"
источник
Если вы используете рыбную раковину (основываясь на ответе btse):
Сохраните этот файл в ~ ~ .config / fish / functions как quickgit.fish. Создайте каталог, если он не существует. '--git-dir = $ PWD / .git' Гарантирует, что мы запускаем команды git для проекта git, где мы вызвали функцию
Перезапустите терминал, перейдите к проекту, внесите изменения, и теперь вы можете вызвать «quickgit» пример сообщения ». Изменения теперь будут добавлены, зафиксированы и отправлены :).
Также можно найти в Гисте здесь: https://gist.github.com/Abushawish/3440a6087c212bd67ce1e93f8d283a69
источник
Уже есть много хороших решений, но вот решение, которое я считаю более элегантным для того, как я хочу работать:
Я поместил в свой путь скрипт под названием «git-put», который содержит:
Это позволяет мне бежать:
..добавить все файлы, зафиксировать их и отправить их.
(Я также добавил «-u», потому что мне все равно нравится это делать, хотя это не связано с этой проблемой. Это гарантирует, что ветвь вверх по течению всегда настроена для вытягивания.)
Мне нравится этот подход, потому что он также позволяет использовать «git put», не добавляя все файлы (пропустите «-a»), или с любыми другими опциями, которые я мог бы хотеть передать для фиксации. Кроме того, «put» - это краткое название «push» и «commit»
источник
Если вы используете VSCode, вы можете скачать это расширение, которое позволит вам сделать это одним простым сочетанием клавиш.
источник
Если вы используете Mac:
Запустите терминал. Введите «cd ~ /» для перехода в вашу домашнюю папку.
Введите «touch .bash_profile», чтобы создать новый файл.
Отредактируйте .bash_profile в вашем любимом редакторе (или вы можете просто набрать "open -e .bash_profile", чтобы открыть его в TextEdit).
Скопируйте и вставьте ниже в файл:
После этого перезапустите свой терминал и просто добавьте, подтвердите и нажмите одну простую команду, например:
источник
Для пользователей MAC VSC лучшая настройка:
1) нажмите shift + cmd + P и введите:
Нажмите ENTER (это установит команду кода, чтобы легко добраться до bash_profile)
2) теперь вы можете запустить:
code ~/.bash_profile
открыть пустой bash_profile3) введите там новую функцию:
4) Теперь перезапустите VSC
5) внесите изменения, сохраните их и наберите
lazygit message
для одновременного запуска трех командисточник
Для пользователей MacOS:
Откройте свой терминал или iTerm2 или другой терминал, который вы используете.
Перейдите в папку вашего профиля пользователя с помощью команды
~/
. Это папка по умолчанию для.bash_profile
файла:Введите
nano .bash_profile
эту команду, чтобы открыть.bash_profile
документ (или создать его, если он еще не существует) в простейшем текстовом редакторе для терминала -nano
.Теперь вы можете внести простые изменения в файл. Вставьте эти строки кода, чтобы изменить подсказку терминала:
Теперь сохраните ваши изменения, набрав
ctrl + o
и нажмите Return для сохранения. Затем выйдитеnano
, набравctrl + x
.Теперь нам нужно активировать ваши изменения. Наберите
source .bash_profile
(или. ~/.bash_profile
) и просмотрите ваши быстрые изменения.В iTerm2
Preferences/Profiles/General/Command
установленLogin Shell
иSend text at start
вsource ~/.bash_profile
. Поэтому вам не нужно делать это вручную после каждого перезапуска macOS.Полномочия: https://natelandau.com/my-mac-osx-bash_profile
источник
Я сделал этот сценарий .sh для команды
источник
Поскольку в вопросе не указано, какая оболочка, вот версия eshell, основанная на предыдущих ответах. Это идет в файле псевдонима eshell, который может быть в ~ / .emacs.d / eshell / alias. Я добавил первую часть z https://github.com/rupa/z/, которая позволит вам быстро перейти в каталог cd , так что это можно запустить независимо от того, какой у вас текущий каталог.
источник
Добавьте
~/.bash_profile
для добавления, фиксации и нажатия одной командой:Использование:
Кавычки не нужны, хотя вы не можете использовать точки с запятой или круглые скобки в ваших сообщениях о коммите (допускаются одинарные кавычки). Если вы хотите что-то из этого, просто поместите двойные кавычки в ваше сообщение, например:
Для создания комментария в вашем сообщении сделайте:
Также есть функция для добавления и фиксации аналогичным образом:
Работает точно так же, как эта
g
функция и имеет те же ограничения. Просто поставьc
вместо этого. НапримерВы также можете добавить псевдоним для отправки на пульт:
Использование:
Это составляет в 2 -х букв,
c
иp
вы используете при работе с репозиторием мерзавца. Или вы можете использоватьg
вместо этого, чтобы сделать все это только с одной буквы.Полный список псевдонимов и функций: https://gist.github.com/matt360/0c5765d6f0579a5aa74641bc47ae50ac
источник
Составляя
lazygit
ответ, следующее решение добавляет пользовательскую проверку, чтобы проверить изменения перед нажатием. Он отменит команды в случае отмены. И все это произойдет, если и только если будут изменения в локальном репо.источник
Это идеально подходит для группировки команд.
Группировка Команд
источник
Мне нравится запускать следующее:
источник
;
следует заменить&&
в вашей команде, так как позже будет выполнятьgit push
команду, только если нет ошибок в предыдущей команде (ях).Я обнаружил, что этот
yolo
псевдоним удивителен, даже когда я посылаю случайный комментарий в коммит, пока я ленивый. Он работает очень хорошо из коробки, так что я просто делаю,git yolo
и все мои изменения переносятся автоматически.источник