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"