Git | 青训营笔记

50 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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的分叉提交历史整理成直线