局域网分布式版本控制 - awokezhou/LinuxPage GitHub Wiki

概述

本文记录一种使用git搭建局域网内分布式版本控制系统的方法

创建中央仓库

虽然git是分布式仓储系统,但是工作时最好存在一台中央仓库,这样更新文件比较方便,逻辑清晰

创建中央仓库有两种方式,一种是直接新建一个空的中央仓库core,另一种是从本地或者远程拷贝一个项目作为中央仓库

创建一个空的中央仓库

创建一个空的中央仓库,首先创建一个文件夹

mkdir project-core.git
cd project-core.git

进入文件夹后,以参数--bare创建中央仓库

git --bare init

这个仓库只有版本控制功能,即只存放了内容的差异,而没有实际的文件内容,其他工作仓库的修改都统一提交到这个仓库,从这个仓库获取差异并更新到本地

向中央仓库提交修改

如果在中央仓库所在计算机的另一个路径下,想要把工作仓库的代码更新到中央仓库,首先要将工作仓库的远程分支设置为中央仓库

cd workspace1
git remote add origin ../xxx/../project-core.git

然后在工作仓库做了修改以后,先将修改提交到本地的主分支master上

git add yyy_file
git commit -m "zzz"

最后将修改提交到中央仓库

git push origin master

从中央仓库获得更新

如果中央仓库已经建立,并且已经有人员A向中央仓库提交了修改,此时另一个人员B想要获取中央仓库的修改,同样要先将远程仓库设置为中央仓库,然后使用如下命令更新到本地master

git pull origin master

如果B不确定是否将中央仓库的修改更新到本地,而是想要先看看中央仓库做了哪些修改,使用如下命令

git fetch origin
git diff origin/master

以clone方式创建中央仓库

使用如下命令,直接将某个本地或者远程仓库clone为一个中央仓库

git clone --bare "dir"

域名创建

git config --global user.name "xxxxx"
git config --global user.email "[email protected]"