CentOs部署Git以及客户端使用Git

Git与Svn相比的优势

  • Git最大的优势是:比起Svn这种中央集权的版本控制系统(没了服务器历史记录都没有了),Git是分布式版本控制系统,没了服务器,自己本地也能查看历史记录,分支操作等;还可以在本地随意更改代码,避免污染服务器;服务器启动不了的时候,客户端离线可以继续工作。
  • Git分支操作比较容易,可以随便开分支做实验,跟别的互不相关,分支与分支之间的切换也非常简单。
  • Git绝对不会有被lock了不能commit的情况出现。
  • Git比Svn快,操作更流畅。
  • 等等。

CentOs部署Git

CentOs部署Git非常简单。

  1. 安装Git
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git

创建一个gitadmin用户组合用户名,用来运行git服务

$ groupadd gitadmin
$ adduser gitadmin -g gitadmin
  1. 创建管理公钥的文件
$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
  1. 初始化Git仓库
    首先我们选定一个目录作为Git仓库,假定是/home/textanalysis,在/home/textanalysis目录下输入命令
$ cd /home
$ mkdir textanalysis
$ chown git:git textanalysis/
$ cd textanalysis
$ git init --bare textanalysis.git
Initialized empty Git repository in /home/textanalysis/textanalysis.git

以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为gitadmin:

$ chown -R git:git textanalysis.git

至此,服务器上的操作结束。

Windows端使用Git

  1. 下载安装Git。
  2. 打开Git Bash
    生成SSH公钥秘钥对
$ ssh-keygen -t rsa -C "[email protected]"
CentOs部署Git以及客户端使用Git_第1张图片
生成SSH公钥.jpg

过程中,有两点需要注意:①输入公钥存储的位置,如果不填写,可以直接回车,默认存储在/c/Users/../.ssh目录下;②输入passphrase,可以直接回车默认为空,如果设定passphrase,后面提交文件就需要输入这里的passphrase才能通过。
生成公钥完成,把公钥文件id_rsa.pub的内容拷贝到服务器端/home/gitadmin/.ssh/authorized_keys这个文件中,ok,至此可以开始访问服务器上的Git项目了。

  1. 克隆服务器上的项目
$ cd dir(项目在本地的存储位置)
$ git clone [email protected]:/home/textanalysis/textanalysis.git

----------------习惯使用git bash 敲命令进行工作的人不用进行下一步-------------------

  1. 下载安装TortoiseGit
    注意:安装过程中如下图这一步选择OpenSSH,免去后面的麻烦。
    CentOs部署Git以及客户端使用Git_第2张图片
    安装过程.png

    在本地项目目录右键可以看到TortoiseGit选项,可以在里面进行提交代码、切换分支等操作。

参考文献:
CentOsssh 公钥认证报错:Permission denied (publickey,gssapi-keyex,gssapi-with-mic).解决

你可能感兴趣的:(CentOs部署Git以及客户端使用Git)