- 全局有效的初始化配置
git config --global user.name "vay.liu"
git config --global email "ringsliu0993@gmail.com"- 顯示當前配置
git config -l- 初始化本地Repositories,若有全局配置有差異則以本地為準
git init- 查看目前git 目錄下的文件
git ls-files -s返回值為: 文件權限,blob對象, 0, 文件名,如: ![[Pasted image 20220824110834.png]]
- 查看目前狀態,會返回的有目前所在分枝及文件狀態
git status- 使用Git add時,git 會創建一個目錄,並使用文件內容建立一個
blob文件和哈希值,需要注意的是檔案名稱並不會影響Hash值的生成
git add filename.file-
哈希值本身包含的資訊為object類型(
blob)、檔案內容長度及檔案內容 -
查看物件(
objects)的類型,可以只填物件的目錄加上一部分的Hash值
git cat-file -t 239f21
//expect output: blob- 查看物件(
objects)的內容,可以只填物件的目錄加上一部分的Hash值
git cat-file -p 239f21- 利用
-m設定commit message
git commit -m "1st commit"
[master (root-commit) 267acd5] 1st commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 hello.txt-
每次
commit都會創建一個commit objects其中會包含一個tree objects、author(作者,時間,時區)、commiter及commit message -
tree objects內包含的是權限、objects、對應的Hash值及文件名稱,若有資料夾結構,本身也會是一個tree objects
git restore --stage,將Staged的Bash指向切換回先前狀態git retore,將Modified內的文件狀態切換回先前狀態
檢視Commit 的歷史,
-2代表只顯示最近2次的commit--after-"2020-05-21"為只顯示2020/05/21之後的提交(包含),也可以使用--before(不包含)shortlog則可以依照作者去顯示commit次數與每次的commit message--stage額外顯示的修改內容,包含文件的新增與刪除
git log -2
git log --after-"2020-05-21"
git shortlog
git log --stage檢視Commit 的歷史log,包含已經刪除的分支
git reflog