git - 如何同步我的本地 git 存储库并删除远程存储库中消失的分支
问题描述
我已经看到了许多与此相关的类似 stackoverflow 的问题。我尝试了很多方法,但仍然卡住了。
我有一个这样的脚本:
git fetch --prune
for k in $(git branch --merged| grep -E -v "(^\*|master|dev|release|origin)"); do
if [ -z "$(git log -1 --since='38 week ago' -s "$k")" ]; then
## Info about the branches before deleting
git log -1 --format="%ci %ce - %H $k" -s "$k";
## Delete from the remote
# git push origin --delete "$k";
## Delete the local branch, regardless of whether it's been merged or not
# git branch -D "$k"
fi;
done
我懂了:
host:folder user$ clean-up.sh
2018-05-18 14:46:25 -0700 gituser@company.com - 646766c885324b4f298d55604e0aabc2a00fdb58 feature/some-branch
2018-05-16 19:56:56 -0400 gituser@company.com - 4e09733554eaf5e293ca7c668c19ec1395b361f9 some-other-branch
所以它说要删除以下两个分支:
feature/some-branch
some-other-branch
但它们实际上已在一段时间前从远程删除。问题是我的本地仓库仍然有它们。我尝试了多种方法将本地存储库与远程同步,以便从远程删除的分支也将从本地删除。
有人知道一个好的解决方案吗?
一个更好的解决方案是完全不依赖本地仓库,并且能够完全依赖远程仓库来清理远程的旧分支。
我试过git remote prune origin但它没有用
解决方案
Try following command:
git remote update origin --prune
推荐阅读
- python - 如何在指定的时间段内调用该函数?
- ruby-on-rails - Session[:user_return_to] 在登录后重定向回当前页面时为零
- sql - PHPMyAdmin 匹配具有两个或多个字符串的行
- java - 删除 .m2 文件夹后 Maven 安装错误
- security - 如何保护 JCL FTP 中的存储密码?
- tsql - 计算多行的 Zscore
- javascript - 如何使用类列表添加和删除活动视图类型?
- javascript - 在特定位置替换字符串中的单词
- python - 删除所有列值也是 NA 的 NA 行
- php - 在 localhost 中重写 URL 不起作用