Git鏈接遠端倉庫

咱們接着學習git,到目前爲止,咱們學習了
git init
git status
git add <file>
git commit (-m <describtion>)
git diff
git log
git rm <file>
git checkout -- <file>
git reset HEAD <file>
具體能夠到GIt本地相關操做(一)git本地相關操做(二)查看
接下來咱們繼續學習git基於本地倉庫與遠程倉庫交互的,相關操做java



一.關聯遠程倉庫
  1. 生成密鑰
    爲了保證遠程倉庫可以惟一識別一電腦主機的操做,同時保證咱們與遠程倉庫通訊的安全,咱們須要建立一個SSH key而且在git遠程倉庫中配置,咱們進入linux當前登陸的用戶目錄中,打開.ssh目錄查看是否有"id_rsa"和"id_rsa.pub",若沒有就執行如下的命令:linux

    ssh-keygen -t rsa -C "example@mail.com"

    這裏的郵箱也是隨意定義的,可是仍是建議有實際意義的,執行完成之後到「~/.ssh/」目錄下,能看到上述兩個文件,如圖:圖片描述若是沒有看到說明執行上述命令不是以當前登陸的用戶權限執行的,在明確執行命令的權限後,到對應的用戶目錄下,就能看到,例如我雖然登陸了guest用戶,可是我執行的「sudo ssh-keygen」那麼就是root權限,所以文件就生成在root用戶目錄下的.ssh木有生成了密鑰文件
    可是咱們但願執行sudo命令的時候,要在當前用戶的路徑下生成文件而不是在root用戶目錄下呢,咱們能夠執行如下命令來實現:
    sudo ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_keygit


  2. 在遠程倉庫進行註冊
    筆者使用的是開源中國提供的git服務,你們也能夠選擇其餘的,其操做大同小異。將「id_rsa.pub」公鑰中的內容複製 出來添加到遠程的git服務中去,具體操做以下圖所示:圖片描述圖片描述segmentfault


  3. 建立遠程倉庫
    圖片描述安全


  4. 關聯遠程倉庫
    在遠程倉庫獲取http協議的鏈接或是ssh協議的鏈接地址,如圖:圖片描述

    而後在本地倉庫進行關聯,使用「git remote add origin <遠程倉庫地址>」,如圖的具體操做:圖片描述git remote -vv」用來查看本地倉庫關聯遠程倉庫地址ssh


  5. 推送文件到遠程倉庫
    目前本地倉庫是有文件的,可是遠程倉庫是空的,咱們須要將本地倉庫的文件推送到遠程倉庫上,這樣其餘人才能從遠程倉庫獲取到文件進行編輯和修改,實現協同工做的目的。
    執行"git push -u origin master"命令,如圖:圖片描述這張圖內容比較多,咱們一個一個來講:
    首先,git push是將本地倉庫的數據push到遠程倉庫,-u的做用是本地倉庫第一次向遠程倉庫推送數據時簡歷關聯,origin是指咱們在執行「git remote add origin <遠程倉庫地址>"之後orgin就表明了遠程倉庫,而master則是值遠程倉庫的分支名稱,目前遠程倉庫的分支只有一個默認分支master
    而後,咱們執行"git push -u origin master"會有一些朋友出現上圖上半部分展現的錯誤信息,我查了相關資料,意思就是說咱們在新建遠程倉庫之後,遠程倉庫會默認建立一些文件,而這些文件本地倉庫沒有的,這就藏成了。本地倉庫和遠程倉庫都有彼此沒有的文件,解決這種情況有兩種方案:
    強推覆蓋遠程倉庫已有的文件
    本地倉庫拉取遠程倉庫的文件,本地實現合併而後再push
    本文爲了省事使用了第一種方案,實際開發過程當中推薦第二種方案,相關文章連接:https://my.oschina.net/unique...學習


  6. 提交編輯到遠程倉庫
    在第5小節的時候,咱們已經將本地倉庫與遠程倉庫的數據實現同步,下面咱們在本地修改一下文件而後再把修改的內容提交到遠程倉庫。圖片描述圖片描述圖片描述基於以前已經與遠程倉庫創建了關聯,因此此次同步只須要執行"git push"命令便可spa



    7.從遠程倉庫複製
    經過「git clone <ssh地址或htttps地址或http地址>」來下載遠程倉庫中的文件到本地,咱們繼續使用以前的遠程倉庫,在本地換個目錄就能夠建立一個新的本地倉庫,且兩個倉庫之間互不影響。如圖,咱們到遠程git獲取遠程倉庫的地址:
    圖片描述
    到本地執行"git clone"命令下載代碼:圖片描述
    如圖代碼已經下載到本地,咱們能夠經過以前學到命令來看下一下相關的信息,如圖:
    圖片描述

二.總結.net

  1. ssh key是git遠程倉庫惟一區分本地倉庫主機的標識也是安全通訊的保證code

  2. git remote add origin <遠程倉庫地址>本地倉庫管理遠程倉庫,而且在本地能夠經過orgin來標識, <遠程倉庫地址>能夠是ssh協議地址或是http協議地址

  3. git remote -vv查看本地倉庫關聯的遠程倉庫地址信息

  4. git push origin 分支名稱將本地倉庫的文件推送到遠程倉庫,-u表示將本地倉庫與遠程倉庫進行管理,僅在第一push時使用,-f表示強推,orgin在這裏的表明的含義要明確,分支名稱,就是咱們提交的數據是推送到遠程倉庫的具體分支上

  5. 當本地git文件信息與遠程倉庫文件衝突時的兩種解決方案:
    強推
    本地同步遠程倉庫數據,本地解決再push
    實際中推薦第二種

  6. git clone複製遠程倉庫的文件到本地目錄中



    上一節:Git本地相關操做(二)
相關文章
相關標籤/搜索