如今咱們已經在本地建立了一個Git倉庫,又想讓其餘人來協做開發,此時就能夠把本地倉庫同步到遠程倉庫,同時還增長了本地倉庫的一個備份。經常使用的遠程倉庫就是github:https://github.com/,接下來咱們演示如何將本地代碼同步到github。git
首先你得在github上建立一個帳號,而後在github上建立一個倉庫:github
點擊「create repository」按鈕倉庫就建立成功了。windows
Github支持兩種同步方式「https」和「ssh」。若是使用https很簡單基本不須要配置就可使用,可是每次提交代碼和下載代碼時都須要輸入用戶名和密碼。並且若是是公司配置的私有git服務器通常不提供https方式訪問,因此咱們着重說「ssh」方式。安全
SSH是英文Secure Shell的簡寫形式。經過使用SSH,你能夠把全部傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,並且也可以防止DNS欺騙和IP欺騙。使用SSH,還有一個額外的好處就是傳輸的數據是通過壓縮的,因此能夠加快傳輸的速度。SSH有不少功能,它既能夠代替Telnet,又能夠爲FTP、Pop、甚至爲PPP提供一個安全的"通道"。bash
若是一個用戶從本地計算機,使用SSH協議登陸另外一臺遠程計算機,咱們就能夠認爲,這種登陸是安全的,即便被中途截獲,密碼也不會泄露。最先的時候,互聯網通訊都是明文通訊,一旦被截獲,內容就暴露無疑。1995年,芬蘭學者Tatu Ylonen設計了SSH協議,將登陸信息所有加密,成爲互聯網安全的一個基本解決方案,迅速在全世界得到推廣,目前已經成爲Linux系統的標準配置。服務器
在windows下咱們可使用 Git Bash.exe來生成密鑰,能夠經過開始菜單或者右鍵菜單打開Git Bash,git bash 執行命令,生命公鑰和私鑰,命令: ssh-keygen -t rsassh
執行命令完成後,在window本地用戶.ssh目錄C:\Users\用戶名\.ssh下面生成以下名稱的公鑰和私鑰:curl
密鑰生成後須要在github上配置密鑰本地才能夠順利訪問。編輯器
使用文本編輯器打開剛剛生成的公鑰(id_rsa.pub),在key部分將id_rsa.pub文件內容添加進去,而後點擊「Add SSH key」按鈕完成配置。字體
在倉庫所在的目錄(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同步」
點擊推送
克隆遠程倉庫也就是從遠程把倉庫複製一份到本地,克隆後會建立一個新的本地倉庫。選擇一個任意部署倉庫的目錄,而後克隆遠程倉庫。
$ git clone git@github.com:dengtianxiang/BigData.git
在任意目錄點擊右鍵:
Git中從遠程的分支獲取最新的版本到本地有這樣2個命令:
上述命令其實至關於git fetch 和 git merge
在實際使用中,git fetch更安全一些,由於在merge前,咱們能夠查看更新狀況,而後再決定是否合併。
若是使用TortoiseGit的話能夠從右鍵菜單中點擊「拉取」(pull)或者「獲取」(fetch)
遠程倉庫實際上和本地倉庫沒啥不一樣,純粹爲了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
1)tar -zxf git-2.9.5.tar.gz
2)cd git-2.9.5
3)autoconf
4)./configure
5)make
6)make 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初始化倉庫。
私有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同步的話參考上面的使用方法。