在git中创建和删除大量分支是不是很糟糕?

Xeo*_*oss 5 git version-control

我有一个master包含稳定代码的主分支.每次我想构建新的东西时get checkout -b 'development',添加新代码,然后将其合并回master并删除开发分支.

但是,在我添加新内容之前,这是否会创建一个更大的repo数据库而不仅仅是保持开发分支并将master合并到其中(所以开发是最新的)?所有这些临时开发分支是否在回购中占用了额外的空间?

Cas*_*bel 6

为单个主题/功能/任务创建临时分支是很好的.你说得对.不要只停留"开发" - "featureA","bugX","bugX-testing",你需要的任何东西,制作它!

分支基本上没有空间.它是指向提示的指针,因此它表示为一个文件(.git/refs/heads/branch-name),其内容只是该提交的SHA1.很小.最终它们可以被收集到packed-refs文件中,这只是每个分支的一行 - 名称和SHA1,甚至小于原始文件!(Git这样做是为了避免在repo中有太多文件,例如,在其历史记录中有1000个次要/维护版本标记.)它们也有reflogs,每次分支的位置发生变化时记录一行(尝试git reflog show看到HEAD的reflog),但是再次,这个很小 - 当你删除分支时它被移除了.