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