之前测试库使用人数不多,1个主分支就能解决,最近有关于多分支的操作,复习了下
创建分支
1、创建新分支
git branch [branch-name]
2、新建分支并切换到该分支
git checkout -b [branch-name]
git 2.23版本新增 git switch -c [branch-name]
3、新建一个分支与指定的远程分支建立追踪关系
git branch --track [branch-name] [remote-branch-name]
4、如果远程新建了一个分支,本地没有该分支
可以用 git checkout --track origin/[branch-name],这时本地会新建一个分支,名为branch-name,会自动跟踪远程同名的分支branch-name
5、如果本地建了一个分支,远程没有
用 git push --set-upstream origin [branch-name],这时会在远程新建一个branch-name分支并与本地的branch-name关联,后面push pull就会同步
6、建立追踪关系,在本地现有分支与指定的远程分支之间
git branch --set-upstream [branch-name] [remote-branch-name]
(在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致:git checkout -b dev origin/dev)
查看分支
1、列出所有本地与远程分支
git branch -a
2、查看当前分支状态
git status
分支合并
注:把A分支合并到B分支上,就得去B分支上merge A
1、比如合并分支到master上
首先切换到master分支上:git checkout master
接着同步远程master上的代码:git pull origin master
然后合并dev分支到master上:git merge dev
这里可能会冲突,找到冲突的文件并修改掉,再git add [冲突文件],最后git commit
最后查看状态:git status
回退版本
注:使用git log 查看版本号(commitId),回退撤销都是本地库,然后推送到远程
1、已 commit,未push到远程仓库。
git reset --soft 版本号(撤销commit)。
git reset --mixed 版本号(撤销 commit 和 add 两个动作)。
2、已 commit,并且push到了远程仓库。
推荐使用:git revert -n 版本2(撤销目标版本号修改,但是保留了提交记录)
-----如存在版本1,版本2,版本3,则生成新的版本4,这个版本4里会保留版本3的东西,但撤销了版本2的东西,如版本3与版本2提交的内容相关联,可能会冲突。
其他方法:git reset --hard 版本2(撤销并舍弃目标版本号之后的提交记录)
-----如存在版本1,版本2,版本3,则直接回退到版本2,版本3代码丢失,本地修改后,需要git push -f强制推送
删除分支
1、删除本地分支
git branch -d [branch-name]
2、删除远程分支
git branch -r -d origin/[branch-name]
附:git的提交线说明
![](/i/l/?n=23&i=blog/992633/202301/992633-20230115134336273-224227297.png)
标签:git,name,常用命令,版本,branch,远程,分支 From: https://www.cnblogs.com/qgc1995/p/17049421.html