Git ярлык для добавления, передачи и отправки на удаленный репо
Можно ли одновременно запускать следующие команды:
1. мерзавец добавить. 2. git commit -m "Сообщение" 3. git push orgin/master
Я знаю, что первые два могут быть как-то соединены так:
git commit -am "Сообщение"
Я хочу нажать на удаленный после совершения локально без необходимости проходить через все эти шаги.
2 ответа
ИМХО Это будет возможно, только если
- Вы единственный программист, способствующий
- Вы используете только один локальный репозиторий для отправки изменений в удаленный
И это отнимает у вас гибкость и мощь.
Если так,
Вы можете использовать "псевдоним"
Так что-то подобное может сделать работу.
$ gitFunction() {
> git add .
> git commit -m "$1"
> git push origin }
$ alias git-all="gitFunction"
$ git-all 'commit message' //Will do everything for you.
Или же
Добавьте это в ваш файл.git/config.
[alias]
sync = "!sync() { git add . && git commit -m \"$1\" && git push $2; }; sync"
Позже вы можете использовать
$git sync 'commit message' remote_repo
Но ты не должен делать это!!
Зачем?
Хоть и не по теме, хотелось бы процитировать принцип достаточного основания
Ничто не без причины или причины
У Git, когда он был разработан Линусом, эти шаги были разделены по достаточной причине. Если вы злоупотребляете им, вы не получите от него полного потенциала. Так что хорошо, когда следуют лучшие практики.
Из того, что вы намереваетесь достичь, вы рассматриваете git как инструмент для загрузки изменений исходного кода на удаленный сервер, что, кстати, неверно и лишает вас всех тех преимуществ, которые дает вам git.
Зачем git add
не должно быть автоматизировано?
git add поможет вам добавить неотслеживаемые файлы / добавить измененные файлы в промежуточную область. Который позже войдет в твой коммит. дела git add .
добавит все в вашу область подготовки. В большинстве случаев у вас будет что-то, что вы не хотите совершать или участвовать в конкретном коммите.
Зачем git commit -m "Message"
не должно быть автоматизировано?
Сообщение коммита объясняет изменения, которые произошли после последнего коммита. Сообщение коммита помогает другим программистам, сотрудничающим с вами, понять изменения, которые вы сделали. Таким образом, вы не должны писать бессмысленность в сообщении коммита
Зачем git push
не должно быть автоматизировано?
Даже с вашей нынешней логикой этот шаг должен завершиться неудачей, если вы не единственный программист, участвующий в проекте. Так что будут изменения в пульте, которые вы должны потянуть. И в лучшем случае произойдет автоматическое слияние, и вы можете сразу сделать git push в качестве следующего шага. Но в случае конфликта вам нужно разрешить конфликты, затем зафиксировать изменения, объединить и затем протолкнуть (что, между прочим, нелегко автоматизировать, если это возможно).
Кроме того, вы не будете нажимать на один и тот же пульт и не будете все время нажимать на одну и ту же ветку. Все эти вещи являются переменными и требуют решения разработчиков.
Итак, попробуйте понять Git, а затем подумайте над этим.
Читайте Pro Git это бесплатная и лучшая книга по Git.
Вы можете определить псевдоним, который принимает аргумент, как описано здесь подробно
в вашем случае я считаю, что это должно работать
[alias]
acp = "!f() { git add . && git commit -m \"$1\" && git push origin/master; }; f"
тогда ты можешь назвать это
git acp "commit message"
Кроме того, проверьте, какие уловки вы можете делать с псевдонимом в документации Git, это довольно полезный инструмент.