一、git分支合并
(1)运行终端,执行命令:git branch,会列出所有branch,并在当前分支会有 “*”标记。
(2)切换到要操作的分支,比如:有两个分支almond 和release-2.0.3,现在想把release-2.0.3的代码合并到almond上。执行命令:git checkout almond.
(3)合并代码。执行代码:git merge release-2.0.3.有冲突就解决冲突,没有就继续。
(4)将代码推送到github服务器上。执行命令:git push origin almond.
二、git 新建分支获取远程分支代码
1.本地新建分支,对应远程分支,如:
git branch release-2.1.0 -t origin/release-v2.1.0
该命令行会新建本地分支release-2.1.0,并且追踪远程分支release-v2.1.0。
2.可以拉取远程分支代码。
git pull git pull origin release-v2.1.0
三.git 分支打tag
1.列出git上现有的所有标签。执行命令:git tag
2.为当前分支创建标签。执行命令:git tag -a v2.0.3 -m "version 2.0.3"
3.新建的tag 要提交到服务器。
通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
$ git push origin v2.0.3 # 将v0.1.2标签提交到git服务器
$ git push origin --tags # 将本地所有标签一次性提交到git服务器
四、idea中版本回退
https://blog.csdn.net/gomeplus/article/details/78241070
工作中遇到git远程仓库需要回退到历史版本的问题,根据网上的搜索结果结合自己的实践,整理了如下步骤:
1. 在“Show History”中找到当前版本(取名:newVersion)和想要回退到的版本(oldVersion)
2. 选择newVersion和oldVersion点击“Copy Revision Number”复制两个版本的版本号:
newVersion:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c
oldVersion :6bc5691cbe7304cb185b70fbc0dd975c7de86e8a
3. 右击项目依次选中:Git->Repository->Reset HEAD
4. 选中Reset Type:*Hard, To Commit:6bc5691cbe7304cb185b70fbc0dd975c7de86e8a;然后点击Reset按钮*
5. 这时本地代码已经回退到oldVersion,这时候如果直接push到远程仓库,会提示版本冲突,点击“cancel”取消。
6. 下面有两种解决冲突的方法
方法一 :不解决,直接强制提交:
a. 打开Terminal,切换到项目所在目录
b. 执行:spring-mvc $git push -f
方法二:
a. 右击项目依次选中:Git->Repository->Reset HEAD
b. 选中Reset Type:Mixed, To Commit:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c;然后点击Reset按钮
c. 这时你会发现,最新版本有回到newVersion。但是代码还是oldVersion的代码,这时候重push到远程仓库就不会版本冲突了
7. 方法一vs方法二
方法一会将回退的提交记录抹点,而方法二会保留
8. Done
———
如何在idea中打tag:
intellij idea 版本为2017.2.6
进入Version Control-->log
1.在之前版本中,右键,新建标签
2.输入标签名称,建议输入版本号的方式
3.push标签
由于不是在当前最新版本打入的标签,push时需要选择push tags (all),不然不能push
在GitLab标签中就可以看到刚才push的标签
在idea的log中也可以看到刚才的标签或者搜索标签
4.删除标签
在idea中由于没有找到删除标签的功能,所以只能采用命令行的方式进行
进入工程目录-->右键,Git Bash Here进入命令窗口
删除本地标签命令
git tag -d v1.0.1
删除远程标签命令
git push origin :refs/tags/v1.0.1
5.根据标签创建分支
标签只是记录的一个点,需要需要针对这个点的代码修改就需要转换成分支,因此标签可以起到备份的作用
转换标签为分支有两种方式
1.右下角搜索标签
2.在log中右键创建分支