【第十篇】- Git 遠端倉庫(Github)之Spring Cloud直播商城 b2b2c電子商務技術總結
Git 遠端倉庫(Github)
Git 並不像 SVN 那樣有個中心伺服器。
目前我們使用到的 Git 命令都是在本地執行,如果你想透過 Git 分享你的程式碼或者與其他開發人員合作。 你就需要將資料放到一臺其他開發人員能夠連線的伺服器上。
本例使用了 Github 作為遠端倉庫,你可以先閱讀我們的
新增遠端庫
要新增一個新的遠端倉庫,可以指定一個簡單的名字,以便將來引用,命令格式如下:
git remote add [shortname] [url]
本例以 Github 為例作為遠端倉庫,如果你沒有 Github 可以在官網 註冊。
由於你的本地 Git 倉庫和 GitHub 倉庫之間的傳輸是透過SSH加密的,所以我們需要配置驗證資訊:
使用以下命令生成 SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
後面的 your_email@youremail.com 改為你在 Github 上註冊的郵箱,之後會要求確認路徑和輸入密碼,我們這使用預設的一路回車就行。
成功的話會在 ~/ 下生成 .ssh 資料夾,進去,開啟 id_rsa.pub,複製裡面的 key。
$ ssh-keygen -t rsa -C "429240967@qq.com"Generating public/private rsa key pair.Enter file in which to save the key (/Users/tianqixin/.ssh/id_rsa): Enter passphrase (empty for no passphrase): # 直接回車Enter same passphrase again: # 直接回車Your identification has been saved in /Users/tianqixin/.ssh/id_rsa.Your public key has been saved in /Users/tianqixin/.ssh/id_rsa.pub.The key fingerprint is:SHA256:MDKVidPTDXIQoJwoqUmI4LBAsg5XByBlrOEzkxrwARI 429240967@qq.comThe key's randomart image is: +---[RSA 3072]----+ |E*+.+=**oo | |%Oo+oo=o. . | |%**.o.o. | |OO. o o | |+o+ S | |. | | | | | | | +----[SHA256]-----+
回到 github 上,進入 Account => Settings(賬戶配置)。
左邊選擇 SSH and GPG keys,然後點選 New SSH key 按鈕,title 設定標題,可以隨便填,貼上在你電腦上生成的 key。
新增成功後介面如下所示
為了驗證是否成功,輸入以下命令:
$ ssh -T git@github.comThe authenticity of host 'github.com (52.74.223.119)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes # 輸入 yes Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts. Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access. # 成功資訊
以下命令說明我們已成功連上 Github。
之後登入後點選" New repository " 如下圖所示:
之後在在Repository name 填入 xxx-git-test(遠端倉庫名) ,其他保持預設設定,點選"Create repository"按鈕,就成功地建立了一個新的Git倉庫:
建立成功後,顯示如下資訊:
以上資訊告訴我們可以從這個倉庫克隆出新的倉庫,也可以把本地倉庫的內容推送到GitHub倉庫。
現在,我們根據 GitHub 的提示,在本地的倉庫下執行命令:
$ mkdir xxx-git-test # 建立測試目錄$ cd xxx-git-test/ # 進入測試目錄$ echo "# 菜鳥教程 Git 測試" >> README.md # 建立 README.md 檔案並寫入內容$ ls # 檢視目錄下的檔案README $ git init # 初始化$ git add README.md # 新增檔案$ git commit -m "新增 README.md 檔案" # 提交併備註資訊[master (root-commit) 0205aab] 新增 README.md 檔案 1 file changed, 1 insertion(+) create mode 100644 README.md# 提交到 Github$ git remote add origin git@github.com:tianqixin/xxx-git-test.git $ git push -u origin master
以下命令請根據你在Github成功建立新倉庫的地方複製,而不是根據我提供的命令,因為我們的Github使用者名稱不一樣,倉庫名也不一樣。
接下來我們返回 Github 建立的倉庫,就可以看到檔案已上傳到 Github上:
檢視當前的遠端庫
要檢視當前配置有哪些遠端倉庫,可以用命令:
git remote
例項
$ git remote origin $ git remote -v origin git@github.com:tianqixin/xxx-git-test.git (fetch)origin git@github.com:tianqixin/xxx-git-test.git (push)
執行時加上 -v 引數,你還可以看到每個別名的實際連結地址。
提取遠端倉庫
Git 有兩個命令用來提取遠端倉庫的更新。
1、從遠端倉庫下載新分支與資料:
git fetch
該命令執行完後需要執行 git merge 遠端分支到你所在的分支。
2、從遠端倉庫提取資料並嘗試合併到當前分支:
git merge
該命令就是在執行 git fetch 之後緊接著執行 git merge 遠端分支到你所在的任意分支。
假設你配置好了一個遠端倉庫,並且你想要提取更新的資料,你可以首先執行 git fetch [alias] 告訴 Git 去獲取它有你沒有的資料,然後你可以執行 git merge [alias]/[branch] 以將伺服器上的任何更新(假設有人這時候推送到伺服器了)合併到你的當前分支。
接下來我們在 Github 上點選" README.md" 並線上修改它:
然後我們在本地更新修改。
$ git fetch origin remote: Counting objects: 3, done.remote: Compressing objects: 100% (2/2), done.remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0Unpacking objects: 100% (3/3), done.From github.com:tianqixin/xxx-git-test 0205aab..febd8ed master -> origin/master
以上資訊"0205aab..febd8ed master -> origin/master" 說明 master 分支已被更新,我們可以使用以下命令將更新同步到本地:
$ git merge origin/masterUpdating 0205aab..febd8edFast-forward README.md | 1 + 1 file changed, 1 insertion(+)
檢視 README.md 檔案內容:
$ cat README.md # 菜鳥教程 Git 測試## 第一次修改內容
推送到遠端倉庫
推送你的新分支與資料到某個遠端倉庫命令:
git push [alias] [branch]
以上命令將你的 [branch] 分支推送成為 [alias] 遠端倉庫上的 [branch] 分支,例項如下。
$ touch xxx-test.txt # 新增檔案$ git add xxx-test.txt $ git commit -m "新增到遠端"master 69e702d] 新增到遠端 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 xxx-test.txt $ git push origin master # 推送到 Github
重新回到我們的 Github 倉庫,可以看到檔案已經提交上來了:
刪除遠端倉庫
刪除遠端倉庫你可以使用命令:
git remote rm [別名]
例項
$ git remote -v origin git@github.com:tianqixin/xxx-git-test.git (fetch)origin git@github.com:tianqixin/xxx-git-test.git (push)# 新增倉庫 origin2$ git remote add origin2 git@github.com:tianqixin/xxx-git-test.git $ git remote -v origin git@github.com:tianqixin/xxx-git-test.git (fetch)origin git@github.com:tianqixin/xxx-git-test.git (push)origin2 git@github.com:tianqixin/xxx-git-test.git (fetch)origin2 git@github.com:tianqixin/xxx-git-test.git (push)# 刪除倉庫 origin2$ git remote rm origin2 $ git remote -v origin git@github.com:tianqixin/xxx-git-test.git (fetch)origin git@github.com:tianqixin/xxx-git-test.git (push)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70006413/viewspace-2791362/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【第五篇】- Git 建立倉庫之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- 【第六篇】- Maven 倉庫之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- Maven POM之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- [第十一篇]——Docker 倉庫管理之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- 【第十一篇】- Git Gitee之Spring Cloud直播商城 b2b2c電子商務技術總結GiteeSpringCloud
- [第十篇]——Docker 容器連線之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- 【第九篇】- Git 標籤之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- 【第十篇】- Maven 引入外部依賴之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第七篇】- Git 分支管理之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- 【第十二篇】- Git 伺服器搭建之Spring Cloud直播商城 b2b2c電子商務技術總結Git伺服器SpringCloud
- 【第一篇】- Git 教程之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- [第十二篇]——Docker Dockerfile之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- [第十四篇]——Docker Machine之Spring Cloud直播商城 b2b2c電子商務技術總結DockerMacSpringCloud
- 【第三篇】- Maven POM之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- Maven 構建配置檔案之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- Maven 構建生命週期之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- Maven 環境配置之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第八篇】- Git 檢視提交歷史之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- 【第三篇】- Git 工作流程之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- 【第四篇】-Git 工作區暫存區和版本庫之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- [第二篇]——Docker 架構之Spring Cloud直播商城 b2b2c電子商務技術總結Docker架構SpringCloud
- [第五篇]——Docker 映象加速之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- 【第十八篇】- Maven Eclipse之Spring Cloud直播商城 b2b2c電子商務技術總結MavenEclipseSpringCloud
- 【第十九篇】- Maven NetBeans之Spring Cloud直播商城 b2b2c電子商務技術總結MavenBeanSpringCloud
- 【第二十篇】-Maven IntelliJ之Spring Cloud直播商城 b2b2c電子商務技術總結MavenIntelliJSpringCloud
- [第十三篇]——Docker Compose之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- Maven 構建 & 專案測試之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- [第三篇]——CentOS Docker 安裝之Spring Cloud直播商城 b2b2c電子商務技術總結CentOSDockerSpringCloud
- [第四篇]——Windows Docker 安裝之Spring Cloud直播商城 b2b2c電子商務技術總結WindowsDockerSpringCloud
- [第六篇]——雲伺服器之Spring Cloud直播商城 b2b2c電子商務技術總結伺服器SpringCloud
- [第七篇]——Docker Hello World之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- 【第十一篇】- Maven 專案模板之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第七篇】- Maven 外掛之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十二篇】- Maven 專案文件之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十三篇】- Maven 快照(SNAPSHOT)之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十五篇】- Maven 依賴管理之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- [第十五篇]——Swarm 叢集管理之Spring Cloud直播商城 b2b2c電子商務技術總結SwarmSpringCloud
- [第十六篇]——Docker 安裝 CentOS之Spring Cloud直播商城 b2b2c電子商務技術總結DockerCentOSSpringCloud