ita*_*mar 57 git git-clone shallow-clone
请注意,使用--depth=1参数会阻止您将项目推送到新的存储库.
有关详细信息,请参阅:更改Git远程URL后"远程拒绝"(不允许浅更新)
Aja*_*jay 50
你可以做一个
git clone <git_url>
Run Code Online (Sandbox Code Playgroud)
从您的文件夹中删除.git存储库.这将删除您的所有历史记录.
你可以做一个
git init
Run Code Online (Sandbox Code Playgroud)
这将为您创建一个全新的git项目.
这可能不是最好的方法.但这会奏效.希望能帮助到你.
Sas*_*olf 22
只要你认为完全失去历史是没有问题的,Ajay建议的方法是完全有效的.但是如果你想保持浅层克隆的历史,我有一个不同的建议.
浅克隆假装通过使用所谓的移植点伪造"第一次"提交的父级来拥有完整的历史记录.如果我们假设我们有完整的历史记录,我们可以重新解释一个问题:如何在特定修订版之前丢弃历史记录?
这意味着我们可以使用移植点的组合git filter-branch(如链接问题中所示).但是,您必须注意,这将重写您的完整历史记录,使新的历史记录与我们最初克隆的远程数据库不兼容.因此,我们应该从我们的存储库中删除旧的远程.
git remote remove <old-remote-name>
Run Code Online (Sandbox Code Playgroud)
现在我们可以开始重写了.假设我们想让当前主提交为存储库的新根.
git rev-parse --verify master >> .git/info/grafts
git filter-branch -- --all
Run Code Online (Sandbox Code Playgroud)
这将重写我们的存储库的完整历史记录,并将当前主提交作为新根.您可以通过删除"备份"引用来完成重写refs/original.此外,您现在可以删除该.git/shallow文件.
完成此操作后,您应该能够在新的遥控器中推送现在未经过移植的历史记录.
| 归档时间: |
|
| 查看次数: |
10174 次 |
| 最近记录: |