2016年9月22日 星期四

我自己常用的 git command

講到git,比起身邊的很多人,我比較不一樣。我是用打指令的方式在操作,以下我就列一下我自己常用的 git command,當作是筆記。
git 很強大

這一篇講的是指令,指令後面會接參數,在這篇文章,我會這樣表示:比如說 “$email” 就是你要填入 email 的位置的意思。

那就,開始了?

git clone “$git_repository"
一開始加入專案的時候,把 code 從 server 上 download 回來自己的電腦。

git checkout “$another_branch_name"
切換到另一個 branch

git checkout -b “$new_branch_name"
創立一個新的 branch,且那個新的 branch 的內容會跟你打指令的這個 branch 內容一樣,然後切換過去那個 branch。

git gui
叫出 git 內建的 gui ,我會在這裡做 commit。

git commit -a
也是 commit,但會跳到文字編輯器,讓你輸入 commit message。

git log
看歷史紀錄

gitk
圖形化的看歷史紀錄,mac 可能預設沒有這個指令,好像要再裝什麼,但我忘了...XD

git cherry-pick “$commit_SHA_id"
把那個 commit 拿過來到你打指令的這個 branch

git push origin
把這個 branch 推到 server 上,當然前提是,這個 local branch 有 track 遠端的某個 branch

git revert “$commit_SHA_id"
抵銷的概念。假如一個 commit 對某個檔案加了三行,下了這個指令就會減掉那三行,也就是說一加一減,就互相抵消了。這個指令會多出一個 commit 是把那個 commit 抵銷的 commit。

git reset —soft “$commit_SHA_id”
切回那個 commit,所有原本那個 commit 之後的 commit 的內容都變成修改狀態。

git reset —hard “$commit_SHA_id”
切回那個 commit,所有原本那個 commit 之後的新的 commit 的內容都不見了。

git status
看看現在的狀況

git stash
把現在修改狀態的內容放到暫存區

git stash apply -1
把暫存區裡面的內容的第 1 個拿出來,套用在你打指令的這個 branch

git stash pop
把暫存區裡面的內容的第 0 個拿出來,套用在你打指令的這個 branch,是 stack 的概念。

git stash clear
把暫存區清空

git branch -D “$local_branch_name"
把一個本地端的 branch 砍掉

git push origin —delete “$remote_branch_name"
把遠端的 branch 砍掉!!!!
要小心啊 這個指令。


大概最最最基本的就是這樣,稍微進階一點筆記的在這裡。當然有很多其他圖形化的軟體也不錯,比如說是 sourceTree 或是人稱小烏龜的 tortoiseGit 在台灣都蠻常見的,有興趣的可以自己去 google 並學習。