Git(三)Git的远程仓库

一. 添加远程库

  如今咱们已经在本地建立了一个Git仓库,又想让其余人来协做开发,此时就能够把本地仓库同步到远程仓库,同时还增长了本地仓库的一个备份。经常使用的远程仓库就是githubhttps://github.com/,接下来咱们演示如何将本地代码同步到githubgit

1.在github上建立仓库

首先你得在github上建立一个帐号,而后在github上建立一个仓库:github

点击create repository”按钮仓库就建立成功了。windows

       Github支持两种同步方式“https”和“ssh”。若是使用https很简单基本不须要配置就可使用,可是每次提交代码和下载代码时都须要输入用户名和密码。并且若是是公司配置的私有git服务器通常不提供https方式访问,因此咱们着重说“ssh”方式。安全

2. ssh协议

1. 什么是ssh?

     SSH是英文Secure Shell的简写形式。经过使用SSH,你能够把全部传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,并且也可以防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是通过压缩的,因此能够加快传输的速度。SSH有不少功能,它既能够代替Telnet,又能够为FTPPop、甚至为PPP提供一个安全的"通道"bash

  若是一个用户从本地计算机,使用SSH协议登陆另外一台远程计算机,咱们就能够认为,这种登陆是安全的,即便被中途截获,密码也不会泄露。最先的时候,互联网通讯都是明文通讯,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登陆信息所有加密,成为互联网安全的一个基本解决方案,迅速在全世界得到推广,目前已经成为Linux系统的标准配置。服务器

2. ssh密钥生成

windows下咱们可使用 Git Bash.exe来生成密钥,能够经过开始菜单或者右键菜单打开Git Bash,git bash 执行命令,生命公钥和私钥,命令: ssh-keygen -t rsassh

执行命令完成后,window本地用户.ssh目录C:\Users\用户名\.ssh下面生成以下名称的公钥和私钥:curl

3.  ssh密钥配置

密钥生成后须要在github上配置密钥本地才能够顺利访问。编辑器

使用文本编辑器打开刚刚生成的公钥(id_rsa.pub),在key部分将id_rsa.pub文件内容添加进去,而后点击“Add SSH key”按钮完成配置。字体

3. 同步到远程仓库

1) 使用git bash

在仓库所在的目录(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同步”

 点击推送

二. 从远程仓库克隆

克隆远程仓库也就是从远程把仓库复制一份到本地,克隆后会建立一个新的本地仓库。选择一个任意部署仓库的目录,而后克隆远程仓库。

1.使用git bash

$ git clone git@github.com:dengtianxiang/BigData.git

2. 使用TortoiseGit

在任意目录点击右键:

三. 从远程仓库取代码

Git中从远程的分支获取最新的版本到本地有这样2个命令:

  1. git fetch:至关因而从远程获取最新版本到本地,不会自动merge(合并代码)
  2. git pull:至关因而从远程获取最新版本并merge到本地

上述命令其实至关于git fetch git merge

在实际使用中,git fetch更安全一些,由于在merge前,咱们能够查看更新状况,而后再决定是否合并。

若是使用TortoiseGit的话能够从右键菜单中点击“拉取”(pull)或者“获取”(fetch

四. 搭建私有Git服务器

1. 服务器搭建

  远程仓库实际上和本地仓库没啥不一样,纯粹为了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

1tar -zxf git-2.9.5.tar.gz

2cd git-2.9.5

3autoconf

4./configure

5make

6make 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初始化仓库。

2. 链接服务器

  私有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同步的话参考上面的使用方法。

相关文章
相关标签/搜索