Git基礎設定

對於寫程式的人來說,Git已是必備工具
只要有安裝Command Line Tools,就會順帶裝好Git
但要能連上Github或Gitlab,還有許多前置設定

通常初期做完一次後就不會再做了,只是重建置系統後,常常都要再搜尋一次…於是把流程記錄下來


Github、Gitlab的主要差異:
Github設定私人專案要另外付費才行,Gitlab不用
Gitlab有提供CI/CD可以做一些自動化

設定git config

打開Terminal

1
2
git config --global user.name "你的Username"
git config --global user.email "你的Email"

產生ssh 金鑰

若不確定自己是否設定過的話,可以先cd ~/.ssh確認目錄是否存在
存在的話就要好好回想一下自己當初是不是已設定過Git亦或是用在其他服務

1
2
3
mkdir .ssh
cd ~/.ssh
ssh-keygen -t rsa -C "你的Email"

接著會出現訊息

1
2
3
4
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user/.ssh/id_rsa): (直接按下Enter)
Enter passphrase (empty for no passphrase): (直接按下Enter)
Enter same passphrase again: (直接按下Enter)

就會產生Public key、Private key
其中id_rsa是Public key,id_rsa.pub是Private key
然後複製公鑰

1
cat ~/.ssh/id_rsa.pub | pbcopy

到Github或Gitlab貼上Public key

若2個平台都想使用的話,記得將帳號設定一樣
可以一組金鑰同時使用2個平台

  1. 到github或gitlab網站上
  2. 到右上角大頭貼點到Settings頁面
  3. 頁面左邊,github選SSH and GPG keys;gitlab選SSH Keys
  4. github右邊Add SSH key;gitlab不必選,直接就是了。將剛剛複製的內容貼上去;title任意。通常我會用裝置名字(比如MacBook)
  5. 存檔
  6. 回到terminal測試是否成功,下指令ssh -T [email protected]ssh -T [email protected],若只先設一個,就下有設定的那個就行了!
  7. 第一次下測試指令時,會出現下列訊息,輸入YES就好!
    1
    2
    3
    4
    5
    The authenticity of host 'github.com (192.30.252.130)' can't be established.
    RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx8.
    Are you sure you want to continue connecting (yes/no)? yes (輸入yes)
    出現下列訊息表示成功
    Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of known hosts.

基本操作

複製線上的Repository

1
git clone git@github.com:你的Username/Repository名字.git

直接從本地端推資料上去

1
2
3
4
5
git init     //初始化
git add . // 把要上傳的先加入組態檔
git commit -m 'first commit' //尚未正式上傳
git commit --amend // 若想要修改訊息
git push -u origin master

基本上做更新的固定流程就是:add→commit→push

刪除檔案

1
2
git rm 檔案名稱 //移除掉在git組態檔中上傳的檔案,並未真正刪除檔案
rm 檔案名稱 //真正刪除檔案

在gitlab中,建立一個空的專案後,底下都有直接帶上project連結的完整的語法可供參考。剛開始不熟悉操作的話,可以先複製下來

若想要更深入的學習Git的話
可以參閱Github上的30 天精通 Git 版本控管