目錄
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