git 指令

( ) 是自己定義的字

Git 指令表

config

git config --list		//查看設定	
git config --local user.name "(userName)"		//設定帳號	
git config --local user.email "(e-mail)"		//設定E-mail =>全域
git config --global user.name "(userName)"		//設定帳號 =>單專案
git config --global user.email "(e-mail)"		//設定E-mail =>單專案

init / clone

git clone		//抓遠端儲存庫下來	
git init		//Git 初始化	
rm -rf .git		//移除 Git	

remote

git remote add (origin) (git@~.git)		//遠端連結	
git remote set-url (origin) (git@~.git)		//修改遠端連結	
git remote remove (origin)		//移除遠端連結	
git remote -v		//查詢遠端連結(URL)	
git push -u (origin) (master)		//推上遠端並綁定	

版控( pull / push / add / commit / status)

git status		//查詢git狀況
git add (file) //新增指定檔案到本地端
git add .	//新增所有檔案到本地端
git commit -m'message'	 //新增訊息
git pull	//推到遠端倉庫(第一次推不能用)
git push (remote) (branch)		//推到遠端倉庫
git push -u (remote) (branch)	//推到遠端倉庫
git restore --staged (file)		//取消git add
git pull --rebase (remote) (branch)	    //遠端倉庫拉回

檔案變操作

git clean -fd		    //清除未被追蹤的所有檔案	已編輯的會恢復,新增的不會變動
git checkout (file)		//當前目錄回復前次存檔	(已編輯的會恢復,新增的不會變動)
git restore (file)		//當前目錄回復前次存檔	(含被刪除的檔)

Branch 分支應用

git branch		            //查詢所有本地分支	
git branch -a		        //查詢所有遠端分支	
git branch (newBranch)		//當前 commit 新建分支	
git branch (newBranch) (commitID)		//特定 commit 上新建分支	
git checkout (branch)		//切換到某分支	
git checkout -b (newBranch)		//新建分支並切換過去	
git branch -d (branch)		//刪除某分支	
git branch -D (branch)		//強制刪除某分支	
git branch -m (branch) (newName)		//將某 branch 更名	必須先切到不同分支

Reset 切到某版本

git reset (commit)			    //預設為'mixed'
git reset (commit) --mixed		//放回"1-工作目錄"
git reset (commit) --soft		//放回"2-暫存區"
git reset (commit) --hard		//都不留(直接被隱藏)
git reset (commit)^		        //退回前1次的commit	^^ 退回前2版…
git reset (commit)~5		    //退回前5次的commit	~N 退至前N版

(commit)可以是 branch / commit ID / HEAD

Rebase & Merge 合併應用

git rebase (branch)		//重接分支基底	
git merge (branch)		//合併分支(平行)	

查詢

git config --list		//查詢目前設定	
which git		        //查詢 Git 位置	
git --version		    //查詢Git版本	
git status		        //查詢狀態	
git log		            //查詢 Log	
git log --oneline		//查詢 Log(單行顯示)	
git log --oneline --all --graph		//樹狀顯示 Log	
git log -p FileName		//查詢檔案 Log	
git blame FileName		//查詢該檔案每行編輯資訊	(上傳者&時間)
git reflog		        //查詢 reflog	
git help		        //查詢指令	

reflog:reflog 保留HEAD移動的軌跡,可以查詢到commit ID(用於尋找被隱藏的 commit )