基于origin/master创建test分支后修改该分支影响本地master是否正常?
问题解答
这种情况是否正常?
不正常。Git的分支设计核心就是实现不同分支的变更隔离,修改test分支的代码本身不会自动同步到本地master分支。出现这种情况大概率是操作时犯了以下错误之一:
- 创建
test分支后没切换到该分支,直接在master分支上完成了修改 - 误将
test分支的提交合并到了本地master分支 - 修改代码后没提交到
test分支就切换回master,导致未暂存/未提交的变更跟着工作区转移到了master
如何避免此类情况再次发生?
- 操作前先确认当前分支:执行
git branch命令,带*标记的就是当前所在分支,确保在test分支上再开始修改 - 创建分支时直接切换过去:用
git checkout -b test origin/master或新版Git的git switch -c test origin/master命令,一步完成分支创建与切换,避免遗漏切换步骤 - 修改后及时提交到当前分支:执行
git add .暂存变更,再用git commit -m "你的提交说明"把变更记录到test分支,确保变更被分支“锁定”,不会随工作区切换乱跑 - 不要随意合并分支到
master:除非明确要把test的变更同步到master,否则不要执行git merge test这类合并命令
是否需要基于其他远程分支创建分支?
不需要。基于origin/master创建分支是完全合理的操作,问题出在本地操作失误,和远程分支的选择无关。只要规范分支操作流程,基于origin/master创建分支不会有问题。
内容的提问来源于stack exchange,提问作者AutumnZeng
相关产品推荐
相关产品推荐

