知識來源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