搭建git的局域网服务器

21 篇文章 0 订阅

一、准备环境

linux服务器主机选择ubuntu系统,上面需要有ssh服务器,最好有一个专门的账户来管理git的仓库。

(1)安装ssh

 sudo apt-get install openssh-server

查看是否安装成功.

 ps -ef|grep sshd
如果有sshd的进程,表示ssh服务打开。
(2) 建立git账户

adduser gitserver

这里用户名就是git服务器的用户名,密码以后为服务器的密码

su gitserver
cd
mkdir projects
git --bare init
切换到gitserver的目录下,建立用于管理git仓库的目录projects。

二、建立本地仓库

在ubuntu其他账户上,建立测试目录~/hello_git,下面有一个文件hello.cpp,内容如下:

#include <iostream>
using namespace std;
int main()
{
	cout<<"hello git first init."<<endl;
	return 1;
}

切换到hello_git目录下,执行git的初始化命令。

cd ~/hello_git
git init
git add .
git config user.email "dong_beijing@csdn.com"
git config user.name "dong_beijing"
git commit -m 'first init commit '
介绍一下指令init建立本地仓库,add. 添加当前目录所有文件到本地仓库,config设置用户名和邮箱, commit提交到本地仓库,-m后面为注释。

commit之后,git就产生了第一条日志,输入git log命令可见

git log
commit 031b797a43e46f26d21acf13d39cd3690cdb88e7
Author: dzy <dong_beijing@csdn.com>
Date:   Thu Sep 21 13:50:08 2017 +0800

    first init commit

三、建立服务器仓库


执行指令:

git remote add origin gitserver@192.168.1.198:/home/gitserver/projects

其中192.168.1.198为步骤一的git服务器的ip,/home/gitserver/projects为步骤一建立的目录。

输入-v指令,可见fetch和push已建立好。

git remote -v
origin	gitserver@192.168.1.198:/home/gitserver/projects (fetch)
origin	gitserver@192.168.1.198:/home/gitserver/projects (push)

把本地仓库推送到远端服务器。

git push origin master
提示输入密码password,输入步骤一中gitserver账户设置的密码,完成后提示:

To 192.168.1.198:/home/gitserver/projects
 * [new branch]      master -> master

四、用户使用git仓库

组里成员用eclipse比较多,以eclipse与shell一起做介绍。

用户场景:

(1)eclipse用户连接git服务器,并进行更新,提交到本地与远端仓库;

(2)shell用户获取eclipse的更新。

(1)的步骤介绍:

eclipse用git服务器clone代码,


选择clone uri,


设置ssh的连接如下:


建立好eclipse的本地仓库如下:


将eclipse本地的branch和git服务器的branch进行merge

merge的配置,可选为eclipse的默认配置。


在working directory下,已有hello.cpp,进行测试更改,如下:

#include <iostream>
using namespace std;
int main()
{
    cout<<"hello git first init."<<endl;
    cout<<"git first update"<<endl;
	return 1;
}
增加一行cout,对eclipse本地进行commit,更新本地仓库,再选择push,更新git服务器的仓库,要求输入密码,为git服务器的gitserver账户的密码


完成步骤(1)。

步骤(2)的介绍:

在二步骤中的ubuntu的账户下,

cd ~/hello_git
git pull origin master

完成shell用户的代码更新。

输入git log可见update

 git log
commit 035d94604c9a350b4b4dbb187c735807702e691e
Author: dzy <dzy@206.com>
Date:   Thu Sep 21 14:03:43 2017 +0800

    update

commit 031b797a43e46f26d21acf13d39cd3690cdb88e7
Author: dzy <dong_beijing@csdn.com>
Date:   Thu Sep 21 13:50:08 2017 +0800

    first init commit

附:

git的一些有用的指令:

mergetool 处理冲突

branch 处理分支,可与checkout配合

status查看状态

add的指令,基本都有对应的remove指令。

fetch+merge =pull指令,

即git pull origin master,

可以改为 git fetch origin,然后git diff remotes/origin/master,然后git merge remotes/origin/master

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值