本系列文的環境狀態,可點擊此連結後花園環境參考
沒關係,就來唸串 git 的復活指令吧!
<謎之音:其實也沒那麼神啦!就只是可以回到之前有git的當下>
其實,就跟記得要備份一樣
記得要 git、 記得要 git、 記得要 git,因為很重要所以要講三遍!!!
那不學Git會死嗎?我只能說比較不容易死,但其實還是跟人品有關,何時該git, commit 怎麼下,都會影響 git 對你及他人使用的便利性
Git是一種分散式版本的版本控制系統,能幫你記錄管理編譯時所有的狀態變化,並且可以回溯到過去某個「版本」時候的狀態。
個人在使用時,用單機遊戲存檔的方式來看,會有點像下圖的狀況,可能不會有分支,僅走主幹的部份,看個人使用方式或目的
當遊戲玩到壞結局時,就像我們把程式寫爛了,這時就會想讀取過去的檔案,再重新走不同選擇或處理方式看看,git也能讓你做到這件事
另外會有些番外或外傳的部份,後來卻會接回主線的劇情影響後續發展,這就跟我們先開分支研究某支程式,最後發現可以跟主幹寫的程式做併用,那我們就可以讓他們再合併回去
下圖簡單地介紹Local(本地)及Remote(遠端,例.GitHub)常用指令及關係
圖片來源:Git 與 Github 版本控制基本指令與操作入門教學
紅色箭頭內的字是給予的指令,上面的各個橢圓框則代表所在狀態或區域
因為本系列主要不是在介紹Git,所以接下來僅介紹常用的指令及功能,需要更詳盡教學及遠端(GitHub)註冊架設的看倌們,請參考最下方的連結
$ brew install git // 用brew安裝git
$ brew upgrade git // 用brew更新git
$ git version // 查看目前git版本
$ git config --global user.name "<Your Name>"
// 設定帳戶,讓 Git 知道電腦做的修改要連結到哪位使用者,建議跟Emailㄧ致的帳號
$ git config --global user.email "<your@gmail.com>"
// 設定Email
$ git init // 將所在專案資料夾建立成git repository(本地端)
$ ls -la // 列出所在資料夾下的檔案和資料夾,看是否有.git存在
$ git status // 顯示目前git工作環境狀態
$ git add 檔案名稱 // 將檔案加入到暫存區
$ git add --all // 將所在資料夾下所有檔案全加到暫存區
$ git add . // 在git (2.X版)後,功能就跟git add --all相同
$ git commit -m "註記" // 將暫存區檔案commit,"註記":可寫入這次commit做的事
$ git diff // 比較現在檔案和上次commit檔案的差異
$ git rm // 檔案尚未加入過追蹤時使用,可恢復到檔案尚未加入暫存區
$ git branch // 查看git所有的分支表,有標示*號,當前處於的分支
$ git log // 查看提交歷史
$ git log --oneline // 精簡版的提交歷史
$ git reset --hard commit_id // commit_id可以去git log查看SHA-1碼(註一)
$ git config --global 使用者名稱 // 在git設定使用者帳號
$ git remote add origin 要remote的網址 // 新增遠端的repository連結網址,origin名稱可自訂
$ git push -u origin master
// 將檔案推上遠端儲存,origin可想成是遠端短連結,master則是指本地
// 可拆解成下方3個指令
$ git push origin master
$ git checkout master
$ git branch -u origin/master
$ git clone 遠端repository網址 // 將遠端repository複製到本地端
詳細或進階學習連結:
❁ 為你自己學Git - 高見龍
❁ GitBook
❁ Git 與 Github 版本控制基本指令與操作入門教學
Git可以回去當下,人生只能把握當下