git常用命令

1.創(chuàng)建倉庫

mkdir git

cd git? ——創(chuàng)建/home/XXX/git空目錄

2.通過git init命令把這個目錄變成Git可以管理的倉庫:

git init ——初始化Git倉庫

3.用命令git add告訴Git,把文件添加到倉庫(實(shí)際上就是把文件修改添加到暫存區(qū)):

git add filename

4.用命令git commit告訴Git,把文件提交到倉庫(實(shí)際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支):

git commit -m "有意義的附加說明"

5.隨時掌握工作區(qū)的狀態(tài)

git status

6.查看文件被修改的內(nèi)容

git diff

7.查看代碼的歷史版本號

git log

git log --pretty=oneline? ——要求版本信息只能在一行中顯示

8.HEAD指向的版本就是當(dāng)前版本,因此,Git允許我們在版本的歷史之間穿梭

git reset --hard commit_id

或git reset --hard HEAD^(HEAD^^等等)

9.查看命令歷史,以便確定要回到未來的哪個版本

git reflog

10.弄明白Git的工作區(qū)(當(dāng)前分區(qū))和暫存區(qū)

11.理解Git是如何跟蹤修改的,每次修改,如果不add到暫存區(qū),那就不會加入到commit中

12.撤銷修改

命令git checkout -- filename意思就是,把filename文件在工作區(qū)的修改全部撤銷,這里有兩種情況:

一種是filename自修改后還沒有被放到暫存區(qū),現(xiàn)在,撤銷修改就回到和版本庫一模一樣的狀態(tài);

一種是filename已經(jīng)添加到暫存區(qū)后,又作了修改,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)。

總之,就是讓這個文件回到最近一次git commit或git add時的狀態(tài)。

場景1:當(dāng)你改亂了工作區(qū)某個文件的內(nèi)容,想直接丟棄工作區(qū)的修改時,用命令git checkout -- file。

git checkout其實(shí)是用版本庫里的版本替換工作區(qū)的版本,無論工作區(qū)是修改還是刪除,都可以“一鍵還原”。

場景2:當(dāng)你不但改亂了工作區(qū)某個文件的內(nèi)容,還添加到了暫存區(qū)時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操作。

場景3:已經(jīng)提交了不合適的修改到版本庫時,想要撤銷本次提交,版本回退,不過前提是沒有推送到遠(yuǎn)程庫。

13.刪除文件

命令git rm用于刪除一個文件。如果一個文件已經(jīng)被提交到版本庫,那么你永遠(yuǎn)不用擔(dān)心誤刪,但是要小心,你只能恢復(fù)文件到最新版本,你會丟失最近一次提交后你修改的內(nèi)容。

14.將本地倉庫與github倉庫關(guān)聯(lián)起來

往里面添加文件:

1 touch README.md2 git init3 git add README.md4 git commit -m "first commit"5 git remote add origin git@github.com:sysublackbear/Learmgitfirst.git6 git push -u origin master

將本地倉庫同步github倉庫:

1 git remote add origin git@github.com:sysublackbear/Learmgitfirst.git2 git push -u origin master

然后,從現(xiàn)在起,只要本地作了提交,就可以通過命令:

1 git push origin master

把本地master分支的最新修改推送至GitHub

15.多人協(xié)作一個項目的時候,我們每個人可以通過從遠(yuǎn)程倉庫克隆一份來作為己用。

1 git? clone git@github,com:sysublackbear/XXXX.git

16.創(chuàng)建分支并且切換到分支

1 git checkout -b dev2 Switched to a new branch 'dev'

等價于:

1 git branch dev2 git checkout dev3 Switched to branch 'dev'

查看分支:

1 git branch

將次分支合并到主分支上面:

1 git merge dev

刪除分支:

1 git branch -d dev2 Deleted branch dev (was fec145a).

17.解決沖突

當(dāng)Git無法自動合并分支時,就必須首先解決沖突。解決沖突后,再提交,合并完成。

用git log --graph命令可以看到分支合并圖。

18.Bug修復(fù)

修復(fù)bug時,我們會通過創(chuàng)建新的bug分支進(jìn)行修復(fù),然后合并,最后刪除;

當(dāng)手頭工作沒有完成時,先把工作現(xiàn)場git stash一下,然后去修復(fù)bug,修復(fù)后,再git stash pop,回到工作現(xiàn)場

19.開發(fā)新功能

開發(fā)一個新功能,最好新建一個分支;

如果要丟棄一個沒有被合并過的分支,可以通過git branch -D name強(qiáng)行刪除。

20.參與開源項目先要克隆一份到本地

1 git clone git@github.com:michaelliao/bootstrap.git

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 修行,是心的大覺。大覺的心就是大心。人心的廣大與道是相應(yīng)的。只有具備這樣的心才可以真正的去修行。 煩惱并不可怕,因...
    菩提天天長閱讀 186評論 0 0
  • 我不知道自己是不是方法不對,還是因為確實(shí)沒有達(dá)到一定的閱讀量,我的閱讀水平確實(shí)很糟糕。 很早就意識到了自己的這個問...
    樾洱閱讀 196評論 0 0
  • 本文展示了在之前搭建的Hadoop分布式集群的基礎(chǔ)上如何搭建Spark分布式集群環(huán)境 一、已有環(huán)境 ubuntu ...
    玄月府的小妖在debug閱讀 4,960評論 6 12
  • 做了一些奇怪的夢 他們莫名其妙分開 電話吊死在老桑樹上 烏鴉長出狐貍的尾巴 她去了南方 為了背叛和欺騙 人們活得不...
    允遮閱讀 152評論 0 0

友情鏈接更多精彩內(nèi)容