基本问题:如何将git repo与其克隆的来源解除关联?
git branch -a 说明:
* master
remotes/origin/HEAD -> origin/master
Run Code Online (Sandbox Code Playgroud)
我想删除所有原产地知识和相关修订.
更长的问题:我想采用一个现有的subversion repo并从中做出一些较小的git repos.每个新的git repos都应该包含相关分支的完整历史记录.我可以使用以下命令将repo修剪为只需要的子树:
git filter-branch --subdirectory-filter path/to/subtree HEAD
Run Code Online (Sandbox Code Playgroud)
但是生成的repo仍然包含origin/master分支下现在丢弃的子树的所有修订版.
我意识到我可以使用-T标志来git-svn来首先克隆subversion repo的相关子树.我不确定这是否比后来运行git filter-branch --subdirectory-filtergit repo副本的多个实例更有效,但无论如何,我仍然希望打破与原点的链接.
Amb*_*ber 416
非常坦率的:
git remote rm origin
Run Code Online (Sandbox Code Playgroud)
至于filter-branch问题 - 只需添加--prune-empty到您的过滤器分支命令,它将删除任何实际上不包含您的结果仓库中的任何更改的修订:
git filter-branch --prune-empty --subdirectory-filter path/to/subtree HEAD
Run Code Online (Sandbox Code Playgroud)
小智 29
删除现有源并将新源添加到您的项目目录
>$ 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
Run Code Online (Sandbox Code Playgroud)