0%

[Git] git remote add origin 中 origin 的意思解析

前言

Git 真的是對程式開發者的一個大福音,在知道 Git 之前常常在實驗室用桌電開發,回宿舍前上傳雲端或隨身碟,然後回到宿再抓下來繼續開發,久了之後檔案多了,非常難管理,也很難找到之前到底修改了哪裡。使用 Git 之後,光是管理程式碼的部份就省很多時間。

其中一個很常下的指令是 git remote add origin,它很基本以至於很少有文章介紹它的意思,因此在自己的好奇心之下,驅使自己理解這個指令的含意。

origin 意思解析

當想要從 Local 端 push 資料上 Git 管理網 (例如 GitHub、GitLab ,統稱為 remote 端) 時,會先在網頁上先建一個 Repository,然後跟著網頁的指示做。以下以個人的 GitHub 為例,創建一個 Repository 名稱為 zcu111-EMIO,且「不」打勾 "Initialize this repository with a README",創建好之後 GitHub 會提示以下訊息讓我們能順利上傳程式碼

1
2
3
4
…or push an existing repository from the command line

git remote add origin https://github.com/weirenxue/zcu111-EMIO.git
git push -u origin master

依照它的提示執行這些指令後,就能把在地端的程式碼 push 上去,這時再用 git remote -v 來看看 remote 資料

1
2
3
user@pc:~$ git remote -v
origin https://github.com/weirenxue/zcu111-EMIO.git (fetch)
origin https://github.com/weirenxue/zcu111-EMIO.git (push)

可以發現 origin 就只是那 remote git 的代名詞!為了讓使用者不必每次對 remote 操作都要打一長串網址。

應用

理解意思之後,就能自己做變化!我們可以把 origin 改為別的名稱

1
2
3
4
5
user@pc:~$ git remote rename origin origin-github  # 改名

user@pc:~$ git remote -v
origin-github https://github.com/weirenxue/zcu111-EMIO.git (fetch)
origin-github https://github.com/weirenxue/zcu111-EMIO.git (push)

更甚者,如果有兩個 Git 管理網要 push 的話 (例如:公司專用/個人習慣用),可以再加入一個 remote

1
2
3
4
5
6
7
user@pc:~$ git remote add origin-company http://192.168.0.123/fake/zcu111-EMIO.git

user@pc:~$ git remote -v
origin-github https://github.com/weirenxue/zcu111-EMIO.git (fetch)
origin-github https://github.com/weirenxue/zcu111-EMIO.git (push)
origin-company http://192.168.0.123/fake/zcu111-EMIO.git (fetch)
origin-company http://192.168.0.123/fake/zcu111-EMIO.git (push)

push 的方法都沒變,只是將原本是 origin 的地方改為對應的代名詞

1
2
3
user@pc:~$ git push origin-github master  # 到 GitHub

user@pc:~$ git push origin-company master # 到公司
很高興能在這裡幫助到您,歡迎登入 Liker 為我鼓掌 5 次,或者成為我的讚賞公民,鼓勵我繼續創造優質文章。
以最優質的內容回應您的鼓勵