Git的基本操作

知識來源GitHub入門與實踐

git init ——初始化倉庫

msi@DESKTOP-RNI6GS3 MINGW64 /g
$ mkdir git-tutorial

msi@DESKTOP-RNI6GS3 MINGW64 /g
$ cd git-tutorial/

msi@DESKTOP-RNI6GS3 MINGW64 /g/git-tutorial
$ git init
Initialized empty Git repository in G:/git-tutorial/.git/

如果初始化成功霹期,執(zhí)行了git init 命令會生成.git目錄。在Git中螺垢,我們將這個目錄的內(nèi)容稱為“附屬于該倉庫的工作樹”九巡。文件的編輯等操作在工作樹中進行帅腌,然后記錄到倉庫中,以此來管理文件的歷史快照遮糖。如果想將文件恢復(fù)到原先的狀態(tài)绣的,可以從倉庫中調(diào)取之前的快照,在工作樹種打開欲账。

git status —— 查看倉庫狀態(tài)

msi@DESKTOP-RNI6GS3 MINGW64 /g/git-tutorial (master)
$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

結(jié)果顯示了當(dāng)前正處于master分支下屡江,還顯示了當(dāng)前沒有可以提交的內(nèi)容。

msi@DESKTOP-RNI6GS3 MINGW64 /g/git-tutorial (master)
$ touch README.md

msi@DESKTOP-RNI6GS3 MINGW64 /g/git-tutorial (master)
$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        README.md

nothing added to commit but untracked files present (use "git add" to track)

在Untrack files 中顯示了README.md文件敬惦。只要對Git的工作樹或者倉庫進行操作盼理,git status就會進行變化。

git add —— 向暫存區(qū)中添加文件

如果只是用Git倉庫的工作樹創(chuàng)建了文件俄删,那么該文件不會被記入Git倉庫的版本管理對象中宏怔。所以,git status時會看到README.md會顯示在Untracked files里畴椰。

想要文件成為Git倉庫的管理對象臊诊,就需要用git add命令將其加入暫存區(qū)(Stage或Index)。暫存區(qū)是提交之前的臨時區(qū)域斜脂。

msi@DESKTOP-RNI6GS3 MINGW64 /g/GitDirectory/git-tutorial (master)
$ git add README.md

msi@DESKTOP-RNI6GS3 MINGW64 /g/GitDirectory/git-tutorial (master)
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   README.md

git commit——保存?zhèn)}庫的歷史記錄

git commit 命令可以將當(dāng)前暫存區(qū)的文件實際保存到倉庫的歷史記錄中抓艳。通過這些記錄,我們可以在工作樹中復(fù)原這些文件帚戳。

  • 記述一行提交信息
msi@DESKTOP-RNI6GS3 MINGW64 /g/GitDirectory/git-tutorial (master)
$ git commit -m "first commit"
[master (root-commit) a2695ea] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README.md

-m參數(shù)后的"First commit" 稱為提交信息玷或,是對這個提交的概述儡首。

  • 記述詳細的提交信息

直接使用git commit 不用加 -m

git log ——查看提交日志

git log命令可以查看以往提交的的日志。

$ git log
commit 1ba27d6c696f5c1fe66c1b40df7397db9e55f83d (HEAD -> master)
Author: JiangCheng <zhou19970407@126.com>
Date:   Wed Jul 1 22:53:10 2020 +0800

    first commit

    try git commit

commit a2695eaa5d8af91565ef675937b4b27d3acef53a
Author: JiangCheng <zhou19970407@126.com>
Date:   Wed Jul 1 22:41:32 2020 +0800

    first commit

commit 旁邊顯示了顯示的“1ba27d6c69.....”是指向這個提交的哈希值偏友。Git的其他命令中蔬胯,在指向提交時會用到這個哈希值。

Author 顯示我們給Git設(shè)置的用戶名和郵箱地址位他。Date欄顯示的是提交執(zhí)行的日期和時間氛濒。

最后就是提交的信息

  • 只顯示提交信息的第一行

    可以在git log命令加上 --pretty=short。

  • 只顯示指定目錄鹅髓、文件的日志

    git log 后面加上目錄名或文件名

  • 顯示文件的改動

    如果想查看文件提交帶來的改動舞竿,可以加上 -p參數(shù)。

