一、引言

  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

git本地项目连接私人远程仓库以及遇到的问题的更多相关文章

  1. git 本地项目推到远程仓库

    …or create a new repository on the command line echo "# blog" >> README.mdgit initgi ...

  2. 【开发工具 - Git】之本地项目托管到远程仓库

    这里所说的“本地项目托管到远程仓库”,说的是:例如,我们在本地有一个写了很长时间的项目,现在想要托管到GitHub或码云上进行版本控制. 这个过程大致需要以下几个步骤: (1)在本地初始化Git项目本 ...

  3. Git——如何将本地项目提交至远程仓库

    参考文章:http://blog.csdn.net/dadaxiongdebaobao/article/details/52081826   git 将一个本地文件目录提交到远程仓库的步骤 参考文章: ...

  4. git 将本地项目关联到远程仓库

    初始化 在本地需要关联到远程仓库的项目根目录下执行 git init 然后关联远程仓库 [project].你需要存在一个远程仓库,名字随意,然后执行下面的命令(去掉中括号)就可以关联到该仓库. gi ...

  5. git本地项目上传远程

    Git的安装就不说了. 原文:https://blog.csdn.net/zamamiro/article/details/70172900 github官网说明: …or create a new ...

  6. Git:将本地项目连接到远程(github、gitee、gitlab)仓库流程

    当进行协同开发或者为了代码安全备份需要,一般都会将本地代码和远程仓库相连接. 备注:Github.Gitee.Gitlab是三个常用的远程git仓库,操作流程基本一致. 提前环境要求: 1.node. ...

  7. 将项目连接到远程仓库git

    方式一: git clone "git中的项目地址",此时会生成一个新的项目2.该步骤用于生成一个本地仓库 将需要提交的所有文件除了node_module.git以及输出文件dis ...

  8. Git——如何将本地项目提交至远程仓库(第一次)

    1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库. git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数 ...

  9. 【转】 Git——如何将本地项目提交至远程仓库

    1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点 ...

随机推荐

  1. PowerBI开发 第十六篇:PowerBI Service基本概念

    从总体上来看,PowerBI Service 有4个主要的构建模块,分别是dashboards.reports.workbooks 和 datasets,这四个模块都是目录,位于workspaces目 ...

  2. Docker安装ElasticSearch 以及使用LogStash实现索引库和数据库同步

    1:下载 ElasticSearch 镜像 docker pull docker.io/elasticsearch:5.6.8 2:创建 ElasticSearch 容器: 注意:5.0默认分配jvm ...

  3. 第七章 文件与I/O(4)

    文件共享 打开文件内核数据结构 一个进程两次打开同一个文件 一个进程能打开1024个文件描述符,没打开一个文件,内核会生成一个文件表,文件表中的v节点指针指向v节点表,v节点部分信息就是stat函数返 ...

  4. 学习笔记50_mongodb

    MongoVUE,MongoDB可视化客户端: 添加一个连接: 数据库下就是集合. 实际上是json数据的集合 Mongodb->数据库->文档集合:相当于表->文档:相当于表里面的 ...

  5. [Nginx]Ubuntu18.04 安装配置Nginx1.13.6+FastDFS

    一. 安装fastdfs依赖包 1. 解压缩libfastcommon-master.zip 2. 进入到libfastcommon-master的目录中 3. 执行 ./make.sh 4. 执行 ...

  6. JavaSE语法

    二.JavaSE语法(上) 1.Java 有没有 goto 语句? goto 是 Java 中的保留字,在目前版本的 Java 中没有使用.根据 James Gosling(Java 之父)编写的&l ...

  7. java.io.StreamCorruptedException: invalid stream header: 00000000

    Caused by: java.io.StreamCorruptedException: invalid stream header: 00000000 at java.io.ObjectInputS ...

  8. python中实例方法,类方法,静态方法简单理解

    按照字面名称来理解的话: 实例方法就是实例化对象的方法,绑定在实例对象上 类方法就是类自己的方法,不需要实例化对象,类自己就是对象,直接绑定在类上 静态方法就是普通的函数,函数作为对象,不过是封装在类 ...

  9. PHP str_replace的用法

    PHP str_replace的用法 1 替换单个字符<pre><?phpecho str_replace("world","Shanghai" ...

  10. docker初解

    1 什么是容器 容器就是在隔离的环境中运行的一个进程,如果进程停止,容器就会退出. 隔离的环境拥有自己的系统文件,ip地址,主机名等 容器是一种软件打包技术 程序:代码,命令进程:正在运行的程序容器的 ...