gpt4 book ai didi

Git - pull 时自动快进所有跟踪分支

转载 作者:IT王子 更新时间:2023-10-29 00:58:25 25 4
gpt4 key购买 nike

我已经使用 --track 选项设置了跟踪分支,当我在 master 上执行 git pull 时,它会获取所有分支到 origin/branchname 但不与本地跟踪分支 merge 。这非常烦人,因为如果我稍后在 master 上执行 git push,它会说非快进更新在跟踪分支上被拒绝,因为它们不是t 在初始 git pull 上快进。

我的问题是:如何让 git pull 获取所有分支并自动快进所有跟踪分支?

注意:git pull 用于使用我的 GitHub 存储库快进我所有的跟踪分支,但现在我已经使用 Gitolite 设置了我自己的存储库,这个问题突然出现了.

最佳答案

快速转发所有将其上游分支设置为匹配的 origin/分支的 Shell 脚本,而不进行任何检查

  • 它不会随时更改您当前的分支,无需处理工作副本更改和 checkout 时间损失

  • 它只做快进,不能快进的分支会显示错误信息并被跳过

通过运行 git branch -vv 确保所有分支的上游分支设置正确。使用 git branch -u origin/yourbanchname

设置上游分支

复制粘贴到文件中并 chmod 755:

#!/bin/sh

curbranch=$(git rev-parse --abbrev-ref HEAD)

for branch in $(git for-each-ref refs/heads --format="%(refname:short)"); do
upbranch=$(git config --get branch.$branch.merge | sed 's:refs/heads/::');
if [ "$branch" = "$upbranch" ]; then
if [ "$branch" = "$curbranch" ]; then
echo Fast forwarding current branch $curbranch
git merge --ff-only origin/$upbranch
else
echo Fast forwarding $branch with origin/$upbranch
git fetch . origin/$upbranch:$branch
fi
fi
done;

关于Git - pull 时自动快进所有跟踪分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4577874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com