如何强制git在bash脚本中使用默认消息进行合并?

时间:2015-03-17 12:26:59

标签: git bash

我的脚本如下所示:

branch_name=$1
declare -a instances=("w-instance.eu" "x-instance.eu" "y-instance.eu" "z-instance.org")

for instance in "${instances[@]}"
do
   cd "/home/ubuntu/$instance/mbf"
   git checkout "$branch_name"
   git pull origin "$branch_name"
   python manage.py collectstatic --noinput
   python manage.py migrate
   sudo apachectl restart
done

我这样运行:

bash pull_merge_restart.sh some_branch

当我在脚本中明确设置分支名称时,git没有提示我关于合并的注释。现在它打开nano并显示:

Merge branch 'production' of github.com:andilabs/xyz into production

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.

如何强制git使用默认消息,以便脚本自动运行而不会因人为干扰而中断?

1 个答案:

答案 0 :(得分:2)

来自git-pull

  

- 编辑
  -e
  --no编辑

     

在提交成功的机械合并之前调用编辑器以进一步编辑自动生成的合并消息,以便用户可以解释并证明合并。 --no-edit选项可用于接受自动生成的消息(通常不鼓励这样做)。

     

较旧的脚本可能取决于不允许用户编辑合并日志消息的历史行为。他们会在运行git merge时看到一个编辑器打开。为了更容易地将这些脚本调整为更新的行为,环境变量GIT_MERGE_AUTOEDIT可以在它们的开头设置为no。