iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 5
1
Software Development

在後花園遇見LP,Laravel及PHP的甜蜜糾纏,火熱上映系列 第 5

✾後花園D5✾-程式花園蓋壞了,來自Git的即刻救援

本系列文的環境狀態,可點擊此連結後花園環境參考

後花園,蓋壞了怎麼辦

沒關係,就來唸串 git 的復活指令吧!
<謎之音:其實也沒那麼神啦!就只是可以回到之前有git的當下>

其實,就跟記得要備份一樣
記得要 git、 記得要 git、 記得要 git,因為很重要所以要講三遍!!!

那不學Git會死嗎?我只能說比較不容易死,但其實還是跟人品有關,何時該git, commit 怎麼下,都會影響 git 對你及他人使用的便利性

Git是什麼?

Git是一種分散式版本的版本控制系統,能幫你記錄管理編譯時所有的狀態變化,並且可以回溯到過去某個「版本」時候的狀態。

那為什麼要學Git:

  • 備份 (當玩死或玩不見自己的程式,你就知道他有多重要了)
  • 版本控制
  • 分享 (可以透過像是GitHubGitLab,公開分享程式碼或文章)
  • 協同工作

讀檔重來,用遊戲存檔來講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碼(註一)

註一:那個長得很像亂碼 SHA-1 是怎麼算出來的?

下列為git遠端指令,請先有GitHub帳戶再使用

$ 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可以回去當下,人生只能把握當下


上一篇
✾後花園D4✾-在後花園的中心等待Shell的命令(淺談Kernel與Shell)
下一篇
✾後花園D6✾-composer爲傲嬌Laravel譜曲
系列文
在後花園遇見LP,Laravel及PHP的甜蜜糾纏,火熱上映49
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
阿展展展
iT邦好手 1 級 ‧ 2019-11-02 10:09:52

我們珍惜當下的方式
就是徹底 
放棄了彼此

——約會 ◎鯨向海
/images/emoticon/emoticon04.gif

別啊~還是盡量搶救看看吧!

我要留言

立即登入留言