linux上搭建git服务器之5(git服务器)
Posted 狂奔的CD
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux上搭建git服务器之5(git服务器)相关的知识,希望对你有一定的参考价值。
正文
参考 https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%8D%8F%E8%AE%AE
1 协议
1)本地协议
克隆一个本地版本库,可以执行如下的命令:
$ git clone /srv/git/project.git
或你可以执行这个命令:
$ git clone file:///srv/git/project.git
如果在 URL 开头明确的指定 file://,那么 Git 的行为会略有不同。 如果仅是指定路径,Git 会尝试使用硬链接(hard link)或直接复制所需要的文件。 如果指定 file://,Git 会触发平时用于网路传输资料的进程,那样传输效率会更低。
2)HTTP 协议
3)SSH 协议
通过 SSH 协议克隆版本库,你可以指定一个 ssh:// 的 URL:
$ git clone ssh://[user@]server/project.git
或者使用一个简短的 scp 式的写法:
$ git clone [user@]server:project.git
- Git 协议
2 建造一个基于ssh的git服务器
1)首先得有个本地仓库,参考前几节的内容,创建自己的本地仓库
#进入目标目录
cd xxx
#初始化仓库
git init
#创建ignore,并编辑要忽略的文件
sudo vim .gitignore
#添加追踪文件
git add xxxx
#提交
git commit -m '初始版本'
2) 导出裸仓库
需要把现有仓库导出为裸仓库——即一个不包含当前工作目录的仓库
git clone --bare ./ xxx.git
将本地项目 ./ 中的.git 导出为 xxx.git
- 把裸仓库放到服务器上
由于局域网内可以互相ssh,就把本机当作服务器,把xxx.git存放到git专用目录下
/srv/git/xxx.git
sudo mkdir /srv/git
sudo mv -if xxx.git /srv/git
这样远程仓库就有了,原来的项目可以废掉了。
4)从远程仓库下载到本地
git clone xxx@localhost:/srv/git/xxx.git
就哦了
ps: 作为python 项目 , pycharm直接有对git的可视化支持,好用的不要不要的。
3 远程仓库更新
push 提交到远程仓库
pull 拉取远程仓库并合并
fetch 拉取远程仓库
reset 将本地仓库回滚到某次提交 ,–hard将删除该次提交后面的所有提交
revert 还原某次提交,(如果一不小心将错误提交到远程仓库,通过该手段,先将本地仓库revert,然后再次push即可)
以上是关于linux上搭建git服务器之5(git服务器)的主要内容,如果未能解决你的问题,请参考以下文章