# Git 操作指令 ###### tags: `Shannon`,`Git` # 基本指令 - 查看狀態: `git status` - 新增內容: `echo "hello, git" > welcome.html` - 新增到站存區 - `git add .` : 只會新增目前檔案根子檔案 - `git add --all`: 不管在檔案的哪一層目錄執行效果都一樣,所有異動都會被加至暫存區。 - Commit - 基本: `git commit -m "what did you do"` - 沒有add也可以commit: `git commit -a -m "update content"` - 何時應該用commit? - 完成一個「任務」的時候:不管是大到完成一整個電子商務的金流系統,還是小至只加了一個頁面甚至只是改幾個字,都算是「任務」。 - 下班的時候:雖然可能還沒完全搞定任務,但至少先 Commit 今天的進度,除了備份之外,也讓公司知道你今天有在努力工作。(然後帶回家繼續苦命的做?) - 你想要 Commit 的時候就可以 Commit。 - 查看commit過的紀錄 - `git log`: 可以所有Commit過的紀錄,顯示 SHA-1 / author / time / 做了甚麼內容 - 找特定Commit的資訊 - 找姓名`git log --oneline --author="ShannonHung"` - 找commit訊息內容`git log --oneline --grep="WTF"` - 找特定時間`git log --oneline --since="9am" --until="12am" --after="2017-01"` - 找Commit檔案內容`git log -S "Ruby"` 目前讀到範圍:https://gitbook.tw/chapters/using-git/rename-and-delete-file.html # 檔案 ## 查看檔案列表 `ls -al` - ls 列出目前目錄所有檔案 - al a是指小數點開頭檔案顯示 l是完整檔案權限 建立 修改時間 ## 建立檔案目錄 - `touch index.html` - touch 如果檔案不在會建立一個空白檔 如果已經存在,會改變該檔案的最後修改時間不會改變內容 - `mkdir demo` - 在目前所在目錄建立一個demo目錄 ## 檔案操作 - `cp index.html about.html` 複製檔案 - `mv index.html about.html` 改檔名 - `rm index.html` 刪除 # 追加檔案到最近一次commit - 先add到站存區 - `git commit --amend --no-edit` 這樣就可以把檔案併到最後一次的commit,`--no-edit`指的是不要編輯commit訊息