我有一个公开的回购.
问题是我已经使用了很长时间,这意味着裸机库中有很多垃圾.有大量死枝,删除标签等...
是否有一些命令来清理裸仓库?有些像git remote prune这样适用于相反的情况吗?
编辑:因为似乎有些混乱.这是我的设置:
DevelMachine1
^
|
v
MainDevelRepo <-> MainRepo -> PublicBareRepo (with a lot of junk) -> The World
^
|
v
DevelMachine2
Run Code Online (Sandbox Code Playgroud)
甚至更多信息之后:
MainRepo -> PublicBareRepo (with a lot of junk) -> The World
Run Code Online (Sandbox Code Playgroud)
所以问题就在这里。有时您会从 MainRepo 推送到 PublicBareRepo,其中现在包含不再有效且不应该存在的内容。将来,请确保只推送应该存在的分支。我想现在主要的事情是从中删除分支,然后我必须回到我原来的答案(假设我们正在谈论同一种垃圾)
git push PublicBareRepo :someBranch1
git push PublicBareRepo :someBranch2
Run Code Online (Sandbox Code Playgroud)
从OP获得更多信息后:
看来是回购设计造成了问题,而 --mirror 是解决这个问题的方法。如果 A 是开发人员将其内容推送到的主要裸存储库,并且 B 是公共裸存储库,则 B 应该是带有 --mirror 选项的 A 的克隆。
需要做的是在 B 上执行“git 远程更新”(假设 B 已经是 A 的镜像),这样它就会更新自身以再次与 A 相同。
原答案:
如果你想删除远程存储库上的分支,你可以这样做:
git push origin :branchName
Run Code Online (Sandbox Code Playgroud)
这同样适用于任何引用,例如标签:
git push origin :tagName
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3313 次 |
| 最近记录: |