git分支相关操作
git本地分支与远程分支的新建,删除,合并操作…
新建分支
本地分支重命名
将当前分支名称修改为main:
1 | git branch -M main |
远程新建分支
远程新建分支,本地pull即可。
本地新建分支
从master分支的最新节点新建分支dev
1 | git checkout master # 切换到master分支 |
从远程网页上可以看到新建的分支dev。
删除分支
本地删除并更新到远程
项目中经常使用分支,以下介绍在本地和远程删除分支。删除分支dev-demo。
1 | git checkout main |
以下详细介绍每条指令的意思:
切换到master分支;
1
git checkout master
查看已有的本地及远程分支;
1
2git branch -a
git remote show origin删除远程分支;
1
git push origin --delete dev-demo
删除后,再次查看分支情况;
1
git branch -a
删除本地分支;
1
git branch -d dev-demo
完毕。登录github网页可以看到,dev-demo分支已删除。
远程删除分支更新到本地
网页上删除分支后,同步到本地。
1 | git pull |
以下详细说明介绍:
首先,查看本地分支和追踪的情况:
1
2git pull
git remote show origin发现一些远程已经删除的分支还在显示,使用一下命令同步删除,即删除本地远程分支:
1
git remote prune origin
最后删除本地分支:
1
git branch -d delete-branch-name
合并分支
1.开发分支dev代码合并到master分支
1 | git checkout dev |
- no fast forward合并方式,新建了一个commit。保留原有分支dev提交;
- faster forward合并方式,不新建commit,删除原来分支dev,dev的提交记录嵌入到master分支上;
2.master分支代码改动,更新到开发分支dev上
1 | git checkout master |
强制更新分支到远程指定分支的最新代码
git本地即使有修改也强制更新。放弃本地的修改和提交,强制使用远程分支的最新提交。
先切换到指定分支,因为不管仓库目前处在什么状态,都是可以 checkout 的;
1
git checkout dev
从远程仓库拉最新的代码到本地;
1
git fetch --all
把 HEAD 指向指定分支;
1
git reset --hard origin/dev
在指定分支 git pull, 查看是否已切换到指定分支并且是最新版本.
1
git pull