〈為你自己學Git〉閱讀筆記
January 17, 2018
對於 Git 還是始終不太熟悉,於是在朋友推薦下入手了這本書
原本想買另一本歐若禮更複雜更難那本,但先看完這本再說吧!
底下簡單留下自己的閱讀筆記,大部分應該都是網路找的到的指令
使用者設定
# 設定
git config --global user.name "name"
git config --global user.email "email@mail.com"
# 檢視
git config --list
# local 不同作者
git config --local user.name "foo"
git config --local user.email "bar@foo.com"
local 設定可以針對工作上切換成工作 Email ,在 global 方面就是 GitHub 帳戶
自訂縮寫
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status
也可以對附加參數做縮寫
git config --global alias.l "log --oneline --graph"
git l # 等同 git log --oneline --graph 意思
# 也可以把 commit msg 包含進來
git config --global alias.ls 'log --graph --pretty=format:"%h <%an> %ar %s"'
也可以直接在 ~/.gitconfig
修改
[alias]
co = checkout
br = branch
st = status
l = log --oneline --graph
ls log --graph --pretty=format="%h <%an> %ar %s"
commit
懶惰單行 add + commit : git commit -a -m "update content"
查看 log
只找某人的 log
git log --oneline --author="somebody"
# 查找兩人
git log --oneline --author="someone/|anotherone"
用正則表達式搜尋
git log --oneline --grep "wtf"
搜尋哪些 commit 有用到這個字
git log -S "someword"
查找時間
git log --oneline --since="9am" --until="12am"
# 從特定日期起的指定時間
git log --oneline --since="9am" --until="12am" --after="2017-01"
修改 commit 紀錄
修改最後一次的 commit message
git commit --amend -m "new message"
追加檔案到最新一次的 commit 中
git add 某個檔案
git commit --amend --no-edit
對於空目錄可以放 palceholder 檔名可以叫做 .gitkeep
或 .keep
gitignore
清除忽略的檔案,假如忽略的檔案是一些記錄或暫存檔案
使用指令 git clean -fX
git log
看特定檔案的 commit 紀錄 git log XXXXX.html
看檔案每一行是什麼時候被改的,抓兇手用的 git blame XXXX.html
檔案刪除
如果有檔案被刪除想找回來,可以使用 checkout
: git checkout 被刪除檔案
如果想把所有刪除檔案找回來,可以使用 git checkout .
如果要拿兩個版本之前的,可以使用 git checkout HEAD~2 某個檔案
來使用
commit 後悔
使用
git reset master^
git reset HEAD^
回到前一次 commit ,一個 ^
就代表往回一次,N 次可用 ~N
的方法