Git + github in Linux
用 github 可以做到類似遠端備份的功能,類似 svn 的中央 server(但不一樣)。每個 client 在本地端都有完整的 git repository,在 local 就可以做 commit 等操作,而非一定要連到 github。
先到 Github 申請帳號。github 提供免費帳號無上限的 public repository,如果要私人的 Repository 就要付錢囉。
以下操作都是在 Linux 上,在 Windows 上沒特別研究。
安裝 git
看是在哪種 Linux distribution 上,通常可以直接裝套件(Fedora 用 yum
,Ubuntu 用 apt
,Gentoo 用 emerge
,可參考這裡)。
設定 ssh key
為了方便跟 github 傳輸資料,要設 ssh 的 public/private key:
1 | $ ssh-keygen -t rsa |
產生一組 key,預設放在 ~/.ssh/
。
Enter passphrase 是每次存取這把 key 時要輸入的密碼,有輸入的話每次用 git 指令 access github 都要打一次密碼。
到 github Account Setting 中的 SSH KEYS 增加 key,把剛產生的 public key(預設是 ~/.ssh/id_rsa.pub
)貼上去。
在 github 新增 repository
照著網頁按,幾乎只要輸入 repository name 就可以了。
將現有的 git repository 上傳(push)至 github
1 | $ cd mygit |
[userid] 是 github 上的帳號。[rep’s name] 是 repository name。
下載(clone)github 上的 repository 到 local 端
初次下載,在 Git 稱為 clone。
抓自己或其他人的皆可。
1 | $ git clone git@github.com:[userid]/[rep's name].git [local dir name] |
使用兩種不同 protocol clone。
將自己的修改傳上 github
1 | $ git push |
將 github 上較新的 code 抓下來
1 | $ git pull |