Git服务器搭建
发布时间:2021-10-15 06:01:13浏览次数:
Git
服务器搭建全过程分步详解
2015-07-08 09:57
杰瑞教育
字号:
T
|
T
如果省略本地分子名,则表示要删除远程主机中分支,如
git push origin : master,
则表
示删除
origin
主机中
master
分支
.
AD
:
51CTO
网
+
首届中国
APP
创新评选大赛火热招募中……
GitHub
是一个免费托管开源代码的
Git
服务器,如果我们不想公开项目的源代码,又
不想付费使用,那么我们可以自己搭建一台
Git
服务器。
下面我们就看看,
如何在
Ubuntu
上搭建
Git
服务器。
我们使用
VMware
虚拟机安装两台
Ubantu
系统,分别命名为
gitServer
和
gitClient_01
。
1
、安装
OpenSSH
并配置
SSH
无密码登陆
通过命令
sudo apt-get install openssh-server,
安装
SSH
服务。
通过命令
ps
–
e|grep ssh,
查看
ssh
服务是否启动。
通过以上命令,我们为
Ubantu
系统安装
SSH
服务,并配置
SSH
无密码登陆,首先我们
修改主机和
ip
配置文件:
gedit /ect/hosts
2
、创建用户
git
,用来管理运行
git
服务。
3
、配置无密码
SSH
登陆
在
gitClient_01
上,我们使用命令:
ssh-keygen
–
t rsa
生成密钥,如下图
完成之后,在
.ssh
目录下,我们可以看到
id_rsa
和
id_rsa.pub
文件,
id_rsa.pub
为
公钥,我们
通过命令
scp /home/git/.ssh/id_rsa.pub gitServer:/home/git
将
gitClient_01
上生成的公钥拷贝到
gitServer
上。
在
gitServer
上我们首先查看
/home/git/.ssh
目录下是否存在
authorized_kesys
文
件,
如果没有,可以通过
touch authorized_keys
创建此文件。
Authorized_keys
创建完成后,
将
gitClient_01
上拷贝过来的公钥
id_rsa.pub
的内容
追
加到
authroized_keys
中,注意是追加到此文件中,可以使用命令
cat
/home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.
以上内容完成后,我们在
gitClient_01
中,可以使用命令
ssh gitServer
即可完成无
密码登陆。
4
、安装
Git
通过命令
sudo apt-get install git-core,
安装
git
5
、建立
git
仓库的存储目录。
6
、初始化服务器端仓库
使用命令
git
–
bare init /home/git/myRep.git,
初始化化仓库
7
、在
gitClient_01
上,通过
git clone
命令进行克隆远程仓库,并在各自的电脑上
运行开发。
Git clone
git@gitServer:/home/git/myRep.git
通过以上的步骤我们就完成了
git
服务器的搭建,完成搭建后,我们需要了解一下与
git
服务器交互过程中所用到命令。主要命令有
git clone
、
git remote
、
git fetch
、
git
pull
、
git push
等,下面我们逐一了解
1
、
git clone
此命令是我们和远程仓库交互的第一步,
通过此命令,
我们可以将远程版本库克隆到本
地,如上面第
7
步我们就使用了此命令,将远程库克隆道了本地。
语法:
git clone
版本库的网址
本地库名称
本地库名称可以省略,省略后在本地会生成一个和远程版本库名字相同的目录。
2
、
git remote
此命令用于管理远程主机名,此命令在没有参数的情况下可以列出所有主机名。
显示
origin
是在使用
clone
命令,克隆远程版本库时
Git
自动为远程主机命名。
通过命令
git remote
–
v
,可查看版本库的网址。
3
、
git fetch
此命令可以将远程版本库的更新,更新到本地库。
语法:
git fetch
主机名字
在默认情况下,
git fetch origin
将会更新远程主机
origin
上的所有分支,如果只想
更新某个分支,则在主机名
origin
后面加分支名。
语法:
git fetch origin master
4
、
git push
此命令用于将本地分支的更新推送到远程主机。
语法:
git push
远程主机名
本地分支名:远程分支名
如果省略远程分支名,
则表示将本地分支推送与存在最终关系的远程分支,
如果远程分
支不存在,则会被新建。
如:
git push origin master,
表示将本地
master
分支推送到
origin
主机的
master
分支上。
下一篇:服务器和工作站有哪些不同?