遠端指令與GitHub
fetch、pull、rebase、github
Last updated
fetch、pull、rebase、github
Last updated
若要和其他人分享專案,就必須將本地端儲存庫的特定版本,推(push)到遠端儲存庫整併,下一次要開發專案時,應先從遠端儲存庫將新版程式碼 fetch 回本地端儲存庫,再從本地端儲存庫 checkout 回工作目錄中,或是直接 pull 回工作目錄。
遠端儲存庫也可以自行架設,例如使用 GitLab Community Edition ,但在此我們推薦直接使用 GitHub 進行免費的原始碼代管服務,以減少學習的複雜度,GitHub 延伸的線上服務還有可儲存程式碼片段的 Gist、 可撰寫手冊等電子書的 GitBook 等,都是很值得運用的好工具。
請先在 GitHub 建立名為 demo 的遠端儲存庫
預設使用 https 作為推送方式
執行以下指令後,會將遠端儲存庫的名稱與 url 儲存在專案設定檔 .git/config
若要更改推送方式為 ssh ,則要執行
git remote rm origin
重設遠端儲存庫的 url,否則會發生錯誤 fatal: remote origin already exists
執行以下指令後,可觀察目前遠端 repo 設定
執行以下指令後,將本地端儲存庫 master 分支(預設分支)推送到遠端儲存庫 origin
-u 參數是讓 git 將分支名稱記錄在專案設定檔 .git/config,下次就可以直接使用 git push 指令推出去了
從第一次 commit 開始,Git 就會建立預設分支,其名稱固定叫 master
實際的作用原理為將本地端的 master branch 與遠端的 master branch 作 fast-forward 合併。如果出現 [rejected] 錯誤的話,表示你必須先作 pull
當不存在專案的本地端儲存庫時,執行 git clone 指令可把專案在遠端儲存庫上的所有內容複製到本地,建立起本機儲存庫與工作目錄,通常用於參考遠端儲存庫某專案的程式碼時使用。
已存在專案的本地端儲存庫時,執行以下指令後,會將專案的最新版本從遠端儲存庫拉回來並合併分支,通常用於協同開發時更新之用。
實際是先 git fetch 遠端的 branch,然後與本地端的 branch 做 merge,產生一個 merge commit 節點