如何创建仅含一个压缩初始提交的新Git分支并保留开发分支?
实现干净初始提交的新分支并保留原分支历史
命令行操作步骤(推荐,更可靠)
切换到dev分支并确认工作区无未提交修改:
git checkout dev git status确保输出显示
nothing to commit, working tree clean,如有未提交内容,先提交或暂存。创建无历史的空分支(以
clean-main为例,可自定义分支名):git checkout --orphan clean-main这个命令会生成一个没有任何提交记录的分支,当前工作区会保留dev分支的所有文件状态。
清理冗余文件并提交干净初始版本:
- 如果
.env文件还在Git追踪中,先停止追踪(保留本地文件):git rm --cached .env - 暂存所有符合
.gitignore规则的文件:git add . - 创建干净的初始提交:
git commit -m "Initial commit: Clean project state"
- 如果
将新分支推送到GitHub:
git push -u origin clean-main若需将此分支设为仓库默认分支,可登录GitHub仓库页面,在
Settings->Branches中修改。回到原dev分支保留历史:
git checkout devdev分支的所有提交记录会完整保留在本地。
GitKraken界面操作步骤
- 切换到dev分支,确保左侧
Unstaged Files为空(如有未提交内容,先提交或暂存)。 - 点击顶部菜单栏
Branch->Create Branch,在弹窗中勾选Orphan Branch,输入新分支名称后点击Create。 - 在左侧文件列表中,右键点击所有文件选择
Stage all changes;若.env仍在列表中,右键选择Ignore(确保它被.gitignore规则覆盖)。 - 点击左侧
Commit按钮,输入提交信息后点击Commit。 - 在左侧分支列表找到新创建的分支,右键选择
Push完成推送。
内容的提问来源于stack exchange,提问作者Firsh - justifiedgrid.com
相关产品推荐
相关产品推荐

