Git官網(wǎng)上對Git是這樣的描述
Git is afree and open sourcedistributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git是一個自由和開放源碼分布式版本控制系統(tǒng)設(shè)計用于處理從小型到大型項目的速度和效率都闪萄。
對于Git下載和安裝現(xiàn)在就不做詳細(xì)地介紹,自己去Git官網(wǎng)上下載和安裝谅将。
下載方法:
1.這是Git下載地址 https://git-scm.com/downloads
2.下面是我的百度網(wǎng)盤Git安裝地址和密碼 如果大家需要的話QQ找我 QQ:571785481
鏈接:https://pan.baidu.com/s/1IVYGSXm39jvSun162HnDiQ
提取碼:tltc
3.當(dāng)然也可以通過簡書找到這篇文章復(fù)制鏈接進(jìn)行下載
4.GitHub上下載
正題
下面我主要介紹關(guān)于Git的命令和使用方法阳懂,這里我不一一給大家介紹追逮,我們會結(jié)合操作給大家介紹Git的使用蜀铲。
我們會大概分為以下幾個目標(biāo)介紹:
- Git庫創(chuàng)建
- 遠(yuǎn)程倉庫
- 克隆倉庫
- 分支管理
- 標(biāo)簽管理
Git庫創(chuàng)建
Git安裝完成后郑象,可以通過window平臺的“開始”’菜單找到
-
點擊‘Git Basn’進(jìn)入命令行頁面如下圖:
如果你出現(xiàn)這樣的頁面表示已經(jīng)安裝成功了铝量,好了倘屹,現(xiàn)在進(jìn)行下一步操作
- Git是分布式版本控制系統(tǒng),所以需要填寫和郵箱作為一個標(biāo)識符慢叨。
注意:git config --global 參數(shù)纽匙,有了這個參數(shù),表示你這臺機(jī)器上所有的Git倉庫都會使用這個配置拍谐,當(dāng)然你也可以對某個倉庫指定的不同的用戶名和郵箱烛缔。
目前為止,我們算是已經(jīng)完成了Git的安裝
下面是一些命令的使用
cd
表示進(jìn)入到某個文件夾中
mkdir
表示創(chuàng)建一個文件夾
pwd
表示當(dāng)前所處的文件名稱
ls
表示當(dāng)前文件下有哪些文件
好了現(xiàn)在我們使用這些命令
好了轩拨,這些命令和Linux沒什么區(qū)別的践瓷,當(dāng)我們學(xué)習(xí)Linux時也是可以使用的。
下面是創(chuàng)建本地Git管理庫亡蓉,
-
通過命令 git init 把這個目錄變成git可以管理的倉庫
此時可以在本地看到已經(jīng)自動生成一個隱藏的文件夾.git 晕翠,這個文件是用來跟蹤和管理版本的,所以不要輕易去修改這里面的內(nèi)容砍濒。
- 在Git管理庫當(dāng)中添加
git add
+文件名 測試記事本 readme.txt 內(nèi)容為:This is my first git file.
1.使用命令git add readme.txt or touch readme.txt
如果和上面一樣淋肾,沒有任何提示,說明已經(jīng)添加成功了梯影。
2.用命令 git commit告訴Git巫员,把文件提交到倉庫。命令git commit -m "提交注釋"
現(xiàn)在我們已經(jīng)提交了一個readme.txt文件了甲棍,我們下面可以通過命令git status
來查看是否還有文件未提交简识,如下:
說明沒有任何文件未提交,但是我現(xiàn)在繼續(xù)來改下readme.txt內(nèi)容感猛,比如我在下面添加一行Hello七扰,World 內(nèi)容,繼續(xù)使用git status來查看下結(jié)果陪白,如下:
上面的命令告訴我們 readme.txt文件已被修改颈走,但是未被提交的修改。
接下來我想看下readme.txt文件到底改了什么內(nèi)容咱士,如何查看呢立由?可以使用如下命令:
git diff readme.txt
如下:
知道了對readme.txt文件做了什么修改后轧钓,我們可以放心的提交到倉庫了,提交修改和提交文件是一樣的2步(第一步是git add 第二步是:git commit)锐膜。
以上是我們從創(chuàng)建到提交的整個過程毕箍。
下面是版本撤回等
在本地Git庫里readme.txt內(nèi)容添加一行 內(nèi)容 The third
如何查看歷史記錄 使用
git log
..如果覺得顯示的內(nèi)容太多的話,可以使用下面的命令git log --pretty=oneline
現(xiàn)在我想使用版本回退操作道盏,我想把當(dāng)前的版本回退到上一個版本而柑,要使用什么命令呢?可以使用如下2種命令荷逞,第一種是:
git reset --hard HEAD^
那么如果要回退到上上個版本只需把HEAD^ 改成 HEAD^^ 以此類推媒咳。那如果要回退到前100個版本的話,使用上面的方法肯定不方便种远,我們可以使用下面的簡便命令操作:git reset --hard HEAD~100 即可涩澡。未回退之前的readme.txt內(nèi)容如下:再來查看下 readme.txt內(nèi)容如下:通過命令
cat readme.txt
查看可以看到,內(nèi)容已經(jīng)回退到上一個版本了院促。我們可以繼續(xù)使用git log 來查看下歷史記錄信息筏养,如下:
三:理解工作區(qū)與暫存區(qū)的區(qū)別?
工作區(qū):就是你在電腦上看到的目錄常拓,比如目錄下testgit里的文件(.git隱藏目錄版本庫除外)渐溶。或者以后需要再新建的目錄文件等等都屬于工作區(qū)范疇弄抬。
版本庫(Repository):工作區(qū)有一個隱藏目錄.git,這個不屬于工作區(qū)茎辐,這是版本庫。其中版本庫里面存了很多東西掂恕,其中最重要的就是stage(暫存區(qū))拖陆,還有Git為我們自動創(chuàng)建了第一個分支master,以及指向master的一個指針HEAD。
我們前面說過使用Git提交文件到版本庫有兩步:
第一步:是使用 git add 把文件添加進(jìn)去懊亡,實際上就是把文件添加到暫存區(qū)依啰。
第二步:使用git commit提交更改,實際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支上店枣。
我們繼續(xù)使用demo來演示下:
我們在readme.txt再添加一行內(nèi)容為The forth速警,接著在目錄下新建一個文件為test.txt 內(nèi)容為test,我們先用命令 git status來查看下狀態(tài)鸯两,如下:
現(xiàn)在我們先使用git add 命令把2個文件都添加到暫存區(qū)中闷旧,再使用git status來查看下狀態(tài),如下:
接著我們可以使用git commit一次性提交到分支上钧唐,如下:
四:Git撤銷修改和刪除文件操作忙灼。
一:撤銷修改:
比如我現(xiàn)在在readme.txt文件里面增加一行 內(nèi)容為The fifth
,我們先通過命令查看如下:
在我未提交之前,我發(fā)現(xiàn)添加The fifth
內(nèi)容有誤该园,所以我得馬上恢復(fù)以前的版本酸舍,現(xiàn)在我可以有如下幾種方法可以做修改:
第一:如果我知道要刪掉那些內(nèi)容的話,直接手動更改去掉那些需要的文件里初,然后add
添加到暫存區(qū)父腕,最后commit
掉。
第二:我可以按以前的方法直接恢復(fù)到上一個版本青瀑。使用 git reset --hard HEAD^
但是現(xiàn)在我不想使用上面的2種方法,我想直接想使用撤銷命令該如何操作呢萧诫?首先在做撤銷之前斥难,我們可以先用 git status
查看下當(dāng)前的狀態(tài)。如下所示:
可以發(fā)現(xiàn)帘饶,Git會告訴你哑诊,git checkout -- file 可以丟棄工作區(qū)的修改,如下命令:
git checkout -- readme.txt,
如下所示:命令 git checkout --readme.txt
意思就是及刻,把readme.txt文件在工作區(qū)做的修改全部撤銷镀裤,這里有2種情況,如下:
readme.txt自動修改后缴饭,還沒有放到暫存區(qū)暑劝,使用 撤銷修改就回到和版本庫一模一樣的狀態(tài)。
另外一種是readme.txt已經(jīng)放入暫存區(qū)了颗搂,接著又作了修改担猛,撤銷修改就回到添加暫存區(qū)后的狀態(tài)。
對于第二種情況丢氢,我想我們繼續(xù)做demo來看下傅联,假如現(xiàn)在我對readme.txt添加一行 內(nèi)容為6666666666666,我git add 增加到暫存區(qū)后疚察,接著添加內(nèi)容7777777蒸走,我想通過撤銷命令讓其回到暫存區(qū)后的狀態(tài)。如下所示:
注意:命令git checkout -- readme.txt
中的 -- 很重要貌嫡,如果沒有 -- 的話比驻,那么命令變成創(chuàng)建分支了。
二:刪除文件衅枫。
假如我現(xiàn)在版本庫testgit目錄添加一個文件b.txt,然后提交嫁艇。如下:
如上:一般情況下,可以直接在文件目錄中把文件刪了弦撩,或者使用如上rm命令:
rm b.txt
步咪,如果我想徹底從版本庫中刪掉了此文件的話,可以再執(zhí)行commit
命令 提交掉益楼,現(xiàn)在目錄是這樣的猾漫,只要沒有commit之前点晴,如果我想在版本庫中恢復(fù)此文件如何操作呢?
可以使用如下命令 git checkout -- b.txt悯周,如下所示:
五:遠(yuǎn)程倉庫粒督。
在了解之前,先注冊github賬號禽翼,由于你的本地Git倉庫和github倉庫之間的傳輸是通過SSH加密的屠橄,所以需要一點設(shè)置:
第一步:創(chuàng)建SSH Key。在用戶主目錄下闰挡,看看有沒有.ssh目錄锐墙,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件长酗,如果有的話溪北,直接跳過此如下命令,如果沒有的話夺脾,打開命令行之拨,輸入如下命令:
ssh-keygen -t rsa –C “youremail@example.com”, 由于我本地此前運行過一次,所以本地有咧叭,如下所示:
id_rsa是私鑰蚀乔,不能泄露出去,id_rsa.pub是公鑰菲茬,可以放心地告訴任何人乙墙。
第二步:登錄github,打開” settings”中的SSH Keys頁面,然后點擊“Add SSH Key”,填上任意title生均,在Key文本框里黏貼id_rsa.pub文件的內(nèi)容听想。
如何添加遠(yuǎn)程庫?
現(xiàn)在的情景是:我們已經(jīng)在本地創(chuàng)建了一個Git倉庫后马胧,又想在github創(chuàng)建一個Git倉庫汉买,并且希望這兩個倉庫進(jìn)行遠(yuǎn)程同步,這樣github的倉庫可以作為備份佩脊,又可以其他人通過該倉庫來協(xié)作蛙粘。
首先,登錄github上威彰,然后在右上角找到“create a new repo”創(chuàng)建一個新的倉庫出牧。如下:
在Repository name填入testgit,其他保持默認(rèn)設(shè)置歇盼,點擊“Create repository”按鈕舔痕,就成功地創(chuàng)建了一個新的Git倉庫:
目前,在GitHub上的這個testgit倉庫還是空的,GitHub告訴我們伯复,可以從這個倉庫克隆出新的倉庫慨代,也可以把一個已有的本地倉庫與之關(guān)聯(lián),然后啸如,把本地倉庫的內(nèi)容推送到GitHub倉庫侍匙。
現(xiàn)在,我們根據(jù)GitHub的提示叮雳,在本地的testgit倉庫下運行命令:
git remote add origin https://github.com/yangsudi/text.git
所有的如下: