Git分支名称是否留存于项目历史?新建分支后是否遗留原分支名痕迹?
关于Git分支名称在提交历史中的留存问题
你的假设是正确的——Git的提交历史不会记录分支名称,分支本质只是指向特定提交的轻量级指针,不会嵌入到提交对象本身的信息里。具体细节如下:
从不雅分支新建合规分支:
执行git checkout -b proper-branch-name 不雅分支名后,新分支只是复制了原分支指向的提交哈希,整个提交历史里不会留下任何原不雅分支名称的痕迹。同事拉取新分支、查看git log或提交详情时,完全看不到原分支的名字。合并到master后的情况:
不管用git merge proper-branch-name还是git rebase proper-branch-name将新分支合并到master,最终master的提交历史里只会保留提交的哈希、作者信息、提交说明等核心内容,不会包含原不雅分支的名称。就算用git log --graph查看分支合并图,也只会显示提交的关联关系,不会标注原分支名。需要额外注意的点:
- 如果原不雅分支已经推送到了远程仓库,必须执行
git push origin --delete 不雅分支名删掉远程分支,否则同事通过远程仓库的分支列表(比如Git平台的分支页面)还是能看到它。 - 本地的不雅分支可以用
git branch -D 不雅分支名删除,避免自己本地操作时误展示。 - 别在提交说明里提到这个不雅分支名,这是唯一可能主动留下痕迹的地方。
- 如果原不雅分支已经推送到了远程仓库,必须执行
内容的提问来源于stack exchange,提问作者Makoto
相关产品推荐
相关产品推荐

