这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
Git
回退版本号:git reset --hard HEAD^ HEAD指当前版本,^表示回退几个版本
创建并切换到新的 dev 分支 git switch -c dev
查看当前分支:git branch
把dev分支合并到master上:git merge dev //需要回到master git switch master
删除dev分支:git branch -d dev
直接切换到已有的master分支 git switch master
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>或者git switch <name>
创建+切换分支:git checkout -b <name>或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
合并dev分支,禁用fast forward模式:git merge --no-ff -m "merge with no-ff" dev
场景1: 当你手上的代码功能还没做完时,需要处理另外一个bug,处理这个bug你就需要创建另外一个分支。于是可以用git stash把当前没做完的代码暂存起来。
在哪个分支上修复bug,就在哪个分支上创建分支git switch xxx``git switch -c bug1
恢复暂存内容:git stash pop
场景2:新增功能,也是新建一个分支git switch -c feature1,正常来说之后就是回到dev分支,然后合并。但是新功能被取消了,所以需要删除分支git branch -D feature1 -D是强行删除。
指定本地dev分支与远程origin/dev分支的链接 git branch --set-upstream-to=origin/dev dev
- 查看远程库信息,使用git remote -v;
- 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
- 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
- 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
git rebase可以把本地未push的分叉提交历史整理成直线