git本地項目連接私人遠程倉庫以及遇到的問題


一、引言

  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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM