【问题标题】:How to sync up my local git repo and delete branches that are gone in remote repo如何同步我的本地 git 存储库并删除远程存储库中消失的分支
【发布时间】:2019-07-03 15:48:05
【问题描述】:

我已经看到很多类似的 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

但它们实际上已在一段时间前从远程删除。问题是我的本地仓库仍然有它们。我尝试了很多方法将我的本地仓库与远程同步,以便从远程删除的分支也将从本地删除。

有人知道好的解决方案吗?

更好的解决方案是完全不依赖本地 repo,并且能够完全依赖远程 repo 来清理远程中的旧分支。

我试过 git remote prune origin 但没用

【问题讨论】:

标签: git bitbucket


【解决方案1】:

尝试以下命令:

git remote update origin --prune

【讨论】:

  • 究竟是什么不起作用?执行命令后,应该删除两个分支。
  • 它带有“Fetching origin”字样。没有别的了。当我再次运行相同的脚本时。我看到那两个树枝还在那里。
【解决方案2】:

学到了一些新东西。我需要 git branch -r 来查看远程分支。当我这样做时,我需要摆脱分支名称中的“起源”。然后当我想找出有关分支的信息时,我需要重新添加“origin”。这对我有用:

for k in $(git branch -r --merged | sed 's/origin\///' | grep -E -v "(^\*|master|dev|release|origin)"); do
  if [ -z "$(git log -1 --since='5 week ago' -s "origin/$k")" ]; then
    ## Info about the branches before deleting
    git log -1 --format="%ci %ce - %H $k" -s "origin/$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

【讨论】:

    猜你喜欢
    • 2011-09-16
    • 2013-02-21
    • 2013-06-09
    • 2014-10-19
    • 2014-09-03
    • 1970-01-01
    • 2012-11-28
    • 2022-11-09
    • 2011-07-30
    相关资源
    最近更新 更多