首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >已删除和强制推送的对象仍然显示在其他dev的机器上。

已删除和强制推送的对象仍然显示在其他dev的机器上。
EN

Stack Overflow用户
提问于 2022-11-10 20:24:48
回答 1查看 34关注 0票数 1
  1. 有人不小心把一些大文件推开了。
  2. 我使用重写历史记录的git-filter-repo删除了这些文件(就像回答建议的那样)
  3. git-filter-repo --analyze已经确认这些文件实际上已被删除。
  4. 我用git push --force把重写的历史推到原点。

到目前一切尚好

然而,

当回购被拉到其他开发人员的机器(使用git pull --rebase)时,git-filter-repo --analyze仍然显示那些大的已删除的blobs/文件(虽然没有显示在我的机器上)

git gcgit prune帮不上忙。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-10 20:50:01

取并复位硬

如果远程分支已经更改,并且希望与其完全匹配:

代码语言:javascript
复制
$ git fetch
$ git reset —-hard origin/main

如果有本地提交,他们希望保留,使用git重基也是可能的,例如在feature-branch上保持提交

代码语言:javascript
复制
$ git fetch
$ git rebase --onto origin/main main feature-branch

为什么不重新定位-工作?

在问题中描述的情况下,您的同事在他们的本地克隆中有不想要的文件--合并/重定位远程分支不会改变存在包含这些不想要的文件的提交(随后的任何推送都会将这些不需要的文件重新引入远程)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74394930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档