Git - 指令介紹

  • 271
  • 0
  • 2018-07-06

Git 基本指令介紹

git add . => 將所有的資料加入到 staged 的狀態 (要加入git 的第一個步驟)

git add 檔名 => 將指定的檔名加入staged 的狀態

git add 檔名 -p =>可進入編輯模式,部分不想建立index的內容可刪除

 

git checkout  -- <File> 可以將檔案還原回最新已經commit上去的版本 => 從index裡面將檔案內容還原回working tree

(檔案還原一定要加上-- ,否則會被認為是要切換到分支)

也可以用來還原資料夾 git checkout -- folderName

如果單一檔案想要退回之前已經commit 過的特定版本

git checkout 版號 檔案名稱 => 還原之後的檔案就已經在index內 stage的狀態

也可以取分支名稱內的特定檔案

git checkout 分支名稱 檔案名稱 => 從分支取指定檔案回來

 

git diff =>比較working tree(工作目錄)跟Index(索引)的差異

git diff --cached => 比較Index(索引)裡的變更跟最新版的變更

 

git br --merged => 顯示已經merge過的分支

git br --no-merged =>顯示還沒有merge過的分支

git reset --hard ORIG_HEAD => reset 到上一個版本( Merge 之前的版本,要有Merge ORIG_HEAD才有效果) 

可以用$ car .git/ORIG_HEAD 看目前 ORIG_HEAD只到哪一個版本

git reset --hard 指定版號 => 可退回指定的版號,但是中間的紀錄都會消失。

已經加入到index的檔案,也可以透過git reset --hard 來復原(但是是全部復原)

 

$ git config --global alias.st status   =>設定 alias

git log --oneline => 可以檢視較短的log

git log --oneline --graph => 可以檢視版本線圖

git log --oneline --graph -4 =>只呈現最近的四筆資料

git log --oneline --graph -10 --all =>只呈現最近的10筆資料(包含所有分支)

遠端Reposter 相關指令

git remote -v => 可查看是否有設定遠端的Repostery

git clone --no-checkout git網址 =>  檔案還沒checkout 回來

git clone git網址 名稱(可設可不設,設定之後會以設定的名稱設定資料夾)

git checkout master => 這時候才把專案下載下來,針對大型專案的時候可以個別CO檔案,不用整個專案CO

git clone --bare git網址 只會把repostory本身下載回來(版控資料夾),不下載工作目錄 bare(裸)

git remote add origin 遠端Repostery的網址 => 遠端Repo通常命名origin

git push => 將本地端的版本推送到Git hub(目前的分支)

git push --all => 將本地端所有分支的版本通通都推送到Git hub(包含本地已建立、遠端分支、遠端追蹤分支未建立的也會一併建立)

git push --set-upstream origin master =>將遠端的origin 跟本地的master 繫結

git push -u origin master  =>遠端的origin 跟本地的master 繫結 (-u 是縮寫)

git pull = git fetch + get merge (在這裡才會看到fast-forward)

vi .git/config => 可以直接修改遠端儲存庫的URL

 

git init => 初始化git 的資料夾,完全空白沒有版控的專案要先用這個指令初始化git

git config --global user.name 要設定的名稱

 git config --global user.email  要設定的email

git config --global user.name 檢視已設定的使用者名稱

git config --global user.email 檢視已設定的email

git status  => 檢視目前git的狀態

git commit -m "要commit的訊息" =>  git commit(要先add在commit) ,m 是message的意思

git log => 檢視log

 

git config core.editor => 檢查目前GIT預設的編輯器

git config --global core.editor "'C:\Program Files\Notepad++\notepad++.exe'" => 將GIT預設的編輯器更改為notpad++ ,

路徑裡面記得加上單引號

如果要改回vim => git config --global core.editor "vim" 

Ctr+L => 可以清空畫面

======== 開發小技巧

Shift + 點選檔按滑鼠右鍵 => 可以多出隱藏欄位 複製路徑

要確定複製後的路徑是不是有效路徑,可以在cmd裡面測試

如果貼上路徑+enter 可以叫出Notepad++ 來執行,表示路徑沒有問題