筆者加入了 進度條 線上課程團隊
歡迎大家到這個網站看看喔
https://goo.gl/llGo8Q
本站的文章也會轉過去
本篇文章: https://goo.gl/wHdhQm
感謝大家支持
=====================================
Git 和 GitHub 是兩個有關聯但不同的東西
Git 是一種版本管理的工具, 如同svn, 微軟的team foundation server.
GitHub 則是一個網站提供免費的空間讓你擺放你程式的Source Code (原始碼)
不過免費是有條件的
只要用免費的方案
Source code 就會是Open的, 大家都可以下載與觀看
如果不要Open, 那就使用付費方案吧, 不過因為我沒有用過,
所以就還請自己研究.
本篇文章目的 : 註冊github 帳戶, 並建立第一個遠端倉庫(repo)
每個版本管理都有自己的強項,
git 來說的話大概就是branch 與其沿伸功能,
不過本文並不會提到, 之後的文章才會對於這段描述
當然直接google去查詢也是一個很好的方法, 很多高手都有分享
本文指描述到建立一個遠端的下載連結
=======================================================
1. 註冊GitHub
連上GitHub網站
一進去就可以看到
他要求你註冊, 當然如果你已經有帳號了可以使用右上角的Sign In直接登入
註冊相當簡潔
username : 使用者名稱
email: 電子郵件信箱
password : 密碼
都填好, 輸入框右邊出現打勾, 就可以按下sign up for GitHub.
因為會有確認郵件, 所以email要填一個可以使用的.
接著進入下一頁
內容就是 一些付費方案
因為我要用免費方案, 所以什麼都不用管, 直接按Finish Sign up.
之後會收到一封確認 email
記得點進去網址後要按 confirm
要不然登入帳號後會有一個 "!" 提醒你
登入後如下
2. 建立Repo (Repositories)
點擊Repositories -> New
會出現以下頁面
Repository Name(必填) : 可以想成專案的名稱, 直接翻譯為倉庫名稱
Description: 一些描述, 可多可少, 也可以不寫
Public & Private : 沒付錢就只能用 Public (公開的)
Initialize this repository with a README : 建議勾選, 會幫你生一個README.txt 出來
Add .gitigore : 這是git的功能, 以後自己加或是現在先選都無所謂, 我先選None
Add a license : 公開不代表免錢或隨便使用, 還是可以加上些條例, 有一些常見的license可以選
如果整個專案都將會是你自己寫的, 完全不使用別人的程式或是"套件", 就看你自己決定要怎麼發佈了, 選None也可以
如果有用到其他的人base, 比方說Linux Kernel, Arduino 之類, "可能"就要選.
但我建議, 如果不知道的話, 直接選None也不失為一個辦法, 只要不是商業用途, 通常比較不會有問題.
(商業用途一般也不會Open Source, 但不一定)
想填的都填好後 按Create Repository 就成功了
如果不能按就是Repository Name 重複了或是還沒填
成功後回如下圖
上面: 專案名稱
中間: 專案中目前有的檔案, 因為我有選licence 和 README 所以就會有兩個
下面 左: Description
下面 右: 下載的網址
這樣專案就建立好了
3. 加入要版本管理的檔案
用Git 版本管理簡單來講, 就是將"最初的"檔案複製到例外一個資料夾,
之後的所有的變動以, Patch或log 檔的形式記錄下來
我們使用的是GitHub提供給我們的網路資料夾, 所以理所當然的需要"上傳"我們要管理的檔案到GitHub網站
雖然GitHub也有提供圖形化介面的工具
但之前用過覺得不是很理想
而且之後架站也可能會使用Linux
所已還是提早習慣文字介面的好
Windows的話要先安裝git bash
可以參考這一篇
Git 版本管理 (G1.0) Git 介紹與安裝 - Windows
Linux 的話還沒有寫
之後本文會更新 如果沒有更新的話請留言提醒我
所以我們就直接在bash底下操作了
Windows: git bash
Linux : shell bash
有幾種方式, 比較正規的方式是用 git remote 的方式
但我覺得要說的有點多, 所以本文先介紹最簡單的方式
要下載遠端的備份必須要用git clone指令
而且clone 下來後 remote 自動就設好了,
(關於remote的簡易解釋在文末有介紹)
首先開啟Git Bash (Windows系統) 或 Shell (Linux系統)
a. cd 至你想放repo的路徑
這裡就直接示範放在Desktop(桌面)
$ cd Desktop
b. 我們直接執行
"$git clone <你的repo 在 github 的 http位置>" <--請參照git hub 上的網址, 上一個步驟最後一張圖的右下角
例如:
git clone https://github.com/obtuseitlearner/TeachWeb.git
你就會發現資料都download 下來了
c. 直接在該資料夾裡面新增檔案
比方說 index.html
內容 123456
(用滑鼠右鍵即可辦到)
然後在git bash中
$git add index.html
$git commit -m " index.html"
(這兩步看不懂就請先看 Git 版本管理 (G1.0) Git 介紹與安裝 - Windows)
e. 然後上傳到 git hub
$ git push
他會要求你輸入在git hub上面的帳號和密碼
那一大串說明是希望我們設定git config 檔
但我們現在先不理它
f. 之後你就會發現github該專案上面多了一個index.html了 (請先重新整理網頁)
這樣就完成了!!
記得所有的commit 要update 遠端的話 一定要做push的動作喔!!
但是不用每次commit都push, push這動作會一次上傳所有還沒push過的commit
//=====================================================
所謂的remote 口語化解釋就是, 你下載下來的是"一般"的git repo
你可以"自己"commit , add ,rm 之類的使用
但今天如果是你想要同步兩組repo, 這時候可能就必須要用push 和 pull指令
用情境來解釋,
假設有兩組repo, 名稱分別叫project 和 backup
project 就是一直在做的
backup 就是遠端備份
所以你平常都是在project底下做, add, rm, commit 等指令
等你告一個段落後, 會想要一次遠端備份, 避免硬碟壞軌之類的
這時候你就會在project底下 執行$ git push
這個指令會update 所有新的commit 到 backup底下
假設因為某種原因, 你的project 裡面的比 backup舊了
你不需要整個刪掉重新$ git clone,
你只需要在project 底下執行,$ git pull
就會從backup 將所有新的commit 更新到project底下
當然前提是 project所設定的remote 對象必須要是該backup
本文不打算說明如何設定remote
//=====================================================