[Git]Git整理Part1
以下內容有:
Git特點、Vim指令
使用者設定、簡化指令
使用echo創建內容和檔案
使用Git管理專案
工作目錄、暫存區與儲存庫
檢視紀錄、刪除/變更
Git特點:
• Git是Linux核心作者Linux Torvalds為了管理Linux核心程式碼,所開發出來的!為免費使用。
• Git像是紀錄檔案內容的快照(snapshot),體積小、速度快。
• 分散式系統。
• 指令複雜,但簡單常用的指令可以處理大部分的事情!
• Git是版本控制軟體。Github是商業網站,能讓大家使用Web介面處理git相關事務。
- Git使用Vim為預設編輯器。
Vim指令
1. vim有兩種模式,一為Normal模式,另一為Insert模式。
2. Normal模式下,只能存檔(:w)、離開(:q)、存檔後離開(:wq)
3. 由Normal模式切換至Insert模式,可輸入i、a、o,進入insert模式後,便可打字。(i-表示insert; a-表示append; o-表示新增一行並開始輸入)
4. 由Insert模式切回Normal模式,可以按esc鍵或ctrl+[
5. 從Normal模式,使用:w為儲存、使用:q為離開、使用:wq為儲存並離開。
使用者設定
在剛開始使用git時,需要先設定使用者,在terminal輸入以下兩行指令
git config —-global user.name "你的名字"git config —-global user.email "你的email"
再使用下面指令,做檢查。出現”你的名字”和”email”,就表示設定好了。
git config —-list
簡化指令
可以使用開啟~/.gitconfig直接做檔案更改,也可以使用terminal更改。
這裡更改了checkout、branch、status…
alias後面接”.縮寫”,然後再接要縮減的字。
使用echo創建內容和檔案(file)
echo "welcome, git" >> index.html
使用Git管理專案
git init(將專案初始化)
git status(查看專案狀態)
git add .(將所有未加進的檔案加進git裡)
git commit -m"your messages"(給予這個提交一個訊息)
*完成commit才算完成整個流程。
*messages請寫清楚,讓之後在回朔專案時,清楚知道自己做了什麼事情。
*add和commit可以合併如下,但如果add中有之前未曾commit過的檔案,則使用下面指令,會直接忽略未曾commit過的檔案,而只commit曾經commit過的檔案!
git commit -a -m "new messages"
工作目錄、暫存區與儲存庫
- git add指令把檔案從工作目錄移到暫存區。
- git commit指令把檔案存暫存區移到儲存庫。
*這三個區域要記清楚,因為後面在使用reset等等,都會牽扯到這三個區域。
檢視紀錄
git log
看到所有commit紀錄,但資料較多
git log --oneline --graph
將commit資訊精簡
git log --oneline --author="your name"
查詢你的commit紀錄
git log --oneline --author="Kay\|karen"
查詢Kay和Karen紀錄,使用\|隔開
git log --oneline --grep="wtf"
查詢commit特定訊息,如wtf
git log -S "Ruby"
查詢commit檔案裡特定字詞,如:Ruby
git log --oneline --since="9am" --until="5pm"
查詢特定時間,使用--since和--until
git log --oneline --since="9am" --until="5pm" --after="2017-01"
用上面的指令,再加一個--after,查2017年1月以後的紀錄
刪除/變更
刪除檔案:
rm index.html(移除檔案)
git status(查看狀態)
git add index.html
git status(將刪除的檔案,修改進git記錄裡)
直接使用git刪除+修改記錄:
git rm index.html
git status(直接將修改記錄存放在暫存區)
非刪除,只是不想再被git 控管:
git rm index --cached(讓index.html不再被git控管,由tracked變為untracked)
變更檔名
mv index.html welcome.html
git status(將index改為welcome)
git add .
使用git變更檔名
git mv index.html welcome.html(直接將檔名改為welcome)
git status(狀態變rename)
Note:這次的整理使用Trello當筆記本,發現在使用文字編輯時,在文字前加上#會使文字粗體化!