如何在git

时间:2016-09-20 14:16:49

标签: git git-reset

如何重置我的所有本地分支,一次就像远程存储库中的分支一样?

我的本​​地存储库中有42个分支,但我的远程存储库中只有21个分支。我不需要其他分支,我只需要21个分支(本地和远程同名)。

我知道

git fetch origin 
git reset --hard origin/master

但是我希望所有21个分支一起重新设置为原始状态,并删除所有其他分支不在原点。

1 个答案:

答案 0 :(得分:1)

如果你在Unix上,你可以使用shell脚本。

这将首先删除所有您的本地分支,然后从原点创建所有分支。

# make sure we are currently on no branch, so every branch can be deleted
git checkout --detach master

# delete all local branches
git branch | grep -v "HEAD detached" | xargs git branch -D

# re-create all branches from origin
while read b; do git branch ${b#origin/} $b; done < <(git branch -r | grep 'origin/')

# check out the new master
git checkout master