服务器上建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需要创建索引)

3VCKW78H$ 2Z~3TI 1D X3

8CL9 C Z2D9~R9IADG~03TC

R87WP YY $ BJ3TH CMZV~P

创建成功后会在我们的根目录下出现一个.git文件夹,如果以后想去掉git版本控制的话,直接删掉这个文件夹就可以了,不像svn,每个文件夹下都有.svn,删除麻烦。

C4J 2X`4H9 WY4$ JQ 2N

创建成功后我们需要进行一次提交

0K070NW G3 ~674JRV 2$NK

NewImage

~ZPU`QSRKGK `DFOJSFTQ7

接下来我们要配置,让我们的代码可以传到远程git仓库上去。

打开本地.git目录下的config文件,添加如下代码段

[remote "origin"]
    url = ssh://[用户名]@[域名、地址]:[端口]/[仓库硬盘目录]/[项目名].git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

NewImage

6CH7 J0 0UFUV L Z8OO

现在可以开始同步了,右键代码根目录,点击Git Sync...

63 I$ICMEV Q B7YTC S5I

P7M3DU2ZC3G4NEJ7ONW7 A

成功。最后是我实际上传的一张图,可以看出git在传输上是压缩的。

7W~ SAY6E MFAFQCP SJWEX

以上是关于服务器上建Git仓库的主要内容,如果未能解决你的问题,请参考以下文章

看图说话之已有的代码文件夹加入到git仓库

Git很麻烦?只要掌握这几个命令,轻松将代码提交远程仓库

怎么在gitlab上面创建远程仓库

关于markdown文件插入图片遇到的小问题和解决办法

git 远程仓库clone问题

配置git连接远程码云仓库,并且码云仓库代码部署到服务器