一、 從master分支建立dev分支並切換到dev分支html
git checkout master git checkout -b dev
其中,git checkout -b dev 等價於:git
git branch dev git checkout dev
(1)算法
git branch
查看本地當前的分支,分支前面帶「*」表示當前分支,剩下的分支表示本地有的分支。app
(2)gitlab
git branch -a
查看遠程所有的分支,白色的表示本地有的,紅色的表示本地沒有,僅在遠程存在。fetch
二、修改代碼、提交代碼(當前的操做是在dev分支上進行)ui
git add a.html git commit -m "提交文件a.html"
三、分支合併(將dev合併到master)spa
git checkout master git merge dev
四、合併完成後,刪除dev分支.(刪除dev分支時,注意咱們當前所在的分支不能是dev分支).net
git branch -d dev
五、刪除後,查看分支(此時看不到dev分支了)日誌
git branch
六、總結 :工做中常常從master建立新的分支,具體操做以下
master建立新分支: git checkout master git checkout -b issues1234 git push origin issues1234 git add .. git commit -m "***" git push origin issues1234
注意:將本地分支branch1推到遠端的branch2操做步驟:
git push origin branch1:branch2
七、刪除分支:
git branch -D issues1234 //本地強制刪除分支issues1234 git push origin :issues1234 //推到遠程
一、發生衝突的文件
<<<<<<< HEAD Creating a new branch is quick & simple. ======= Creating a new branch is quick AND simple. >>>>>>> feature1
其中,git使用<<<<<<<,=======,>>>>>>>標記文件中本身和別人產生衝突的部分。
在<<<<<<<,=======之間爲本身的代碼;
=======,>>>>>>>之間爲別人的代碼。
若是保留本身的代碼,將別人的代碼刪掉便可。
二、衝突解決後提交
git status git add *** git commit -m "fix conflict" git push origin 分支名
一、儲藏更改:將當前更改的代碼儲藏起來,等之後恢復使用
git stash
二、恢復儲藏的代碼
git stash pop //恢復的同時把stash內容刪掉
或者
//經過 git stash list,查看本地全部的stash,若是我要恢復第一個就執行: git stash apply stash@{0} git stash apply //恢復stash,可是stash內容並不刪除 git stash drop //在上面操做的基礎上,以此來刪除stash 注: git stash list //查看所有的stash列表
三、將stash空間清空
git stash clear
四、git stash pop 和 git stash apply 區別
原來git stash pop stash@{id}命令會在執行後將對應的stash id 從stash list裏刪除, 而 git stash apply stash@{id} 命令則會繼續保存stash id。
一、回退至上一個版本
git reset --hard HEAD
二、回退至指定版本
git reset --hard 版本號
三、查看以往版本號(本地的commit)
git reflog
四、查看各版本號及信息(全部的commit:本地commit + 其餘同事的commit)
git log
一、撤銷修改
git checkout -- a.html
分兩種狀況分析:
①: 尚未執行 git add 操做,執行上面的操做後,會恢復到和版本庫中如出一轍的版本狀態。 ②: 執行了git add ,還沒執行 git commit ,再執行上面的操做後,會恢復到git add 結束後的狀態
注:一旦執行了git commit -m "*",就不能再使用上面的命令回退。
二、撤銷新建文件
好比新建一個aa.html頁面,並未執行git add ,即沒有被git追蹤,此時若是你想撤銷新建動做,可執行:
git clean -f ../aa.html
三、撤銷新建文件夾
好比新建一個文件夾"demo",並未執行git add ,即沒有被git追蹤,此時若是你想撤銷新建動做,可執行:
git clean -df ./demo
一、第一步:
git reset --hard 版本號 //本地回退到指定的版本
二、第二步:
git push -f origin dev //將遠程的也回退到指定版本
git fetch origin -p //用來清除已經沒有遠程信息的分支,這樣git branch -a 就不會拉取遠程已經刪除的分支了
從gitlab上看不到的分支在本地能夠經過git branch -a 查到,刪掉沒有與遠程分支對應的本地分支:
git fetch -p
git remote show origin
一、給當前分支最新commit打標籤
git tag v1.0.0
二、好比如今週五,要給週一某個commit打標籤,應執行如下步驟:
(1)、查看log日誌,找到相應的commit版本號
git log --pretty=oneline --abbrev-commit
//顯示以下commit,好比我想在 "34372b05"這個commit打標籤
44d2e20b fix bug
34372b05 fix bug
29554931 fix bug
(2)、給指定的commit打標籤
git tag v1.0.0 34372b05
(3)、建立的標籤只存在本地,推至遠程
git push origin v1.0.0
(4)、一次性推送未推至遠程的本地標籤
git push origin --tags
(5)、查詢全部標籤
git tag
(6)、查詢標籤詳細信息
git show v1.0.0
(7)、刪除本地標籤
git tag -d v1.0.0
(8)、刪除遠程標籤
//先從本地刪除 git tag -d v1.0.0 //而後從遠程刪除 git push origin :refs/tags/v1.0.0 //最後能夠在gitlab上查看是否真正的刪除了標籤
三、建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字
//git tag -a 版本號 -m 說明信息 commit版本號 git tag -a v1.0.0 -m "version 1.0.0 released" 34372b05(commit版本號) //查看標籤詳細信息 git show v1.0.0
https://blog.csdn.net/u012937...
`//(1)、分支重命名` git branch -m old_branch new_branch `//(2)、刪除舊分支` git push origin :old_branch `//(3)、將新分支提交遠端` git push --set-upstream origin new_branch 或者 git push -u origin new_branch