Git常用命令總結

2021-08-04 09:11:19 字數 3027 閱讀 6669

我們一般把版本庫也叫倉庫(repository),其實我們可以簡單的把它看成乙個目錄,只不過目錄裡面的檔案都會由 git 進行管理,當我們對檔案進行修改、刪除、git 都可以對其進行跟蹤。

那麼,如何在本地設定乙個**庫呢? 很簡單,使用 git init 命令就可以把乙個目錄變為 git 可以管理的倉庫。

$ git init

initialized empty git repository in /users/yuge/documents/git_test/.git/

這樣,就在本地建立了乙個版本庫,並且是乙個空的版本庫。在這個資料夾下有個.git 的目錄,git 就是用這個目錄來跟蹤管理版本庫的。 在linux 下使用ls -al 命令來進行檢視。

可以在 git_test

資料夾下新建乙個檔案 readme.txt

,內容如下:

git is a distributed version control system.

git is free software.

此時使用 git status 命令可以檢視當前工作區狀態,如下:

$ git status

on branch master

initial commit

untracked files:

(use "git add ..." to include in what will be committed)

readme.txt

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

提交檔案修改需要兩步:

第一步,使用 git add 將檔案新增到git版本庫;

第二步,使用 git commit 把檔案提交到git版本庫。

可以多次使用 git add 新增多個檔案,然後使用一次 git commit 提交多個檔案,內容如下:

$ git add readme.txt

$ git add test.txt

$ git status

on branch master

changes to be committed:

(use "git reset head ..." to unstage)

modified: readme.txt

new file: test.txt

$ git commit -m "git add test"

[master b201285] git add test

2 files changed, 2 insertions(+)

create mode 100644 test.txt

使用 git diff 命令可檢視具體修改細節,如下:

$ git diff 

diff --git a/readme.txt b/readme.txt

index 9247db6..4923cda 100644

--- a/readme.txt

+++ b/readme.txt

@@ -1,2 +1,3 @@

git is a distributed version control system.

git is free software.

+new line

使用 git log 命令可以檢視版本歷史記錄,如下:

$ git log 

commit b201285c7a470a70e9637827c558247bb4326cdc

author: yuge date: tue jul 25 14:12:02 2017 +0800

git add test

commit 4af2d92cab54ea21af90c5feb2cc0d895c74dbea

author: yuge date: tue jul 25 14:05:29 2017 +0800

add readme.txt

在git中,用 head 表示當前版本,上乙個版本就是 head^,上上乙個版本就是head^^,當然往上100個版本寫100個 ^ 比較容易數不過來,所以寫成 head~100。

$ git reset --hard head^

head is now at 4af2d92 add readme.txt

使用sha256值回退,如下:

$ git reset --hard 3628164

使用 git reflog 可檢視命令歷史,如下:

$ git reflog

4af2d92 head@: reset: moving to head^

25606f8 head@: commit: add test

4af2d92 head@: reset: moving to head^

b201285 head@: commit: git add test

4af2d92 head@: commit (initial): add readme.txt

使用 git checkout 丟棄工作區的修改

$ git checkout -- readme.txt

命令 git checkout -- readme.txt 意思就是,把 readme.txt 檔案在工作區的修改全部撤銷,這裡有兩種情況:

一種是 readme.txt 自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是 readme.txt 已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

總之,就是讓這個檔案回到最近一次 git commit 或 git add 時的狀態。

Git常用命令總結

原文 author joseph lee e mail fdlixiaojun gmail.com 基礎概念 git是分布式版本控制系統,在每個主機上都儲存這版本庫的完整映象,這於cvs,svn 等集中式版本控制系統不同,集中式版本控制系統僅是在伺服器上儲存有所有資訊。git檔案更改後是以快照的方式...

git常用命令總結

一 分支新建與切換 git中的分支,本質上僅僅是個指向 commit 物件的可變指標。1 新建乙個分支 比如新建乙個名為testing的分支 git branch testing 即是在當前commit物件上新建了乙個分支指標 注 head指向當前所在的分支,用cat git head可以檢視 2 ...

git常用命令總結

檢查git 是否安裝 git 新增git 個人資訊 git config global user.name your name git config global user.email email example.com 建立乙個版本庫 mkdir learngit 建立乙個空目錄 cd learn...