目录
1 给工程打上tag
git branch
git branch -d demo-3
git tag --list
项目上线发版,要给项目打上tag
#切换到master
git checkout master
#切换到demo-2,打上tag
git checkout demo-2
git tag t1.0.0
#也可以给tag添加说明
git tag -a t1.0.0 -m "tag说明"
#查看tag说明
git show t1.0.0
推送tag与推送分支是类似的
#推送tag与推送分支是类似的
git push origin t1.0.0
github上会显示标签列表和版本列表
2 删除tag
git tag t1.1.0
git push origin t1.1.0
git tag -d t1.1.0
这样只是本地的tag删除了,还要干掉远程的tag
git push origin :t1.1.0
3 合并分支
把指定分支合并到当前分支
#当前是demo-2,把demo-1合并到demo-2
git merge demo-1
4 项目上线之后,发现有bug,进行项目回滚
#在demo-2上创建一个分支demo-3
git checkout demo-3
# 删除js.只留a.js
rm -rf 1.js
git commit -m "update" -a
git push origin demo-3
目前a.js的代码是这样的
var a = 1;
var b = 2;
var c = 3;
var d = 4;
对代码进行修改,增加a=5
发现改错了,想要还原(这是在add命令之前)
#还原所有
git checkout .
#还原a.js
git checkout a.js
git代码回滚
vi a.js
#增加e = 123;
#保存退出
wq
git commit -m "update" -a
git push origin demo-3
#取消指定的提交
git revert 版本号
#取消之后,进行push
git push origin demo-3
如果已经提交了很多个版本了,比如,v1,v2,v3,v4,v5,现在想要回到v2,只需要把v3回退,就能回到v2.
5 不留痕迹的回退
#完全回退到v3,并且前面所有的版本,操作记录全没了
git reset --hard v3
#进行了前面的操作再提交的时候肯定会报错,因为冲突,这个时候进行强制推送
git push origin demo-3 --force
6 保存当前工作,与恢复工作进度
#保存当前工作进度
git stash
#恢复工作进度到暂存起和工作区
git stash pop --index
7 让本地的分支,强制覆盖远程另一个分支
#在本地的master分支修改后,想要推送到远程的v4-1分支进行覆盖
git push -f origin master:v4-1
8 让远程分支,强制覆盖本地分支
#拉取远程的develop分支强制覆盖本地分支
git reset --hard origin/develop