Bash “自动化”;“git合并”;提交消息

Bash “自动化”;“git合并”;提交消息,bash,git,Bash,Git,我经常需要用当前主机更新我的远程分支。我正试图将其自动化为: #!/usr/bin/env bash cd directory git checkout master git pull git checkout <remote_branch> git pull origin <remote_branch> git merge master git push #/usr/bin/env bash 光盘目录 git签出主机 吉特拉力 git签出 git拉原点 git合并

我经常需要用当前主机更新我的远程分支。我正试图将其自动化为:

#!/usr/bin/env bash

cd directory
git checkout master 
git pull
git checkout <remote_branch>
git pull origin <remote_branch>
git merge master
git push
#/usr/bin/env bash
光盘目录
git签出主机
吉特拉力
git签出
git拉原点
git合并主机
git推送

但是当我合并master时,我会被扔进我的编辑器,在那里我需要
:wq
才能推送。如何在我的Bash脚本中复制这个
:wq

下面列出了三种方法,您不必复制
:wq

1-使用
--无需编辑
使用
--no edit
选项,自动生成的消息将被接受(通常不鼓励这样做,请参阅)

因此,在您
git pull origin
之后,您可以使用

git merge master --no-edit
2-使用环境变量 较旧的脚本可能取决于不允许用户编辑合并日志消息的历史行为。当运行git merge时,他们将看到一个编辑器打开。为了更容易根据更新的行为调整这些脚本,可以在脚本开头将环境变量
GIT\u MERGE\u AUTOEDIT
设置为
no
。-

使用

在合并行之前

3-使用
-m
提供信息 设置用于合并提交的提交消息(如果创建了一条)

如果指定了--log,则正在合并的提交的简短日志将附加到指定的消息中

可以使用
git-fmt-merge-msg
命令为自动git-merge调用提供良好的默认值。自动消息可以包括分支描述。-


阅读更多:

GIT_MERGE_AUTOEDIT=no
git merge master -m "Merge master"