我创建了一个分支'测试'(仅用于学习目的)&把它推到原始服务器。对于分支'测试',我有两个提交&我把它们推到原点。但我不希望那些提交因此也是那个分支。因此,现在,我将从原点删除分支'test'(也在本地通过'git branch -d test'):
git push origin :test
这会永久删除有关该分支的所有内容(包括这两个提交)吗?
另外,我可以创建一个名称相同的分支,即'test'吗?
答案 0 :(得分:4)
分支只是指向提交的指针 - 如果删除分支,则提交仍然存在,并且可以通过提交哈希直接访问。
随着时间的推移,git会自动删除未引用的提交/对象(垃圾回收),但这不是立竿见影的。 Github有一个helpful page on the topic,如果你想了解更多关于如何永久删除推送的更改的信息,但你不需要这样做,除非你特别想要删除你不想要的内容和现在的孤儿提交。
如果你删除了一个分支并希望用不同的名称重新创建它 - 是的,你可以。
如果远程分支仍然存在并且您想要发布到它,则第一次推送到远程分支时需要强制推送(git push -f
),因为远程分支可能没有共同的历史记录与你的“新”分支同名。