【发布时间】:2015-07-22 12:15:48
【问题描述】:
我正在为我的团队编写一个 bash 脚本,以强制对工作分支进行定期变基。我目前面临的问题是如何确定分支是否落后于 master 和/或是否需要重新设置分支,而不是盲目地尝试重新设置分支。
这是我目前所拥有的简化版本:
#Process each repo in the working directory.
for repo_dir in $(ls -1); do
# if working branch is clean ...
# BEGIN update of local master
git checkout master
git fetch origin
git merge remotes/origin/master
# END update of local master
for sync_branch in $(git branch | cut -c 3-); do
if [ "$sync_branch" != "master" ]; then
# BEGIN rebase working branch
git checkout $sync_branch
git rebase master
# Do NOT push working branch to remote.
# END rebase working branch
fi
done
fi
done
任何想法将不胜感激。谢谢!
【问题讨论】:
-
我认为没有必要。
git rebase应该检查并把自己变成一个空操作(“当前分支是最新的。”)如果分支在其提交日志中有 master 的负责人。 -
@PSkocik 我想要这样做的原因不是
git rebase的自检能力。根据是否需要变基,我希望我的脚本执行其他操作。
标签: git bash rebase git-rebase git-bash