基本问题:如何将git repo与克隆源分离?
git branch -a
显示:
* master
remotes/origin/HEAD -> origin/master
并且我想删除所有有关起源的知识以及相关的修订。
更长的问题:我想获取一个现有的Subversion仓库,并从中创建一些较小的git仓库。每个新的git仓库都应具有相关分支的完整历史记录。我可以使用:
将存储库修剪成所需的子树git filter-branch --subdirectory-filter path/to/subtree HEAD
但是生成的存储库仍包含origin / master分支下现已丢弃的子树的所有修订版。
我意识到我可以先使用-T标志来git-svn来克隆Subversion版本库的相关子树。我不确定这是否会比以后在git repo副本上运行git filter-branch --subdirectory-filter
的多个实例化效率更高,但是无论如何,我还是想断开与原始链接。
相当简单:
git remote rm origin
关于filter-branch
问题-只需将--prune-empty
添加到您的filter branch命令中,它将删除实际上在您的存储库中不包含任何更改的任何修订:
git filter-branch --prune-empty --subdirectory-filter path/to/subtree HEAD
删除现有来源并将新来源添加到您的项目目录中
>$ git remote show origin
>$ git remote rm origin
>$ git add .
>$ git commit -m "First commit"
>$ git remote add origin Copied_origin_url
>$ git remote show origin
>$ git push origin master