丢弃当前分支修改切换到其他分支
git checkout -f 分支名称 //强制切换至其他分支,丢弃当前分支的修改
git 不commit情况下切换分支
有如下几种处理方式:
- add并且commit,再checkout,提交到当前分支
- add但不commit,可以stash,然后checkout回来之后stash apply,在commit,提交到当前分支
- add但不commit,也不stash,直接checkout,然后再commit的话,记录就在切换分支下面。
其背后的原因:一个本地的git repo只有一个工作区和暂存区,但是有多个分支的提交区,而我们的checkout只是将HEAD指针从一个分支切换到另一个分支。
将一个分支改动转移到另一个分支上
分支没有commit
-
在第一个分支
git stash
-
在新分支上执行
git stash pop
此时第一个分支的改动会跑到这个分支上。 -
在第一个分支再执行
git stash apply
之前的改动就会出来
如果commit过
新分支直接merge 第一个分支
git merge 分支名