git切换分支时,如何干净的切换到另一个分支上?
代码热修时,组长说要切一个新分支给我们大家做bug修复使用,所以不能将当前分支的代码迁移污染到新分支
在网上找到了几种方法,做下记录
https://www.cnblogs.com/myitnews/p/11816177.html(原址)
当执行命令 git checkout develop 切换到develop分支时,如果之前的分支对文件有修改,也会将修改的文件信息带到develop分支上来。怎么干净地切换到develop分支?
方案一:git reset HEAD -- hard
方案二:git stash
方案三:git commit
场景描述
当前分支:alanchen。
在alanchen分支上修改了几个文件,如,A、B、C。
切换到develop分支时,A、B、C这三个文件的修改也会带过来。用 git status 查看,可以看到A、B、C这三个文件有修改。
1. 方案一适用场景
想切换到develop分支时是干净的,如果这些修改不再需要,可以直接丢弃的话,采用这种方案。
//执行以下命令
git checkout develop
git reset HEAD --hard
//特别注意:alanchen分支上A、B、C的修改也没有了
2. 方案二适用场景
如果这些修改还需要,只是想临时切换到develop分支,那么采用第二种方案。
git stash
git checkout develop
3. 方案三适用场景
如果是同时开了两份分支在开发,在当前分支上的修改都需要保留,希望切换到另外一个分支去开发,那么采用第三种方案。
#添加到git版本库
git add .
#提交
git commit -m "message"
#切换分支
git checkout develop