日常 使用自己的服务器来搭建git仓库 2023年3月4日 / 平常自己会随便写一些乱七八糟的东西,。。这些代码总要有个地方存放,或者当个网盘用也是不错的选择。所以在自己服务器上搭建一个git仓库,那么下面开始吧~ 服务器端配置首先第一步,要确保服务器上有git1、安装:yum -y install git2、查看是否安装成功 git –version 第二步,为git创建账户adduser gitpassed git 这一步会为git创建密码,连续两次输入一样的就可以创建完成后可以输入以下命令查看是否成功 ,有git代表成功cd /home && ls -al 接着我们来准备创建一个测试用的代码仓切换到git账户su git进入到git账户的家目录cd /home/git创建一个文件夹用作仓库,这里起名为 hellomkdir hello.gitcd hello.git在目录下初始化,切记要加上 –bare参数,否则后续push后不回自动更新文件git –bare init 至此,我们创建了一个裸仓库,会自动生成一些文件,但是现在还不能执行任何git操作,否则会有很多莫名其妙的错误,稍后我们再来解决,现在先继续配置我们的git账户。给git账户配置免密登陆,否则后续每次提交都要输入密码,进入git账户的主目录cd /home/git创建ssh的配置 (.点代表这是一个隐藏的文件夹ls是看不到的,需要加参数 -a)mkdir .shhcd .ssh创建authorized_keys文件,存放客户端远程访问的ssh公钥touch authorized_keys设置权限chmod 700 /home/git/.sshchmod 600 /home/git/.ssh/authorized_keys 配置一下本地账户,这里的用户名和邮箱自己随意设置git config –global user.name “hello”git config –global user.email “hello@mail.com” 接下里配置git服务自动更新在仓库目录下进入hooks目录cd /home/git/hello.git/hooks可以看到都一些.sample以文件,我们把后缀全部取消 接着创建一个post-receive文件touch post-receivechmod 775 post-receive编辑文件vim post-receive写入一下内容git –work-tree=/home/git/Code/StoryLine –git-dir=/home/git/StoryLine.git checkout -f–work-tree为项目目录,push后文件会存放在这里,–git-dir为仓库目录,此目录下仅存放版本信息 禁用git账户shell命令权限,现在的git账户是可以执行各种命令的,不符合权限最小化原则,哈哈切换到git账户,创建目录su gitmkdir /home/git/git-shell-commands切换的root修改git登陆方式su rootvim /etc/passwd按i进入编辑模式,将光标防治到这一行尾,1003数字每个机器都不同git:x:1003:1003::/home/git:/bin/bash改为git:x:1003:1003::/home/git:/bin/git-shell然后保存退出,至此服务端暂时配置完成。 客户端配置,以下是mac终端方式操作创建本地文件夹mkdir hellocd hello配置用户名和邮箱git config –global user.name “user”git config –global user.email “user@mail.com”创建shh keys, 不用输入任何东西,直接回车三连 把生成的id_rsa.pub文件上传到服务器/home/git/.ssh下在服务器端,把id_rsa.pub内容追加到authorizes_keys下cat id_rsa.pub >> authorizes_keys 开始克隆仓库git clone git@www.duloveni.com:/home/git/hello.git可以看到,文件已经克隆了下来 我们创建一个文件test.txt并写入hello,然后执行git status可以看到检测到了文件变动git add -Agit commit -m “mes”git push origin master