Git(三)Git的遠程倉庫

一. 添加遠程庫

  如今咱們已經在本地建立了一個Git倉庫,又想讓其餘人來協做開發,此時就能夠把本地倉庫同步到遠程倉庫,同時還增長了本地倉庫的一個備份。經常使用的遠程倉庫就是githubhttps://github.com/,接下來咱們演示如何將本地代碼同步到githubgit

1.在github上建立倉庫

首先你得在github上建立一個帳號,而後在github上建立一個倉庫:github

點擊create repository」按鈕倉庫就建立成功了。windows

       Github支持兩種同步方式「https」和「ssh」。若是使用https很簡單基本不須要配置就可使用,可是每次提交代碼和下載代碼時都須要輸入用戶名和密碼。並且若是是公司配置的私有git服務器通常不提供https方式訪問,因此咱們着重說「ssh」方式。安全

2. ssh協議

1. 什麼是ssh?

     SSH是英文Secure Shell的簡寫形式。經過使用SSH,你能夠把全部傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,並且也可以防止DNS欺騙和IP欺騙。使用SSH,還有一個額外的好處就是傳輸的數據是通過壓縮的,因此能夠加快傳輸的速度。SSH有不少功能,它既能夠代替Telnet,又能夠爲FTPPop、甚至爲PPP提供一個安全的"通道"bash

  若是一個用戶從本地計算機,使用SSH協議登陸另外一臺遠程計算機,咱們就能夠認爲,這種登陸是安全的,即便被中途截獲,密碼也不會泄露。最先的時候,互聯網通訊都是明文通訊,一旦被截獲,內容就暴露無疑。1995年,芬蘭學者Tatu Ylonen設計了SSH協議,將登陸信息所有加密,成爲互聯網安全的一個基本解決方案,迅速在全世界得到推廣,目前已經成爲Linux系統的標準配置。服務器

2. ssh密鑰生成

windows下咱們可使用 Git Bash.exe來生成密鑰,能夠經過開始菜單或者右鍵菜單打開Git Bash,git bash 執行命令,生命公鑰和私鑰,命令: ssh-keygen -t rsassh

執行命令完成後,window本地用戶.ssh目錄C:\Users\用戶名\.ssh下面生成以下名稱的公鑰和私鑰:curl

3.  ssh密鑰配置

密鑰生成後須要在github上配置密鑰本地才能夠順利訪問。編輯器

使用文本編輯器打開剛剛生成的公鑰(id_rsa.pub),在key部分將id_rsa.pub文件內容添加進去,而後點擊「Add SSH key」按鈕完成配置。字體

3. 同步到遠程倉庫

1) 使用git bash

在倉庫所在的目錄(D:\Develop\Git\git)點擊右鍵選擇Git Bash Here」,啓動git bash程序。

 

而後在git bash中執行以下語句(參考建立倉庫界面命令

git remote add origin  git@github.com:dengtianxiang/BigData.git

git push -u origin master

注意:其中紅色字體部分須要替換成我的的用戶名。

 

2)使用TortoiseGit同步

同步。在本地倉庫的文件夾中單擊右鍵,選擇Git同步」

 點擊推送

二. 從遠程倉庫克隆

克隆遠程倉庫也就是從遠程把倉庫複製一份到本地,克隆後會建立一個新的本地倉庫。選擇一個任意部署倉庫的目錄,而後克隆遠程倉庫。

1.使用git bash

$ git clone git@github.com:dengtianxiang/BigData.git

2. 使用TortoiseGit

在任意目錄點擊右鍵:

三. 從遠程倉庫取代碼

Git中從遠程的分支獲取最新的版本到本地有這樣2個命令:

  1. git fetch:至關因而從遠程獲取最新版本到本地,不會自動merge(合併代碼)
  2. git pull:至關因而從遠程獲取最新版本並merge到本地

上述命令其實至關於git fetch git merge

在實際使用中,git fetch更安全一些,由於在merge前,咱們能夠查看更新狀況,而後再決定是否合併。

若是使用TortoiseGit的話能夠從右鍵菜單中點擊「拉取」(pull)或者「獲取」(fetch

四. 搭建私有Git服務器

1. 服務器搭建

  遠程倉庫實際上和本地倉庫沒啥不一樣,純粹爲了7x24小時開機並交換你們的修改。GitHub就是一個免費託管開源代碼的遠程倉庫。可是對於某些視源代碼如生命的商業公司來講,既不想公開源代碼,又捨不得給GitHub交保護費,那就只能本身搭建一臺Git服務器做爲私有倉庫使用。

Git下載地址:https://mirrors.edge.kernel.org/pub/software/scm/git/

搭建Git服務器須要準備一臺運行Linux的機器,在此咱們使用CentOS。如下爲安裝步驟:

1、安裝git服務環境準備

yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc

2、下載git-2.9.5.tar.gz

1tar -zxf git-2.9.5.tar.gz

2cd git-2.9.5

3autoconf

4./configure

5make

6make install

3、添加用戶

useradd git

4、設置/home/git文件夾操做權限

chown git:git /home/git

5、設置密碼

passwd git

輸入兩次密碼,密碼git

6、切換到git用戶

su git

7、建立git倉庫

git --bare init /home/git/mygit

注意:若是不使用--bare」參數,初始化倉庫後,提交master分支時報錯。這是因爲git默認拒絕了push操做,須要.git/config添加以下代碼:

[receive]

      denyCurrentBranch = ignore

推薦使用:git --bare init初始化倉庫。

2. 鏈接服務器

  私有git服務器搭建完成後就能夠向鏈接github同樣鏈接使用了,可是咱們的git服務器並無配置密鑰登陸,因此每次鏈接時須要輸入密碼。

使用命令鏈接:

$ git remote add origin ssh://git@192.168.100.21/home/git/mygit

同步

$ git push -u origin master

這種形式和剛纔使用的形式好像不同,前面有ssh://前綴,也能夠這樣寫:

$ git remote add origin git@192.168.100.21:first

使用TortoiseGit同步的話參考上面的使用方法。

相關文章
相關標籤/搜索