2018-10-21

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)介紹:

  1. Git庫創(chuàng)建
  2. 遠(yuǎn)程倉庫
  3. 克隆倉庫
  4. 分支管理
  5. 標(biāo)簽管理

Git庫創(chuàng)建

Git安裝完成后郑象,可以通過window平臺的“開始”’菜單找到


Git Bash
  • 點擊‘Git Basn’進(jìn)入命令行頁面如下圖:


    image.png

如果你出現(xiàn)這樣的頁面表示已經(jīng)安裝成功了铝量,好了倘屹,現(xiàn)在進(jìn)行下一步操作

  • Git是分布式版本控制系統(tǒng),所以需要填寫和郵箱作為一個標(biāo)識符慢叨。
    注意:git config --global 參數(shù)纽匙,有了這個參數(shù),表示你這臺機(jī)器上所有的Git倉庫都會使用這個配置拍谐,當(dāng)然你也可以對某個倉庫指定的不同的用戶名和郵箱烛缔。
image.png

目前為止,我們算是已經(jīng)完成了Git的安裝

下面是一些命令的使用
cd 表示進(jìn)入到某個文件夾中
mkdir 表示創(chuàng)建一個文件夾
pwd 表示當(dāng)前所處的文件名稱
ls 表示當(dāng)前文件下有哪些文件
好了現(xiàn)在我們使用這些命令

image.png

image.png

好了轩拨,這些命令和Linux沒什么區(qū)別的践瓷,當(dāng)我們學(xué)習(xí)Linux時也是可以使用的。

下面是創(chuàng)建本地Git管理庫亡蓉,
  • 通過命令 git init 把這個目錄變成git可以管理的倉庫


    image.png

此時可以在本地看到已經(jīng)自動生成一個隱藏的文件夾.git 晕翠,這個文件是用來跟蹤和管理版本的,所以不要輕易去修改這里面的內(nèi)容砍濒。


image.png
  • 在Git管理庫當(dāng)中添加git add +文件名 測試記事本 readme.txt 內(nèi)容為:This is my first git file.
    1.使用命令git add readme.txt or touch readme.txt
    image.png

    如果和上面一樣淋肾,沒有任何提示,說明已經(jīng)添加成功了梯影。
    2.用命令 git commit告訴Git巫员,把文件提交到倉庫。命令git commit -m "提交注釋"
    image.png

    現(xiàn)在我們已經(jīng)提交了一個readme.txt文件了甲棍,我們下面可以通過命令git status來查看是否還有文件未提交简识,如下:
    image.png

    說明沒有任何文件未提交,但是我現(xiàn)在繼續(xù)來改下readme.txt內(nèi)容感猛,比如我在下面添加一行Hello七扰,World 內(nèi)容,繼續(xù)使用git status來查看下結(jié)果陪白,如下:
    image.png

    上面的命令告訴我們 readme.txt文件已被修改颈走,但是未被提交的修改。

接下來我想看下readme.txt文件到底改了什么內(nèi)容咱士,如何查看呢立由?可以使用如下命令:
git diff readme.txt如下:

image.png

知道了對readme.txt文件做了什么修改后轧钓,我們可以放心的提交到倉庫了,提交修改和提交文件是一樣的2步(第一步是git add 第二步是:git commit)锐膜。
image.png

以上是我們從創(chuàng)建到提交的整個過程毕箍。

下面是版本撤回等

在本地Git庫里readme.txt內(nèi)容添加一行 內(nèi)容 The third

image.png

如何查看歷史記錄 使用 git log..
image.png

如果覺得顯示的內(nèi)容太多的話,可以使用下面的命令git log --pretty=oneline

image.png

現(xiàn)在我想使用版本回退操作道盏,我想把當(dāng)前的版本回退到上一個版本而柑,要使用什么命令呢?可以使用如下2種命令荷逞,第一種是:git reset --hard HEAD^那么如果要回退到上上個版本只需把HEAD^ 改成 HEAD^^ 以此類推媒咳。那如果要回退到前100個版本的話,使用上面的方法肯定不方便种远,我們可以使用下面的簡便命令操作:git reset --hard HEAD~100 即可涩澡。未回退之前的readme.txt內(nèi)容如下:
image.png

