首先这是不同的,因为这是针对所有分支而不是一个分支。 (我发现的所有那些一次只为一个分支指定这个)
我在一个有大约 20-30 个分支的 repo 上工作(说来话长,我知道我知道我知道的坏习惯)
无论如何,我正在使用 git bfg cleaner 删除一些旧的提交,在使用它之后你需要删除并重新克隆代码或重置每个分支。
我知道如何设置分支使用
git fetch origin
git reset --hard origin/master
但是有没有一种方法可以用一个命令重置每个分支,或者我必须一次只重置一个分支?
我忽略了很多本地文件,我不想处理复制和重写。 (如 IDE 文件、计算机配置文件等...)
最佳答案
First this is different because this is for all branches not one
你可以使用一个脚本来遍历你的分支,然后在每个分支上做你想做的事:
# Loop on all the desired branches
for ref in $(git branch -a)
do
# ... DO ANYTHING YOU NEED HERE
# You have the $ref which stores the branch name
# ex: remotes/origin/master
done
是否有更好的ans简单解决方案?
是的,只需再次克隆该项目,您将拥有与原始项目相同的内容。
这正是您为每个分支手动执行的操作。
注意:
您可以使用此命令一次获取所有数据:
# Fetch all remotes, branches and remove deledted content
git fetch --all --prune
关于git - 将本地 repo 的所有分支重置为与远程相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36019381/