如何在Git的master分支与新功能分支间切换并隔离修改?
如何在Git中正常切换无修改的master分支与包含修改的newfeature分支
你遇到的情况是因为所有修改都还停留在工作区和暂存区,没有提交到newfeature分支。Git在切换分支时,会保留未提交的本地修改(只要这些修改和目标分支的文件没有冲突),所以切换到master后依然能看到这些改动。
具体解决步骤
- 切回newfeature分支,确保修改归属到目标分支:
git checkout newfeature - 暂存所有已修改和新增的文件:
git add .若有不想纳入提交的文件,可单独指定文件名(如
git add file1.txt file2.txt),而非用.全部添加。 - 将暂存的修改提交到newfeature分支:
git commit -m "feat: 完成新功能开发,修改78个相关文件"提交信息建议清晰描述修改内容,方便后续查看历史记录。
完成以上操作后,执行git status会显示工作区干净。此时再切换到master分支:
git checkout master
你会发现master分支回到了原始无修改的状态,所有新功能的修改都被安全保存在newfeature分支中。
后续若需继续开发新功能,只需切回newfeature分支即可:
git checkout newfeature
额外注意
你最初创建分支的命令git branch new feature存在笔误,正确的分支名应该是无空格的newfeature——不过你后续git checkout newfeature已经正确切换到目标分支,这个笔误未影响实际操作,但建议后续创建分支时避免使用空格,防止不必要的问题。
内容的提问来源于stack exchange,提问作者David L
相关产品推荐
相关产品推荐

