Skip to content

vayvay0993/git-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

git-learning 這只是用於熟悉git操作創建的Repository

Git Local

Git 初始化配置

  • 全局有效的初始化配置
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 status

Git Add

  • 使用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

Git Commit

  • 利用 -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 objectsauthor (作者,時間,時區)、commitercommit message

  • tree objects 內包含的是權限、objects、對應的Hash值及文件名稱,若有資料夾結構,本身也會是一個tree objects

Git 文件狀態

Git Restore

  • git restore --stage,將Staged的Bash指向切換回先前狀態
  • git retore,將Modified內的文件狀態切換回先前狀態

Git log

檢視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

Git reflog

檢視Commit 的歷史log,包含已經刪除的分支

git reflog

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published