版本回退
soft:git reset --soft HEAD^
将版本库回退一个版本,且这次提交的所有文件都移动到暂存区
mixed(默认):git reset HEAD^
将版本库回退一个版本,且这次提交的所有文件都移动到工作区,会重置暂存区
hard:git reset --hard HEAD^
将版本库回退一个版本,会重置暂存区,工作区会回退到这个版本,即之前提交修改的文件不会存在
生成新的分支
git checkout develop
git branch -a q退出
git merge 3.0.10_20211120_BETA
git status
git push
删除本地分支
git branch -d 3.1.0_20211210_BETA
复制且创建本地分支
git checkout -b 4.2.0_20220630_BETA
创建远程分支
git push --set-upstream origin 4.2.0_20220630_BETA
删除远程分支
git push origin --delete Chapater6
删除本地分支
4.1.0_20220615_BETA
列举所有远程分支:git branch -a
git cherry-pick 合并某些提交到某个分支
webstorm,点击log显示所有commit,点cherry-pick,合并到当前分支
git merge dev
将dev的分支合并到当前分支
git pull = git fetch + git merge FETCH_HEAD
git pull --rebase = git fetch + git rebase FETCH_HEAD
二者对比可知,rebase没有产生新的节点,使用rebase的git演进路线(提交树)是一直向前的,这样在版本回退时也很容易,用merge的git路线是跳跃的,如果版本回退你也找不到自己想要的版本,如果在merge时出现了冲突那就麻烦了,当前merge就不能继续进行下去,需要手动修改冲突内容后,add,commit, push. 而rebase 操作的话,会中断rebase,同时会提示去解决冲突。解决冲突后, 再执行 git rebase --continue 继续操作,再push.