Git学习(一)git服务器的简易搭建

来源:互联网 发布:电脑学打字软件 编辑:程序博客网 时间:2024/04/30 00:44

Git学习(一)git服务器的简易搭建

使用环境:docker容器模拟的3ubuntu14.04的系统

分别模拟了3个系统:

Ubuntu_gitserver:14.04  用于git服务器的安装

Ubuntu_git1:14.04   用于模拟git客户端

Ubuntu_git2:14.04   用于模拟git客户端

这里可以忽略该docker环境,相当于用了3台虚拟机作为研究环境

 

该文章主要介绍小团队,基于用户的git服务器的搭建

 

一、Ubuntu_gitserver:14.04中安装git服务端环境

1、首先需要在Ubuntu_gitserver:14.04上安装openssh服务端,这里我们将服务端和客户端都同时安装:

sudo apt-get install openssh-server openssh-client

2、安装git环境,作为服务端的git服务器(git作为一个代码管理工具,既可以作为服务端也可以作为客户端管理本地代码仓库)

sudo apt-get install git

3、创建一个git用户

adduser  git

4、进入home目录创建一个目录用于存放仓库

cd  /home

mkdir git_pro

5、修改目录的所属组为git

chown git:git /home/git_pro

6、修改目录的操作权限为所有者和所属组的人为读、写、执行:

chmod -R 774 /home/git_pro

7、创建一个仓库,并初始化仓库(注意仓库必须以.git结尾,这与客户端在加入git中的项目先目录里有个.git文件是一个道理;.git实际上就是客户端的本地仓库)

mkdir  project.git

cd  project.git

8、初始化仓库:

git init --bare

这样就在服务端创建好了一个可以使用的git仓库了,为了能在客户端将本地仓库推送到服务端,我们确保ssh服务是开启的:

ps -A | grep ssh

如果没有开启,则执行:

/etc/init.d/ssh start

来开启服务

 

二、Ubuntu_git1:14.04中安装客户端git环境

1、同服务端的

2、切换到git用户,并进入到该用户的home目录:

su  git

cd ~

3、从服务端clone仓库

git clone git@server:/home/git/git_pro/project.git

这里的格式为:【git clone 用户名@服务器地址:仓库路径】

4创建一个文件

touch readme.txt

向文件里添加内容略...

4、将该文件添加到本地git库中:

git add readme.txt

5、提交该文件:

git commit -m first commit

如果commit是出现了这样的提示:

*** Please tell me who you are.

 

Run

 

  git config --global user.email "you@example.com"

  git config --global user.name "Your Name"

 

to set your account's default identity.

Omit --global to set the identity only in this repository.

 

fatal: empty ident name (for <git@bd10de490d9f.(none)>) not allowed

则按照说明,在这里我执行以下命令:

git config --global user.email "git@example.com"

git config --global user.name "git"

6、推送到远程仓库master

git push origin master

在这里成功将本地文件推送到了远程服务,我们就可以通过正常流程上传和下拉代码了(当然可能出现ssh的其他报错,上网查询即可,比如我遇到的:The autoenticity of host cant be established错误)

 

如果要添加一个用户也能clonepushpull代码,例如我们在服务端创建一个git1的用户,把他加入到git组里,那么他也就有了权限进行代码的读写了,下面来做这样一个实验:

 

三、Ubuntu_git2:14.04克隆服务端的代码

1、首先服务点创建一个git2的用户,并添加到git用户组里(代码略)

2、在Ubuntu_git2:14.04这个虚拟机中也创建一个git2的用户,并切换到该用户进入用户主目录

adduser git2

su git2

cd ~

3从服务端克隆该git_pro项目:

git clone git2@server:/home/git/git_pro/project.git

这里的格式为:【git clone 用户名@服务器地址:仓库路径】

注意:两个客户端再pull代码的时候指明分支,否则可能会出错:

There is no tracking information for the current branch.

Please specify which branch you want to merge with.

See git-pull(1) for details

 

    git pull <remote> <branch>

 

If you wish to set tracking information for this branch you can do so with:

 

git branch --set-upstream-to=origin/<branch> master

使用这个即可:

git pull origin master

这样就成功克隆下来了项目,接下来我们就可以编辑文件提交上传,并下拉代码了。到此整个环境搭建完成,如果有新用户加入,那么就在服务端创建一个用户,并将它加入到git用户组即可,这样就可以在客户端通过ssh下拉、上传代码了。

但是团队人数增加之后,就比较麻烦,在后面的文章,我将会介绍,服务端只创建一个git用户,所有的用户都通过这一个git用户来下拉上传代码,这里将会用到ssh-key的方法(创建ssh-keyssh-keygen -t rsa),后面的文章再介绍。

 

 


0 0
原创粉丝点击