google 一下發現教學文太多,加上實在不想重裝自己的 Git 還得 windows 、 mac都來一遍……決定偷懶
雙手奉上傳送門:
圖像化界面的 Git 操作工具,可以不使用 command line 進行 Git 的操作。但新手上路仍建議先以 Command line 來進行學習,GUI 軟體只作為輔助使用(視覺化呈現目前的 Commit 歷程)
眾多 Git GUI 軟體中推薦 Sourcetree:
註冊 GitHub (或其他常見的服務平台如 GitLab、Bitbucket)
設置 SSH key
實際應用時,在本地輸入指令 git push 就可以推上去指定的儲存庫,但 GitHub 怎麼判斷這個儲存庫誰可以上傳上來呢?我們可以設置 ssh key 讓 GitHub 去控管權限。
在終端機中生成為一組成對的公鑰、私鑰,將公鑰設定在 GitHub 中,共 GitHub 透過比對公、私鑰是否對得起來而控制上傳權限。
$ ssh-keygen
在終端機中產生金鑰
$ ls -al ~/.ssh
查詢是否有 SSH Key了(出現檔案id_rsa.pub 或 id_dsa.pub 就成功囉)
$ pbcopy < ~/.ssh/id_rsa.pub
/ $ clip < ~/.ssh/id_rsa.pub
複製公鑰 ( Mac / windows )
至 GitHub 的 Setting 頁 貼上 SSH Key就完成配置囉!
好的,目前我假設你已經…
- 安裝好 Git
- 安裝好 Sourcetree 或其他 Git GUI
- 已經註冊好 GitHub 或其他服務平台並且也設置好 SSH 了
$ cd /c/project
$ cd /mnt/c/project
$ git init
將專案資料夾初始化 Git
( Terminal 位置要在專案資料夾喔! )
在 GitHub 中建立 Repository 並複製 SSH 位址
回到終端機進行設置:
$ git config --global user.name name
$ git config --global user.email Email
$ git remote add origin repositoryURL
連結遠端Repo (repositoryURL = 剛剛複製的那個 SSH 位址)
$ git remote -v
查詢是否綁定成功
完成設置後,就來進行第一次 commit 吧!
可以先新增一個 readme.md 為這個專案進行簡單的介紹。
完成後就進行未來會使用相當頻繁的 add、commit、push 三指令:
$ git add readme.md
將 readme.md 檔加至暫存區
$ git commit -m'commitInfo'
將暫存區檔案 commit 並寫上 commit 訊息
$ git push -u origin master
推上 origin master (剛剛綁定的遠端Repo的分支Master
(使用 -u 指令等於指定了預設值,之後簡略只打 git push
就推至預設的 origin master)
完成大業!上去 GitHub 看有沒成功!
$ git push 自訂的儲存庫名 對應的分支名
origin 並不是固定的語法,有時我們同一個專案可能會綁定連結多個遠端儲存庫,push 到不同的遠端 Repo去,所以 push 後面接的是指定要推到「哪一個遠端儲存庫」裡的「哪一支分支」。
而這個自訂的儲存庫名在剛開始用 $ git remote add origin repositoryURL
指令時定義囉,(但並不會影響遠端儲存庫的名字,只是方便你識別你的多個遠端連結而已)。
(適用情境:公司電腦已有設置公司專用的 GitHub 帳號在 git config --global,但我想同時使用公司電腦應用自己私人 GitHub 帳號的專案,推上去時卻不會顯示自己的個人帳號)
同樣要先將公司電腦的 SSH Key 登錄至 GitHub Setting,此時公司電腦可以推你的個人帳號的 Repo,但並不會真正連結成自己的個人帳號。
在 git config --local 設定自己個人帳號的 user name、email
git config --local user.name name
git config --local user.email Email
git config ---local
的設定只針對單一專案,也就是當你開啟了第二個個人專案時,也要先對該專案配置git config --local
,否則預設都會吃 git config --global
的設定。
總結:
關於 Git 初始安裝的大致流程就到這啦,後面會再整理常用的 Git 指令表方便查閱囉。
參考資料:
個人 Blog: https://eudora.cc/