Git零基礎教程 (2)基本命令

2021-08-04 02:44:34 字數 3053 閱讀 4190

本章主要介紹git的基本結構和基本指令。

如下圖(記為圖1)所示,乙個git工程可以分為三個區域:工作目錄,快取區域,git倉庫。

工作目錄就是你的所有檔案,快取區域是暫存下一次commit要更改的內容的區域,git倉庫則存著所有的commits。

在上圖介於working directory 和 staging area之間的檔案的狀態大致可以分為如下幾種(記為圖2):

untracked表示該檔案還未被git跟蹤,不會進行版本管理。後面的unmodified、modified、staged均為 tracked之後的狀態。staged即表面加入了staging area。

我們可以使用這個命令來檢視當前工程中所有檔案的狀態。它的結果大致如下(記為圖3):

如圖2所示,add的作用是將各種狀態的檔案變成staged狀態。它可以新增多個檔案或使用萬用字元:

git  add  *.cpp

git add a.doc b.txt

# 以下兩個都代表所有檔案

git add .

git add *

用於將staging area中的檔案存到git倉庫中。

基礎用法如下:

# -m 表示該commit的 message

git commit -m 「 add new files」

# -a 表示將已經跟蹤(tracked)的檔案都加入staging area,比如圖3中「changes not staged for

commit」中的檔案。可以省去git add的步驟。

git commit -a -m 「 change some files「

# 可以將這兩個指令合併

git commit -am 「change some files」

用於刪除檔案。常用

# 不能刪除圖2中 untracked 和 staged 的檔案

git rm a.cpp

# 強制刪除(如untracked 和 staged 的檔案)

git rm -f a.cpp

# 只從staging area中刪除,而不從working directory中刪除

git rm --cached a.cpp

# 刪除所有檔案(不能刪除資料夾)

git rm *

# 刪除所有檔案包括資料夾

git rm \*

# 和上面效果相同

git rm * -r 或 git rm . -r

# 刪除log資料夾下的.log檔案,不包括子目錄

git rm log/*.log

# 包括子目錄中的

git rm log/\*.log

顯示working directory與staging area中的內容的不同之處。如下圖所示:

# 顯示 staging area和 上一次提交(commit)之間的區別

git diff --cached

# 顯示 working directory和 上一次提交(commit)之間的區別

git diff head

# 顯示兩個

(或 commit)之間的區別

git diff

..如 git diff master..origin/master

顯示commits的歷史記錄,效果如下圖所示:

顯示指定範圍的log(注:a..b在git中的意思是b中含有的而a中不含有的那些commits,如master..test表示test分支含有的,而master分支不含有的那些commits)

git log --stat

同時顯示改動的統計資訊

同時顯示改動的詳細資訊

git log --oneline

每個commit 一行

可以使用alias來給這個命令取乙個別名。方法是在.gitconfig中新增

python零基礎教程之Python練習例項1

題目 有四個數字 1 2 3 4,能組成多少個互不相同且無重複數字的三位數?各是多少?程式分析 可填在百位 十位 個位的數字都是1 2 3 4。組成所有的排列後再去 掉不滿足條件的排列。程式源 usr bin python coding utf 8 for i in range 1,5 for j ...

喜大普奔!python零基礎教程來了!

python語言是一種典型的指令碼語言,簡潔,語法約束少,接近人類語言。有豐富的資料結構,例如列表 字典 集合等。具有可移植性,支援面向過程和物件導向程式設計,並且開源。最近兩年python的關注度上公升得非常快,越來越多的人想要學習python,這裡向大家介紹一下,如何才能快速入門python?成...

iOS開發零基礎教程之Git的一些常用命令

在使用git之前我們首先要先註冊一下git的使用者資訊 git config global user.name 你的名字 git config global user.email 你的郵箱 輸入完成之後可以輸入如下命令檢視使用者資訊 git config list 如下圖所示 當團隊在進行協作開發的...