我有两个不相关的分支,主人和配置的git repo.我创建了配置,清除了所有文件,然后只放入配置文件中.现在我想在远程仓库上推送它,但因为它是新的,空分支(没有我所有更改的日志和原始分支的旧版本).
我怎样才能清除所有的历史并推动它?
Joh*_*ter 136
清除所有文件并没有消除历史记录.您需要先创建一个没有历史记录的分支,然后添加配置文件.这些天git checkout有一个--orphan选项,使一个没有历史的分支.以下是该--orphan选项的信息:
--orphan <new_branch>
创建一个名为<new_branch>的新孤立分支,从<start_point>启动并切换到它.在这个新分支上进行的第一次提交将没有父项,它将成为与所有其他分支和提交完全断开的新历史的根.
调整索引和工作树,就像之前运行"git checkout <start_point>"一样.这允许您通过轻松运行"git commit -a"来创建根提交,从而开始记录一组类似于<start_point>的路径的新历史记录.
当您想要从提交中发布树而不公开其完整历史记录时,这可能很有用.您可能希望这样做以发布项目的开源分支,该分支的当前树是"干净的",但其完整历史记录包含专有或其他受阻的代码.
如果要启动记录一组与<start_point>完全不同的路径的断开连接的历史记录,则应在运行"git rm -rf"创建孤立分支后立即清除索引和工作树. " 从工作树的顶层.之后,您将准备好准备新文件,重新填充工作树,从其他地方复制它们,提取tarball等.
这是结帐文档的链接.你也可以跑git help checkout.
一旦创建了没有历史记录的分支,那么当您将其推送到服务器时,它也不会具有该历史记录.FWIW,它帮助我将其git push视为"让远程分支与我的本地分支看起来一样".所以,如果你有历史和推动,它将有历史.如果你不这样做,那么推出的分支就不会.
Ger*_*mia 28
我怎样才能清除所有的历史并推动它?
git checkout --orphan <name_you_choose_for_orphan_branch>
git commit
Run Code Online (Sandbox Code Playgroud)
然后你可以运行你的
git push <remote-name> <branch-name>
Run Code Online (Sandbox Code Playgroud)
Thi*_*obo 15
我需要这样做才能向自由职业者发送一些代码,而无需共享私人信息或删除我的历史记录.
如果您有任何人使用SourceTree,这就是我设法做到这一点的方式.如果我做错了或忘记了某些事情,请告诉我,因为我对源代码管理非常不熟悉.
当我检查bitbucket时,似乎这似乎有效并且丢弃了我的提交历史.
希望这有助于某人.
git checkout --orphan <name_you_choose_for_orphan_branch>
git rm . -r -f
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45175 次 |
| 最近记录: |