git教程 創(chuàng)建版本庫(kù)

安裝git成功后,還需要最后一步設(shè)置,在命令行輸入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
因?yàn)镚it是分布式版本控制系統(tǒng),所以,每個(gè)機(jī)器都必須自報(bào)家門(mén):你的名字和Email地址。你也許會(huì)擔(dān)心,如果有人故意冒充別人怎么辦?這個(gè)不必?fù)?dān)心,首先我們相信大家都是善良無(wú)知的群眾,其次,真的有冒充的也是有辦法可查的。

注意:

git config命令的--global參數(shù),用了這個(gè)參數(shù),表示你這臺(tái)機(jī)器上所有的Git倉(cāng)庫(kù)都會(huì)使用這個(gè)配置,當(dāng)然也可以對(duì)某個(gè)倉(cāng)庫(kù)指定不同的用戶名和Email地址。

1、創(chuàng)建一個(gè)git倉(cāng)庫(kù)

創(chuàng)建一個(gè)新文件夾
mkdir newdir
進(jìn)入文件夾
cd newdir
將這個(gè)文件夾初始化成為一個(gè)git倉(cāng)庫(kù)
git init

2、添加文件到git倉(cāng)庫(kù)

在文件夾新建一個(gè)文件,文件名為filename
touch filename。
添加文件
git add filename,可反復(fù)多次使用,添加多個(gè)文件(例如:git add filename filename2 filename3 ...)。
提交文件
git commit,可以使用git commit -m "infomation",每次對(duì)文件更改的描述可以寫(xiě)在"infomation"里邊,日后幫助我們明白當(dāng)初做了哪些修改。

3、修改文件后,請(qǐng)重復(fù)上述步驟

git add filename
git commit

4、查看倉(cāng)庫(kù)狀態(tài)以及了解對(duì)文件做的修改

git status,查看倉(cāng)庫(kù)狀態(tài),以了解倉(cāng)庫(kù)是否有文件被修改,但還沒(méi)有添加或提交。
git diff,查看對(duì)文件做了怎樣的修改。
如果添加和提交文件后,以上兩個(gè)命令將不會(huì)有任何輸出。

5、顯示提交日志

git log,顯示從最近到最遠(yuǎn)的提交日志,如果嫌輸出的信息太多,可以加上這個(gè)參數(shù),命令變成這樣,git log --pretty=oneline。

6、回退版本

git reset --hard HEAD,這樣,就回退到了上一個(gè)版本,注意:HEAD表示當(dāng)前版本,HEAD表示上一個(gè)版本,HEAD^^表示上上一個(gè)版本,往上100個(gè)版本是這樣的HEAD~100,hard參數(shù)的意義后邊講。

7、查看文件內(nèi)容

cat filename

8、在所有歷史版本之間穿梭

git reset --hard 1234567,數(shù)字是你的commit id的前幾位,數(shù)字是哪個(gè)版本,就回到哪個(gè)版本。

9、記錄每次對(duì)文件更改的命令

git reflog,這個(gè)命令記錄了你每次更改文件的信息,其中包括每個(gè)版本的commit id,這樣就可以隨便穿越每一個(gè)歷史版本。

注意:

每次修改,必須先add到暫存區(qū),然后才能commit到主分支。

10、撤銷修改

場(chǎng)景1:當(dāng)你改亂了工作區(qū)(沒(méi)add之前)某個(gè)文件的內(nèi)容,想直接丟棄工作區(qū)的修改時(shí),使用命令:git checkout -- filename。
場(chǎng)景2:當(dāng)你不但改亂了工作區(qū)某個(gè)文件的內(nèi)容,還添加到了暫存區(qū)時(shí)(git add filename),想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場(chǎng)景1,第二步按場(chǎng)景1操作。
場(chǎng)景3:已經(jīng)commit了不合適的修改到版本庫(kù)時(shí),想要撤銷本次提交,參考[回退版本],不過(guò)前提是沒(méi)有推送到遠(yuǎn)程庫(kù)。

11、刪除文件

一般情況下,你通常直接在文件管理器中把沒(méi)用的文件刪了,或者用rm命令刪了:rm filename,git status命令會(huì)立刻告訴你哪些文件被刪除了。
現(xiàn)在你有兩個(gè)選擇,一是確實(shí)要從版本庫(kù)中刪除該文件,那就用命令
git rm filename刪掉,并且git commit -m "remove filename",現(xiàn)在,文件就從版本庫(kù)中被刪除了。
另一種情況是刪錯(cuò)了,因?yàn)榘姹編?kù)里還有呢,所以可以很輕松地把誤刪的文件恢復(fù)到最新版本:git checkout -- filename,git checkout其實(shí)是用版本庫(kù)里的版本替換工作區(qū)的版本,無(wú)論工作區(qū)是修改還是刪除,都可以“一鍵還原”。

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

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

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