服务器上建Git仓库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器上建Git仓库相关的知识,希望对你有一定的参考价值。
参考技术A $ apt-get install git$ sudo adduser git
收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
如果没有该文件创建它:
首先我们选定一个目录作为Git仓库,假定是/home/gitlab/runoob.git,在/home/gitlab目录下输入命令:
一定要将初始化的仓库给Git
$ chown -R git:git probject.git
$ git clone git@<ip>:/home/gitlab/probject.git
然后就可以推送了
出于安全考虑,创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
看图说话之已有的代码文件夹加入到git仓库
最近几个同事的硬盘连续损坏,丢失了不少数据,想想自己硬盘上那么多代码如果突然哪一天找不到了,那岂不是哭了。
仅仅简单的备份引发了一系列的折腾,就想在自己家的nas上建一个git服务器,既可以备份又可以实现版本控制。
我使用的是Git for windows + TortoiseGit
首先,在要加入git仓库的代码根目录上点右键,创建本地git库(如果代码很多的话需要等待一段时间,git需要创建索引)
创建成功后会在我们的根目录下出现一个.git文件夹,如果以后想去掉git版本控制的话,直接删掉这个文件夹就可以了,不像svn,每个文件夹下都有.svn,删除麻烦。
创建成功后我们需要进行一次提交
接下来我们要配置,让我们的代码可以传到远程git仓库上去。
打开本地.git目录下的config文件,添加如下代码段
[remote "origin"] url = ssh://[用户名]@[域名、地址]:[端口]/[仓库硬盘目录]/[项目名].git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
现在可以开始同步了,右键代码根目录,点击Git Sync...
成功。最后是我实际上传的一张图,可以看出git在传输上是压缩的。
以上是关于服务器上建Git仓库的主要内容,如果未能解决你的问题,请参考以下文章