佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Git 教程之遠程倉庫詳解

Git 教程之遠程倉庫詳解

熱門標簽:美圖手機 智能手機 服務(wù)器配置 鐵路電話系統(tǒng) 銀行業(yè)務(wù) 網(wǎng)站文章發(fā)布 檢查注冊表項 呼叫中心市場需求

Git 遠程倉庫

Git 并不像 SVN 那樣有個中心服務(wù)器。

目前我們使用到的 Git 命令都是在本地執(zhí)行,如果你想通過 Git 分享你的代碼或者與其他開發(fā)人員合作。 你就需要將數(shù)據(jù)放到一臺其他開發(fā)人員能夠連接的服務(wù)器上。

本例使用了 Github 作為遠程倉庫,你可以先閱讀我們的 Github 簡明教程。

添加遠程庫

要添加一個新的遠程倉庫,可以指定一個簡單的名字,以便將來引用,命令格式如下:

git remote add [shortname] [url]

本例以Github為例作為遠程倉庫,如果你沒有Github可以在官網(wǎng)https://github.com/注冊。

由于你的本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以我們需要配置驗證信息:

使用以下命令生成SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"

后面的your_email@youremail.com改為你在github上注冊的郵箱,之后會要求確認路徑和輸入密碼,我們這使用默認的一路回車就行。成功的話會在~/下生成.ssh文件夾,進去,打開id_rsa.pub,復(fù)制里面的key。

回到github上,進入 Account Settings(賬戶配置),左邊選擇SSH Keys,Add SSH Key,title隨便填,粘貼在你電腦上生成的key。

為了驗證是否成功,輸入以下命令:

$ ssh -T git@github.com
Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.

以下命令說明我們已成功連上 Github。

之后登錄后點擊" New repository " 如下圖所示:

之后在在Repository name 填入 w3cschool.cc(遠程倉庫名) ,其他保持默認設(shè)置,點擊"Create repository"按鈕,就成功地創(chuàng)建了一個新的Git倉庫:

創(chuàng)建成功后,顯示如下信息:

以上信息告訴我們可以從這個倉庫克隆出新的倉庫,也可以把本地倉庫的內(nèi)容推送到GitHub倉庫。
現(xiàn)在,我們根據(jù)GitHub的提示,在本地的倉庫下運行命令:

$ ls
README
w3cschool菜鳥教程測試.txt
test.txt
$ git remote add origin git@github.com:tianqixin/w3cschool.cc.git
$ git push -u origin master
Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (21/21), 1.73 KiB | 0 bytes/s, done.
Total 21 (delta 4), reused 0 (delta 0)
To git@github.com:tianqixin/w3cschool.cc.git
 * [new branch]   master -> master
Branch master set up to track remote branch master from origin.

以下命令請根據(jù)你在Github成功創(chuàng)建新倉庫的地方復(fù)制,而不是根據(jù)我提供的命令,因為我們的Github用戶名不一樣,倉庫名也不一樣。

接下來我們返回 Github 創(chuàng)建的倉庫,就可以看到文件已上傳到Github上:

查看當(dāng)前的遠程庫

要查看當(dāng)前配置有哪些遠程倉庫,可以用命令:

git remote

$ git remote
origin
$ git remote -v
origin git@github.com:tianqixin/w3cschool.cc.git (fetch)
origin git@github.com:tianqixin/w3cschool.cc.git (push)

執(zhí)行時加上 -v 參數(shù),你還可以看到每個別名的實際鏈接地址。

提取遠程倉庫

Git 有兩個命令用來提取遠程倉庫的更新。

1、從遠程倉庫下載新分支與數(shù)據(jù):

git fetch

該命令執(zhí)行完后需要執(zhí)行g(shù)it merge 遠程分支到你所在的分支。

2、從遠端倉庫提取數(shù)據(jù)并嘗試合并到當(dāng)前分支:

git pull

該命令就是在執(zhí)行 git fetch 之后緊接著執(zhí)行 git merge 遠程分支到你所在的任意分支。

假設(shè)你配置好了一個遠程倉庫,并且你想要提取更新的數(shù)據(jù),你可以首先執(zhí)行 git fetch [alias] 告訴 Git 去獲取它有你沒有的數(shù)據(jù),然后你可以執(zhí)行 git merge [alias]/[branch] 以將服務(wù)器上的任何更新(假設(shè)有人這時候推送到服務(wù)器了)合并到你的當(dāng)前分支。

接下來我們在 Github 上點擊"w3cschool菜鳥教程測試.txt" 并在線修改它。之后我們在本地更新修改。

$ git fetch origin
Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:tianqixin/w3cschool.cc
  7d2081c..f5f3dd5 master   -> origin/master

以上信息"7d2081c..f5f3dd5 master -> origin/master" 說明 master 分支已被更新,我們可以使用以下命令將更新同步到本地:

$ git merge origin/master
Updating 7d2081c..f5f3dd5
Fast-forward
 "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 +
 1 file changed, 1 insertion(+)

推送到遠程倉庫

推送你的新分支與數(shù)據(jù)到某個遠端倉庫命令:

git push [alias] [branch]

以上命令將你的 [branch] 分支推送成為 [alias] 遠程倉庫上的 [branch] 分支,實例如下。

$ git merge origin/master
Updating 7d2081c..f5f3dd5
Fast-forward
 "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 +
 1 file changed, 1 insertion(+)
bogon:w3cschoolcc tianqixin$ vim w3cschool菜鳥教程測試.txt 
bogon:w3cschoolcc tianqixin$ git push origin master
Everything up-to-date

刪除遠程倉庫

刪除遠程倉庫你可以使用命令:

git remote rm [別名]

$ git remote -v
origin git@github.com:tianqixin/w3cschool.cc.git (fetch)
origin git@github.com:tianqixin/w3cschool.cc.git (push)
$ git remote add origin2 git@github.com:tianqixin/w3cschool.cc.git
$ git remote -v
origin git@github.com:tianqixin/w3cschool.cc.git (fetch)
origin git@github.com:tianqixin/w3cschool.cc.git (push)
origin2 git@github.com:tianqixin/w3cschool.cc.git (fetch)
origin2 git@github.com:tianqixin/w3cschool.cc.git (push)
$ git remote rm origin2
$ git remote -v
origin git@github.com:tianqixin/w3cschool.cc.git (fetch)
origin git@github.com:tianqixin/w3cschool.cc.git (push)

您可能感興趣的文章:
  • Git本地倉庫基本操作及技巧
  • Git如何修改遠程倉庫地址
  • git遠程倉庫_動力節(jié)點Java學(xué)院整理
  • git 入門教程之本地倉庫和遠程倉庫的本質(zhì)介紹

標簽:上海 河南 滄州 沈陽 紅河 新疆 樂山 長治

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Git 教程之遠程倉庫詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    开封市| 十堰市| 山西省| 鄂尔多斯市| 周口市| 广昌县| 科技| 昌宁县| 临邑县| 葵青区| 木兰县| 临桂县| 晋州市| 永丰县| 宜章县| 津市市| 饶平县| 庄浪县| 尚义县| 高邑县| 交城县| 锡林郭勒盟| 永泰县| 洞头县| 华亭县| 灵宝市| 广丰县| 集贤县| 措美县| 洞头县| 镇安县| 石狮市| 和硕县| 集贤县| 望谟县| 蒙山县| 宽甸| 侯马市| 敦化市| 钦州市| 汉源县|