再來查看下 readme.txt內(nèi)容如下:通過命令cat readme.txt查看
image.png

可以看到,內(nèi)容已經(jīng)回退到上一個版本了院促。我們可以繼續(xù)使用git log 來查看下歷史記錄信息筏养,如下:
image.png

三:理解工作區(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)鸯两,如下:


image.png

現(xiàn)在我們先使用git add 命令把2個文件都添加到暫存區(qū)中闷旧,再使用git status來查看下狀態(tài),如下:
image.png

接著我們可以使用git commit一次性提交到分支上钧唐,如下:
image.png

四:Git撤銷修改和刪除文件操作忙灼。

一:撤銷修改:

比如我現(xiàn)在在readme.txt文件里面增加一行 內(nèi)容為The fifth,我們先通過命令查看如下:

image.png

在我未提交之前,我發(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)。如下所示:

image.png

可以發(fā)現(xiàn)帘饶,Git會告訴你哑诊,git checkout -- file 可以丟棄工作區(qū)的修改,如下命令:
  git checkout -- readme.txt,如下所示:
image.png

命令 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,然后提交嫁艇。如下:

image.png

如上:一般情況下,可以直接在文件目錄中把文件刪了弦撩,或者使用如上rm命令:rm b.txt步咪,如果我想徹底從版本庫中刪掉了此文件的話,可以再執(zhí)行commit命令 提交掉益楼,現(xiàn)在目錄是這樣的猾漫,
image.png

只要沒有commit之前点晴,如果我想在版本庫中恢復(fù)此文件如何操作呢?

可以使用如下命令 git checkout -- b.txt悯周,如下所示:


image.png

五:遠(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”, 由于我本地此前運行過一次,所以本地有咧叭,如下所示:

image.png

id_rsa是私鑰蚀乔,不能泄露出去,id_rsa.pub是公鑰菲茬,可以放心地告訴任何人乙墙。

第二步:登錄github,打開” settings”中的SSH Keys頁面,然后點擊“Add SSH Key”,填上任意title生均,在Key文本框里黏貼id_rsa.pub文件的內(nèi)容听想。


image.png

image.png

image.png

如何添加遠(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)建一個新的倉庫出牧。如下:


image.png

image.png

在Repository name填入testgit,其他保持默認(rèn)設(shè)置歇盼,點擊“Create repository”按鈕舔痕,就成功地創(chuàng)建了一個新的Git倉庫:


image.png

目前,在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

所有的如下:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末想暗,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子帘不,更是在濱河造成了極大的恐慌江滨,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厌均,死亡現(xiàn)場離奇詭異,居然都是意外死亡告唆,警方通過查閱死者的電腦和手機(jī)棺弊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來擒悬,“玉大人模她,你說我怎么就攤上這事《粒” “怎么了侈净?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長僧凤。 經(jīng)常有香客問我畜侦,道長,這世上最難降的妖魔是什么躯保? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任旋膳,我火速辦了婚禮,結(jié)果婚禮上途事,老公的妹妹穿的比我還像新娘验懊。我一直安慰自己,他們只是感情好尸变,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布义图。 她就那樣靜靜地躺著,像睡著了一般召烂。 火紅的嫁衣襯著肌膚如雪碱工。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機(jī)與錄音痛垛,去河邊找鬼草慧。 笑死,一個胖子當(dāng)著我的面吹牛匙头,可吹牛的內(nèi)容都是我干的漫谷。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼蹂析,長吁一口氣:“原來是場噩夢啊……” “哼舔示!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起电抚,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤惕稻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蝙叛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體俺祠,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年借帘,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜘渣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡肺然,死狀恐怖蔫缸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情际起,我是刑警寧澤倘要,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布纵东,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏陕见。R本人自食惡果不足惜寂纪,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一玷坠、第九天 我趴在偏房一處隱蔽的房頂上張望寞射。 院中可真熱鬧,春花似錦豫柬、人聲如沸告希。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽燕偶。三九已至,卻和暖如春础嫡,著一層夾襖步出監(jiān)牢的瞬間指么,已是汗流浹背酝惧。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留伯诬,地道東北人晚唇。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像盗似,于是被迫代替她去往敵國和親哩陕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容