git 入門教程之遠端倉庫

雪之夢技術驛站發表於2019-03-18

遠端倉庫

如果說本地倉庫已經足夠個人進行版本控制了,那麼遠端倉庫則使多人合作開發成為可能. 如果你只是打算自己使用git,你的工作內容不需要釋出給其他人看,那就用不到遠端倉庫的概念.

git分散式版本控制系統,分散式意味著同一個git 倉庫 可以部署在不同的機器上,正如"雞生蛋蛋生雞"問題一樣,不論如何,先要有一個原始倉庫,然後才能分佈到其他機器上去.

充當原始倉庫的機器要有一個特點那就是24h 開機且大家都能訪問到,這個概念類似於"中央伺服器".這樣一來大家都可以從"中央伺服器"下載最新程式碼,克隆到本地,本地發生更改後再推送給"中央伺服器".如此一來,大家交流方便很多,輕鬆實現檔案內容的共享.

這種"中央伺服器"比較有名的是國外的網站 github,當然國內也有不少類似服務.像這種"中央伺服器"也可以自己搭建,現階段搭建的話簡直就是"殺雞焉用牛刀"!

背景

關於如何註冊配置相關請參考 github 教程

為了和上述教程保持一致,專案名git-demo,先看一下當前工作區狀態:

# 檢視檔案列表
$ ls
LICENSE     README.md   test.txt
# 檢視檔案內容
$ cat test.txt
add test.txt
複製程式碼

現在測試一下本地更改能否推送到遠端倉庫,先在本地檔案 test.txt 隨便寫點東西,然後新增(git add),提交(git commit),最後推送到遠端倉庫(git push origin master).

# 寫入新的內容並提交到本地倉庫
$ echo "see https://snowdreams1006.github.io/git/usage/remote-repository.html" >> test.txt
$ git add test.txt
$ git commit -m "see https://snowdreams1006.github.io/git/usage/remote-repository.html"
[master b3d8193] see https://snowdreams1006.github.io/git/usage/remote-repository.html
 1 file changed, 1 insertion(+)

# 推送到遠端倉庫
$ git push origin master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 359 bytes | 359.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:snowdreams1006/git-demo.git
   8e62564..b3d8193  master -> master
$ 
複製程式碼

命令列沒有報錯證明我們已經成功推送到 github,現在登入 github 看一下有沒有剛才我們提交的新內容.

github-updated.png

現在本地版本庫和遠端版本庫已經能夠正常建立關聯了,此刻起將不再是獨自一人在戰鬥!

小結

  • 建立已有本地倉庫和遠端倉庫的關聯
# 新增遠端倉庫關聯
git remote add origin git@github.com:username/repos.git

# 首次推送 master 分支的全部內容
git push -u origin master

# 後續推送 master 分支的最新更改
git push origin master
複製程式碼
  • 從已有遠端倉庫克隆到本地倉庫
# 克隆遠端倉庫到本地倉庫
git clone git@github.com:username/repos.git

# 推送 master 分支的最新更改
git push origin master
複製程式碼

相關文章