git diff ——查看更改前后的差別

git diff命令可以查看工作樹窿冯、暫存區(qū)骗奖、最新提交之間的差別。

在剛剛提交的md文件里寫點東西

  • 查看工作樹和暫存區(qū)的差別

    執(zhí)行g(shù)it diff命令靡菇,查看當(dāng)前工作樹和暫存區(qū)的差別

    $ git diff
    diff --git a/README.md b/README.md
    index e69de29..b52d3b6 100644
    --- a/README.md
    +++ b/README.md
    @@ -0,0 +1,2 @@
    +# Git教程
    +
    

    由于我們尚未使用 git add命令向暫存區(qū)添加任何東西重归,所以程序只會顯示工作樹和最新提交狀態(tài)之間的差別米愿。

    "+"標出的是新添加的行厦凤,"-"標出的是被刪除的行。

    用git add 將README.md加入暫存區(qū)育苟。

    $ git add README.md
    
  • 查看工作樹和最新提交的差別

    如果現(xiàn)在執(zhí)行g(shù)it diff命令较鼓,由于工作樹和暫存區(qū)沒有差別,結(jié)果什么都沒有顯示违柏,要查看最新提交的差別博烂,請執(zhí)行以下命令。

    $ git diff head
    diff --git a/README.md b/README.md
    index e69de29..b52d3b6 100644
    --- a/README.md
    +++ b/README.md
    @@ -0,0 +1,2 @@
    +# Git教程
    +
    

    養(yǎng)成一個好習(xí)慣漱竖,在執(zhí)行g(shù)it commit 命令之前禽篱,先執(zhí)行g(shù)it commit HEAD命令查看本次提交的和上次提交的區(qū)別,確認之后再提交馍惹。這里的HEAD 是指向當(dāng)前分支中最新一次提交的指針躺率。

    運行 git commit

    $ git commit -m "Add index"
    [master 75816af] Add index
     1 file changed, 2 insertions(+)
    

    查看提交日志,確認是否提交成功万矾。

    $ git log
    commit 75816af90c5a4e840330882f23a5e1d347f1b965 (HEAD -> master)
    Author: JiangCheng <zhou19970407@126.com>
    Date:   Thu Jul 2 23:20:25 2020 +0800
    
        Add index
    
    commit 1ba27d6c696f5c1fe66c1b40df7397db9e55f83d
    Author: JiangCheng <zhou19970407@126.com>
    Date:   Wed Jul 1 22:53:10 2020 +0800
    
        first commit
    
        try git commit
    
    commit a2695eaa5d8af91565ef675937b4b27d3acef53a
    Author: JiangCheng <zhou19970407@126.com>
    Date:   Wed Jul 1 22:41:32 2020 +0800
    
        first commit
    
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悼吱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子良狈,更是在濱河造成了極大的恐慌后添,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件薪丁,死亡現(xiàn)場離奇詭異遇西,居然都是意外死亡馅精,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門粱檀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來硫嘶,“玉大人,你說我怎么就攤上這事梧税÷偌玻” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵第队,是天一觀的道長哮塞。 經(jīng)常有香客問我,道長凳谦,這世上最難降的妖魔是什么忆畅? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮尸执,結(jié)果婚禮上家凯,老公的妹妹穿的比我還像新娘。我一直安慰自己如失,他們只是感情好绊诲,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著褪贵,像睡著了一般掂之。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上脆丁,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天世舰,我揣著相機與錄音,去河邊找鬼槽卫。 笑死跟压,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的歼培。 我是一名探鬼主播震蒋,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼丐怯!你這毒婦竟也來了喷好?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤读跷,失蹤者是張志新(化名)和其女友劉穎梗搅,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡无切,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年荡短,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哆键。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡掘托,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出籍嘹,到底是詐尸還是另有隱情闪盔,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布辱士,位于F島的核電站泪掀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏颂碘。R本人自食惡果不足惜异赫,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望头岔。 院中可真熱鬧塔拳,春花似錦、人聲如沸峡竣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽澎胡。三九已至孕荠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間攻谁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工弯予, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留戚宦,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓锈嫩,卻偏偏與公主長得像受楼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子呼寸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359