一、引言
1、最開始的時候,我本地項目連接的是github遠程倉庫,現在要轉到公司的私人遠程倉庫。
2、我和大家說兩個事:
(1)本地項目連接github遠程倉庫,
(2)本地項目連接私人遠程倉庫,
二、具體實施
1、本地項目鏈接github遠程倉庫(大家知道的,可以跳過這個步驟)
(1)首先應該是安裝git,這個不多說,不會的自行百度的,安裝gitbash客戶端,
(2)第二步在本地建立一個本地倉庫,我建立的路徑是: D:/data/lender_v0.1,大家可以隨便選一個文件(最好不要有中文,或者空格的,避免出現一些蛋疼的問題), 打開gitbash,到本地倉庫的路徑下,輸入 : git init ,成功之后所在的目錄下面會出現 .git文件。里面會存放我們的分支和版本。其實這就是我們的本地庫。
git init
(3)第三步,創建git 用戶名 郵箱,在gitbash中輸入:
git config user.name "xiaochao"
git config user.email '188*******@163.com'
(4)第四步,生成sshkey與github關聯 在gitbash下輸入:(填寫git郵箱)
$ ssh-keygen -t rsa -C "188*******@163.com"
(5)第五步,與github關聯,生成的key在電腦的用戶下.ssh文件下, rsa_pub是公鑰,rsa是私鑰。把公鑰復制到github上(前提你得有github賬號)
如圖所示,添加sshkey。這樣就會和github關聯了。
(6)第六步,我們可以提交代碼了,
git add a.txt
git commit -a "提交了a.txt文件,修改了...內容"
git remote add origin git@github.com:xiaochao/lender.git
git push origin master
這里 git add 是提交到暫存區中,git commit是由暫存區提交到本地的倉庫,並沒有提交到遠程倉庫呢, git remote add origin .... 其中origin是你的遠程倉庫的名字(默認),后面的是你的github的地址。
通過以上步驟我們就可以和github關聯起來了。
2、下面我和大家說第二個事,本地倉庫鏈接私人倉庫
(1)首先我們需要創建一個私人倉庫。(我的是linux系統下創建的私人倉庫)安裝git
sudo apt-get install git-core
(2)git數據交互是基於ssh的,查看是否開啟了ssh服務,
ps -ef|grep "sshd"
開啟之后會顯示一些信息。如上圖所示。如果你能看到一些sshd相關的進程信息,則說明你已經有這個服務了,否則(或者你想更新的話),使用下面的命令安裝openssh。
sudo apt-get install openssh-server openssh-client
(3)為自己配置身份,創建用戶名和郵箱
git config --global user.name "xiaochao"
git config --global user.email "188******@163.com"
(4)我們配置一個git用戶和密碼專門對代碼進行管理。
sudo useradd -m git (創建用戶)
sudo passwd git (修改密碼)
(5)我們需要建立一個倉庫,
git --bare init 建立一個共享的倉庫,只能接受push/pull ,不能本地commit
(6)客戶端創建公鑰和私鑰,
$ ssh-keygen -t rsa -C "188*******@163.com"
(7)服務器端git打開RSA認證
進入/etc/ssh目錄,編輯sshd_config,把下面三個注釋打開。
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存,並重啟服務,
/etc/rc.d/init.d/sshd restart
由 AuthorizedKeysFile 得知公鑰的存放路徑是 .ssh/authorized_keys,實際上是 $Home/.ssh/authorized_keys,由於管理 Git 服務的用戶是 git,所以實際存放公鑰的路徑是 /home/git/.ssh/authorized_keys。因為我們創建了git用戶管理代碼,把.ssh的權限設置為git。用戶組也是git。
chown -R git:git .ssh
(8)將客戶端的公鑰導入服務器authorized_keys文件里,
cat rsa_pub >> .ssh/authorized_keys 追加到authorized_keys文件末尾。
輸入git的密碼:我們在(4)設置過git的密碼。
(9)修改.ssh的權限為700,修改.ssh/authorized_keys的權限為600,/home/work/權限為755,
(10)客戶端克隆項目
git clone git@10.10.*.*:/home/data/git/lender.git
(11)上傳本地項目到服務端。
git push
三、遇到的問題
一直讓我糾結的就是一直在提示輸入密碼,權限拒絕
經過仔細研究和請教大神,終於解決,其實就是需要密碼的,因為我們在第四步的時候設置過密碼,輸入密碼之后就會沒問題了,這個問題有點坑。
參考url:http://www.cnblogs.com/dee0912/p/5815267.html,
參考url:http://blog.csdn.net/xsl1990/article/details/25486211,
參考url:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000