一:添加远程库
1、为什么要用远程仓库
现在我们已经在本地创建了一个Git仓库,又想让其他人来协作开发,此时就可以把本地仓库同步到远程仓库,同时还增加了本地仓库的一个备份。
常用的远程仓库就是github: https://github.com/2、在github上创建仓库
2、SSH协议
(1)、Github支持两种同步方式“https”和“ssh”。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。而且如果是公司配置的私有git服务器一般不提供hppts方式访问。
(2)、ssh协议图解
SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。
如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
3、生成密钥
(1)、桌面打开git命令行,输入生成命令
$ ssh-keygen -t rsa
(2)、一直点击回车即可
(3)、在 C 盘下已经生成密钥文件
注意:私钥不可随意泄漏,公钥随意传播
(4)、在github上配置公钥
4、同步到远程仓库
(1)、进入本地仓库,执行命令连接远程仓库
git remote add origin git@github.com:wingzhe813/Repository.git
(2)、将本地仓库中的代码推送到远程仓库
git push -u origin master
(3)、使用客户端工具将代码同步到远程仓库
二:从远程仓库克隆
1、使用客户端克隆
2、使用命令行进行克隆
$ git clone git@github.com:wingzhe813/Repository.git
三:从远程仓库取代码
四:搭建私有git服务器
1、为什么搭建私有git服务器:
远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。
2、搭建服务器:
搭建Git服务器需要准备一台运行Linux的机器,在此我们使用CentOS。以下为安装步骤:
(1)、安装git运行需要的gcc以及第三方开发包
[root@wingzhe ~]# yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
(2)、创建git目录
[root@localhost local]# mkdir git
(3)、上传git的压缩包
[root@localhost local]# cd git/
[root@localhost git]# ll
total 0
[root@localhost git]# rz -be
(4)、解压压缩包
[root@localhost git]# tar -zxvf git-2.5.0.tar.gz
(5)、进入git目录,执行编译命令
注意:git的编译路径和安装路径都必须是 /usr/local
[root@wingzhe git-2.9.3]# make prefix=/usr/local/ all
(6)、执行安装命令
[root@wingzhe git-2.9.3]# make prefix=/usr/local/ install
(7)、查看git版本
[root@localhost git-2.5.0]# git --version
五:创建远程访问git服务器的帐号
1、创建名为 git1 的用户
[root@localhost git-2.5.0]# adduser -r -s /bin/sh -c 'git version control' -d /home/git git1
2、在home下创建一个 git 目录
[root@localhost home]# mkdir git
3、变更 git 目录的所有者为git1(当前为root用户)
[root@localhost home]# chown git1:git1 /home/git/
4、给git1用户创建密码
[root@localhost home]# passwd git1
六:创建远程仓库
1、切换到 git1用户,进入git文件夹,创建文件夹
[root@localhost home]# su git1
sh-4.1$ cd ~
sh-4.1$ pwd
/home/git
sh-4.1$ ls
sh-4.1$ mkdir firstgit
sh-4.1$ ls
2、进入文件夹,初始化本地仓库
-- bare 的作用是文件夹中只有有仓库,没有工作目录,相当于如下图形式
sh-4.1$ git init --bare
七、使用私有仓库推送和克隆
1、私有git服务器搭建完成后就可以向连接github一样连接使用了,但是我们的git服务器并没有配置密钥登录,所以每次连接时需要输入密码。
使用命令连接:
$ git remote add originssh://git@192.168.200.134/home/git/firstgit
这种形式和刚才使用的形式好像不一样,前面有ssh://前缀,好吧你也可以这样写:
$ git remote add origingit@192.168.200.134:firstgit
2、添加私有仓库设置