git 本機端操作
目錄
常用 linux 指令清單
// 清除螢幕
{ctrl} + {l}
// 查看當下資料夾內容
ls
// 顯示某個檔案內容
cat {fileName}
// 建立資料夾
mkdir {folderName}
// 建立文字檔案
touch {fileName}
// 編輯文字檔案
vim {fileName}
// 刪除檔案
rm {fileName}
常用 git 指令清單
// 設定使用 git commit/git log 時顯示的使用者名稱
git config --global user.name "你的名字"
// 設定使用 git commit/git log 時顯示的信箱
git config --global user.email "你的信箱"
// 建立本機 git repository
git init
// 新增檔案到 git
git add {fileName}
// 新增全部檔案到 git
git add .
// 提交變更
git commit
// 快速提交變更
git commit -m "訊息"
// 快速提交變更且選取全部檔案
git commit -m "訊息" --all
// 修改上一次的 commit 訊息
git commit --amend
// 顯示當下 git repository 狀態
git status
// 顯示變更歷史訊息
git log
// 顯示變更歷史訊息以及變更內容
git log -p
git log -p --word-diff
// 顯示最後一個 commit 的歷史訊息與變更內容
git show
// 比對上次 commit 跟現在的工作目錄差異
git diff
// 比對某個 commit 跟現在的工作目錄差異
git diff {commit}
// 比對某兩次的變更內容
git diff {commit1} {commit2}
// 取消最近一次的變更
git checkout .
// 切換至某個分支
git checkout {remoteName} {branchName}
// 建立新分支
git checkout -b {branchName}
// 查看當下 branch
git branch
// 還原工作目錄至上一次 commit 之狀態
git reset
// 還原工作目錄至某次 commit 之狀態,但是保留目前變更
git reset {commit}
// 還原工作目錄至某次 commit 之狀態,放棄目前變更
git reset {commit} --hard
// 暫存目前工作目錄狀態
git stash
// 檢視目前已經暫存的工作目錄狀態佇列
git stash list
// 套用某次的暫存變更
git stash apply {stash{x}}
// 取出上一次暫存的工作目錄狀態
git stash pop
// 清除已經暫存的工作目錄狀態佇列
git stash clear
// 合併兩個分支
git merge {branch1} {branch2}
常用 vim 指令
// 進入編輯模式
{i} key
// 離開編輯模式
{esc} key
// 離開編輯器
:q
// 儲存變更並離開編輯器
:wq
git local 端操作流程
課程內容使用 HelloJS 專用 VM 進行操作,以下按照順序列出課程依序會使用到的指令。
// 建立資料夾與 init git repository
mkdir git-local
ls
cd git-local
git config --global user.name "kent"
git config --global user.email "kent@trunk-studio.com"
git init
// 建立檔案與 commit 工作目錄變更
touch myfile
vim myfile
git status
git add myfile
git commit -m 'this is my first commit for myfile'
git log
git show
vim myfile
git add .
git commit -m 'my second commit'
git log
// 查看歷史變更紀錄與比對紀錄
git diff {comment1} {comment2}
git show
git log -p
git log -p --word-diff
git show --word-diff
// 修改 commit 訊息
git commit --amend
git log
// 還原變更
vim myfile
git status
git checkout myfile
git status
// 還原工作目錄至某狀態,但保留變更
vim myfile
git commit -m 'my third commit' --all
git log
git reset {1st commit}
git log
git status
cat myfile
// 還原工作目錄至某狀態,放棄變更
vim myfile
git commit -m 'my new second commit' --all
git log
git reset {1st commit} --hard
git log
git status
cat myfile
// 建立新分支
vim myfile
git commit -m 'my super new second commit' --all
git log
git branch
git checkout -b develop
git log
git branch
// 切換分支
vim myfile
git commit -m 'my first commit for develop branch' --all
git log
git checkout master
git log
git branch
// 使用 checkout 放棄變更
vim myfile
git status
git checkout myfile
git status
// 使用 stash 在不同 branch 間切換工作目錄狀態
vim myfile
git status
git stash
git status
git stash list
git stash show stash@{0}
git checkout develop
git stash pop
// 解決衝突
git status
vim myfile
git status
git commit -m 'fix conflict' --all
git log
cat myfile
// 合併分支
git checkout master
git branch
git merge master develop
git log
cat myfile