资讯专栏INFORMATION COLUMN

搭建远程git仓库

vpants / 900人阅读

摘要:语法其中各为一个数字,分别表示,及的权限。很简单,初学者,刚搭建服务器,啥都想试试,顺便熟练下操作,以及做个笔记。这个是搭建后写的,或许会有些,但大致流程是这样,问题不大。参考用户配置部分仓库权限部分参考定义参考文章

客户端配置 安装 git bash

网上搜 git 安装包然后下载安装即可

设置个人信息
git config --global user.name "your name"
git config --global user.email "your email"
创建 sshkey

先进入 C:Userswin10 看有没有 .ssh 文件,有则看内部有没有公钥私钥,有则跳过此步骤,没有则进行如下操作:

ssh-keygen -t rsa -C "mailaddress@example.com"
// 默认生成SSH-2的RSA密钥,之后会提示输入密码,如果没必要则填空即可
补充:  
ssh -T user@host 可以测试账户连接
user:远程分支的通过 adduser 创建的用户,一般创建 git 用户管理 git 相关内容
host:服务器地址,可以直接用 ip 地址,有域名的可以写域名
例子:ssh -T git@github.com
远程配置(ubuntu) 创建 git 用户
注: 此处是root用户下操作的,普通用户得加sudo
// 检验用户是否已经存在
id git
// 不存在则进行下一步(会有提示创密码)
adduser git
// 给git配置sudo权限
usermod -aG sudo git
下载 Git 并初始化个人信息

可先在命令行输入一下 git ,看有没有安装,没有则:

apt-get install git
// openssh-server 这个貌似得装,ubuntu 16 的貌似自带
// 查看是否安装成功
git --version
// 初始化个人信息
git config --global user.name "your name"
git config --global user.email "your email"
搭建仓库
// 选取合适的位置,建一个文件夹(名字自己定,但要 .git 结尾)
mkdir /data/git/yourname.git
// 创建空远程仓库
git init --bare data/git/yourname.git
// 将仓库拥有着改为 git 用户
chown -R git:git yourname.git
// 切换用户(切不切都无所谓,不切注意后面得改拥有者)
su git
注: 更改用户拥有者这一步,如果你是在root用户下建立文件的话需要更改,如果先切换成git用户了,那么就不需要改,可用 ll 或 ll -a 命令查看
配置远程仓库和 SSH 登陆
// 配置 ssh_config
cd /etc/ssh
sudo vi sshd_config
// 解开注释,如果注释了的话
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys
// 重启服务(ubuntu 的 sshd 位置和其他博客写的不一样……)
// cd /etc/init.d, 你可以在这里看到ssh
sudo service ssh restart
// 进入 home 的当前用户文件夹,创建认证文件(上面的 Author... 指定的位置)
cd home/git
sudo mkdir .ssh
// 由于是 git 用户了,不用改拥有者了,不放心可以看看
cd .ssh
sudo vi authorized_keys
// 然后此处将客户端建好的 rsa 的 pub 文件内容弄进去就行, xshell 可以直接粘贴进去
// 修改仓库权限
cd /home/git
sudo chmod 700 .ssh
sudo chmod 600 .ssh/authorized_keys
// 之后就克隆你的仓库或重定向一下就完事了
注: 很多博客没有%h这个东西,查了下 askubuntu ,这个貌似就是指 home
服务器自动部署配置 添加 hook
// 进入hooks文件目录
cd /data/git/server.git/hooks/
sudo vi post-receive
// 写入如下内容
#/bin/sh
GIT_WORK_TREE=yourFileAddress git checkout -f
// 保存后改下权限即可
chmod +x post-receive
注: yourFileAddress的拥有者应该是git用户
其他 关于关闭 bash 登陆系统问题。

个人尝试过,然后 git bash 不能登陆了,比较安全。代码贴一下:

sudo vi /etc/passwd
// 然后将 git 用户的那行的 /bin/bash 改成 /usr/bin/git-shell
// 如果出现错误,请自行查找该系统下的git-shell在那个文件路径,默认应该是 /usr/bin 内
关于 600 和 700 权限问题。

语法: chmod abc file
其中a,b,c各为一个数字,分别表示 User, Group 及 Other 的权限。
因为:
读取 写入 执行
r = 4, w = 2, x = 1
故而:
rwx : 4+2+1 => 7
rw : 4+2 => 6
我们这边仅弄 User 权限,因此略。

关于写这篇文章的问题。

很简单,初学者,刚搭建服务器,啥都想试试,顺便熟练下 linux 操作,以及做个笔记。这个是搭建后写的,或许会有些bug,但大致流程是这样,问题不大。

参考

用户配置部分
仓库权限部分
参考定义
参考文章

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23728.html

相关文章

  • 看一眼就学会的 HTML 小游戏搭建

    摘要:本文以版的小游戏为例,完整地带大家走一遍搭建流程。因为要使用服务,所以我们需要一个腾讯云开发者平台账号,如果已经有了可以跳过该部分,如果没有请前往腾讯云开发者平台技术助力开发官网进行注册。注意以下对腾讯云开发者平台均使用平台作为简称。 本文作者:CODING 用户 - xfly点击阅读原文,还有更多实用教程等你发现! 身边经常会有小伙伴问我有没有办法不买服务器也能上线自己的个人项目,比...

    ACb0y 评论0 收藏0
  • Git 安装和使用经验总结

    摘要:在装有客户端的电脑使用执行得到如下界面输入回车,提示输入密码,无视继续回车走起结束后会在电脑用户名中生成一个文件这个文件会保存所有连接过的信息,下一次连接这个就不会有上面的提示了。六常识及注意事项提交时会自动忽略空文件夹 GIt安装和使用经验总结 此文是本菜鸡在实践多次git搭建内网服务版本库和GitHub上的使用总结部分参考了这位大佬的博客https://www.cnblogs.co...

    zzbo 评论0 收藏0
  • Hexo快速搭建静态博客并实现远程VPS自动部署

    摘要:提示,如果需要通过实现服务器自动化部署,推荐使用会更方便一些然后在目录初始化本地仓库并提交到这时候上已经有我提交的代码了。再新建一个文件处理部署相关脚本,内容如下将新增的与两个文件到服务器。 这篇文章将如何搭建hexo,以及如何通过git webhooks实现远程vps的自动部署 这篇文章适合的条件: 简单的用于个人博客、公司博客展示,hexo的定位是静态博客,要实现动态服务器的功能...

    cucumber 评论0 收藏0
  • Hexo快速搭建静态博客并实现远程VPS自动部署

    摘要:提示,如果需要通过实现服务器自动化部署,推荐使用会更方便一些然后在目录初始化本地仓库并提交到这时候上已经有我提交的代码了。再新建一个文件处理部署相关脚本,内容如下将新增的与两个文件到服务器。 这篇文章将如何搭建hexo,以及如何通过git webhooks实现远程vps的自动部署 这篇文章适合的条件: 简单的用于个人博客、公司博客展示,hexo的定位是静态博客,要实现动态服务器的功能...

    keke 评论0 收藏0
  • Hexo快速搭建静态博客并实现远程VPS自动部署

    摘要:提示,如果需要通过实现服务器自动化部署,推荐使用会更方便一些然后在目录初始化本地仓库并提交到这时候上已经有我提交的代码了。再新建一个文件处理部署相关脚本,内容如下将新增的与两个文件到服务器。 这篇文章将如何搭建hexo,以及如何通过git webhooks实现远程vps的自动部署 这篇文章适合的条件: 简单的用于个人博客、公司博客展示,hexo的定位是静态博客,要实现动态服务器的功能...

    dinfer 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<