zoukankan      html  css  js  c++  java
  • Git(三)Git的远程仓库

    一. 添加远程库

      现在我们已经在本地创建了一个Git仓库,又想让其他人来协作开发,此时就可以把本地仓库同步到远程仓库,同时还增加了本地仓库的一个备份。常用的远程仓库就是githubhttps://github.com/,接下来我们演示如何将本地代码同步到github

    1.在github上创建仓库

    首先你得在github上创建一个账号,然后在github上创建一个仓库:

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

           Github支持两种同步方式“https”和“ssh”。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。而且如果是公司配置的私有git服务器一般不提供https方式访问,所以我们着重说“ssh”方式。

    2. ssh协议

    1. 什么是ssh?

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

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

    2. ssh密钥生成

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

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

    3. ssh密钥配置

    密钥生成后需要在github上配置密钥本地才可以顺利访问。

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

    3. 同步到远程仓库

    1) 使用git bash

    在仓库所在的目录(D:DevelopGitgit)点击右键选择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同步的话参考上面的使用方法。

  • 相关阅读:
    文件输入输出的管理以及管道的使用
    文件权限的管理以及acl权限列表
    安装配置Linux Squid代理服务器
    安全强化机制——SELinux
    存储系统管理(二)——Linux系统的swap分区、磁盘加密、磁盘阵列
    存储系统管理(三)——磁盘配额及lvm逻辑卷管理
    存储系统管理(一)——Linux系统的设备和分区管理
    core--线程同步
    Debian字符模式下修改显示分辨率
    core--作业
  • 原文地址:https://www.cnblogs.com/frankdeng/p/9627867.html
Copyright © 2011-2022 走看看