Git操作:如何从已有分支创建并切换至含其变更的新分支
Git分支操作问题解答
场景回顾
- 通过
rails new AppName创建Rails项目,默认Git仓库的HEAD指向master分支 - 已在
master分支完成暂存并提交初始变更 - 执行
git checkout -b new-branch-1创建并切换至该分支,完成开发变更后提交
问题1解答
- 所需命令:
git checkout -b <新分支名>(例如git checkout -b new-branch-2),Git 2.23及以上版本也可使用更直观的git switch -c <新分支名> - 执行分支:必须在
new-branch-1分支上执行。Git创建新分支时,会以当前所在分支的最新提交为起点,这样新分支会完整继承new-branch-1的所有变更记录。
问题2解答
执行命令时所在的分支会直接影响结果:
- 若在
new-branch-1分支执行,新分支会包含该分支的所有提交(包括你在上面完成的所有变更) - 若在
master分支执行,新分支仅会继承master分支的提交记录,不会包含new-branch-1上的任何变更 - 本质上,新分支的初始状态完全依赖于你执行创建命令时所在分支的当前提交节点,所在分支不同,新分支的初始内容就会存在差异
内容的提问来源于stack exchange,提问作者Manjunathan J
相关产品推荐
相关产品推荐

