Gitforce push --force --all 不更新所有分支

Git force push --force --all does not update all branches

我正在硬删除我的 gitlab 存储库中的一个文件。我有 3 个 b运行ches,我希望从提交中删除这个文件。

我对git的理解不是很好

我有 运行 下面的命令可以从我的存储库中的所有 b运行 中完全删除对特定文件的任何引用,并且它们都被重写了。

git filter-branch -f --index-filter "git rm -rf --cached --ignore-unmatch fileA.sh" -- --all

i 运行 然后 运行 下面的命令清理我本地的 repo

rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now

下面是我要的 b运行ches,以及远程跟踪 b运行ches

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master
  remotes/origin/mbyousaf2020-master-patch-95874
  remotes/origin/test

但是,当 运行 连接 git push --all --force 时,它只会更新我的存储库中的主 b运行ch。我如何同时更新剩余的远程跟踪 b运行ches?

:qabash $ git push --all --force
Enumerating objects: 316, done.
Counting objects: 100% (316/316), done.
Delta compression using up to 12 threads
Compressing objects: 100% (114/114), done.
Writing objects: 100% (314/314), 30.10 KiB | 10.03 MiB/s, done.
Total 314 (delta 195), reused 276 (delta 188)
remote: Resolving deltas: 100% (195/195), completed with 1 local object.
To gitlab.com:qa.git
 + a28475e...40053dd master -> master (forced update)

我需要什么命令来运行它更新我所有的 b运行ches 并完全删除我所有 b运行ches 中对该文件的任何引用?

你自己给出了答案,当你列出分支时:

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master
  remotes/origin/mbyousaf2020-master-patch-95874
  remotes/origin/test

remotes/origin 个分支不是你的;它们是 remote-tracking 个分支。 只有一个分支——master。因此 git push --all 推送您拥有的所有分支,即那个分支 master。 Git 表现完全符合预期。

I have 3 branches where i want this file to be removed from the commits.

不,你不知道。你自己证明了你只有一个分支,即master.