使用我在 SourceTree 网站上找到的教程,我终于开始了解 Git。
以前,我在每次提交后创建一个新分支,因为它会导致新的上传到 App Store。现在,我知道所有来自本地 -> 远程存储库的提交都会转到远程的 MASTER 分支。
如果这是正确的,那么我可以安全地删除除 MASTER 之外的所有本地和远程分支吗?以下是在 SourceTree 中查看时的样子:
使用我在 SourceTree 网站上找到的教程,我终于开始了解 Git。
以前,我在每次提交后创建一个新分支,因为它会导致新的上传到 App Store。现在,我知道所有来自本地 -> 远程存储库的提交都会转到远程的 MASTER 分支。
如果这是正确的,那么我可以安全地删除除 MASTER 之外的所有本地和远程分支吗?以下是在 SourceTree 中查看时的样子:
从您的屏幕截图来看,您有一个完全线性的历史记录(分支创建后没有额外的提交),因此删除除master
不应该丢失任何提交之外的所有分支。如果您想跟踪具有特殊名称的某些提交(例如,记住发布的位置),您可以考虑使用标签 ( git tag
)。
对于一般情况,您可以使用
git rev-list --all ^master
或者,更漂亮,
git log --decorate --oneline --all ^master
--all
说“可以从任何参考中访问的每个提交”,^master
说“除了您可以访问的任何内容master
”。
是的,如果您只想保存 MASTER 分支,那将是安全的;但想想看,GiT 有一个没有冗余文件的存储模式,因此分支不会浪费空间(考虑到在 MASTER 分支或类似的东西上没有删除大的二进制文件)。
我建议您不要删除任何内容,也许您在 MASTER 分支中发现了一些错误,您可以返回到另一个分支(我希望没有,伙计;))