文章目錄
- 前言:
- 1、常用的git指令
- 2、常用git功能及操作
- 2.1、下載代碼:
- 2.2、當前分支和master保持一致
- 2.3、修改代碼后提交代碼到指定分支
- 2.4、版本回退(時空穿梭機)
- 2.5、概念工作區和暫存區
- 2.6、添加遠程庫
- 2.7、分支管理
- 2.8、標簽管理
前言:
最近有些懶,加之又被一些瑣事纏身,所以博客就更的比較慢,后面還是保持一個月最少2-3篇的頻率,分享一些最近學的東西,希望我們能一起成長。
今天就簡單介紹下常用的Git指令吧,主要適用于那些剛需這些指令完成某些需求的人群。博主也是小白一個,主要分享下一些常用的功能吧。
1、常用的git指令
git clone git@192.168.2.252:hadoop/rce.git //用于將遠程倉庫的代碼復制到本地git add 文件名 //我們把我們工作空間的文件提交到git緩存沖區并生成快照的命令git commit -a -m "xxx" //提交到本地倉庫;我們用git add把文件暫存在緩存區,但
是此時的文件只是在緩存區中保存(生成快照),并沒有被提交到本地倉庫中git push //提交到遠程服務器git checkout //git checkout命令來幫助我們事先分支的切換git merge//1 將別的分支合并到當前分支如git merge master:develop--》master(用于線上發布)2 將遠程同名分支的代碼合并到本地分支中,如 remote develop --》 local develop(與其他人得代碼合并)git fetch //拉取回代碼,先放到本地倉庫的origin/master分支;但有時候我們并不希望拉取回來的代碼直接就合并到我們當前的本地分支中,因為這可能會造成沖突,為了避免代碼自動合并,我們可以執行git fetch命令,先把代碼拉取回來,防止在origin/master分支中,后面再自己合并git status //查看文件狀態git diff //提示我們代碼合并出現沖突,打開文件我們也可以看到沖突的內容,那么有時候文件很多,并且我們想通過git 命令查看哪些文件有沖突git push origin branch-name//從本地推送分支到遠程倉庫git push origin <tagname>可以推送一個本地標簽到遠程倉庫;創建+切換分支:git checkout -b <name>或者git switch -c <name>命令git tag <tagname>用于新建一個標簽,默認為HEAD,也可以指定一個commit id;git checkout -- file可以丟棄工作區的修改(比如當你修改的工作區文件后執行該命令可撤銷修改還原文件)
2、常用git功能及操作
一般會有各種需求:比如下載代碼,提交代碼到本地分支等,對于一個小白來說,如果是在生產環境直接初次操作這些肯定會很懵逼,所以就寫了些完成以上需求的指令集。
2.1、下載代碼:
git clone git@**************
2.2、當前分支和master保持一致
!注意:每次提交代碼前,一定要拿自己的分支和master進行比較,看自己的分支是否比master新,如果不是則需要先拉去master最新的代碼,然后合并到自己的分支。再去添加自己更新的代碼,再進行代碼提交!1、前提是需要將本地的master拉到最新
git checkout master
git pull
2、使當前分支dev保持與master同步
git checkout dev
git merge master3、檢查是否一致
git diff master dev
2.3、修改代碼后提交代碼到指定分支
git checkout 分支名(若是當前分支則不必切換)
git add 文件名
git commit -m "XXXX" //xxxx只是本次的提交的一個內容描述
git push origin 分支名 //提交本地分支代碼到遠程倉庫分支
2.4、版本回退(時空穿梭機)
git reset --hard HEAD^ //回退到前一個版本,
git reset --hard HEAD~100 //回退到前100個版本
git reset --hard 1094a //回退到前一個版本后通過版本的commit id(可以通過git reflog命令查看對應版本的commit id)返回到對應的版本。
HEAD指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個版本。
要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本。
2.5、概念工作區和暫存區
工作區:本地工作區域
暫存區:git add操作后將更改內容推到暫存區,也成為版本庫
執行git commit就可以一次性把暫存區的所有修改提交到分支(本地分支)
執行git push就可以將本地分支推送到遠程服務器。
每次修改,如果不用git add到暫存區,那就不會加入到commit中
2.6、添加遠程庫
要關聯一個遠程庫,使用命令git remote add origin git@server-name:path/repo-name.git;#如將本地倉庫和遠程的github庫進行關聯
關聯后,使用命令git push -u origin master第一次推送master分支的所有內容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
2.7、分支管理
1、創建與合并分支
git checkout -b dev
Switched to a new branch 'dev'
git checkout命令加上-b參數表示創建并切換,相當于以下兩條命令
$ git branch dev
$ git checkout dev
Switched to branch 'dev'
git branch命令會列出所有分支,當前分支前面會標一個*號。
刪除分支:git branch -d <name>
如果要丟棄一個沒有被合并過的分支,可以通過git branch -D <name>強行刪除。
合并某分支到當前分支:git merge <name> 如:git merge master,則為合并master到當前分支。
2.8、標簽管理
標簽也就是版本庫(或者說分支)的一個快照。分支代碼會更改,標簽就是某一個時刻的分支。
1、創建標簽
命令git tag <tagname>用于新建一個標簽,默認為HEAD,也可以指定一個commit id;
命令git tag -a <tagname> -m "blablabla..."可以指定標簽信息;
命令git tag可以查看所有標簽。
2、操作標簽
命令git push origin <tagname>可以推送一個本地標簽;
命令git push origin --tags可以推送全部未推送過的本地標簽;
命令git tag -d <tagname>可以刪除一個本地標簽;
命令git push origin :refs/tags/<tagname>可以刪除一個遠程標簽。
最后如果各位想完整的了解下git,推薦下廖雪峰大神的教程:https://www.liaoxuefeng.com/wiki/896043488029600