avatar

目录
在服务器上搭建git仓库

使用root登录服务器

添加一个新用户(git仓库的所有者)

Python
1
useradd gituser  # gituser---> 用户名字

设置密码

python
1
passwd gituser

配置sshd服务参数

Python
1
2
3
4
vi /etc/ssh/sshd_config
RSAAuthentication yes # 启用RSA 非对称加密算法
PubkeyAuthentication yes # 公钥认证
PasswordAuthentication yes #允许密码认证

修改配置后需要重启服务

python
1
systemctl restart sshd.service

切换到用户gituser(刚新建的用户)

python
1
su - gituser        # 因为你是root 无需密码

查看当前位置是/home/gituser,不是,切换到/home/gituser

创建一个git仓库

Code
1
2
3
4
5
6
7
git init --bare myproject.git  #  myproject.git --> 仓库名字
# --bare 汉语意思是:裸,裸的
# 使用”git init –bare”方法创建一个所谓的裸仓库,
# 之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到下面的错误(”This operation must be run in a work tree”)
# 从裸仓库 clone 下来的本地仓库可以进行正常的 push 操作, 但是从一般仓库 clone 下来的本地仓库却不行。 这也正是裸仓库存在的意义。 裸仓库一般情况下是作为远端的中心仓库而存在的。
# 并且这个仓库是可以被正常 clone 和 push 更新的, 裸仓库不包含工作区,所以并不会存在在裸仓库上直接提交变更的情况。
# 这个就是最好把远端仓库初始化成bare仓库的原因。

创建一个 .ssh 文件夹

python
1
mkdir .ssh

设置.ssh目录权限

python
1
chmod 700 .ssh

进入文件夹

Code
1
cd .ssh

创建文件 authorized_keys

python
1
touch authorized_keys

设置authorized_keys权限

python
1
chmod 600 authorized_keys

编辑authorized_keys

Code
1
2
3
vi authorized_keys   # 里面写入本机的公钥
i # 写入
Esc :x # 保存并退出

在本机的 .ssh 创建一个文件config

里面写入

python
1
2
3
4
5
6
Host myserver_git    # 本机要连接服务器的名字
HostName 127.0.0.1 # 举例 服务器的IP
User gituser # 服务器上的用户
Port 22
PreferredAuthentications publickey
IdentityFile C:\Users\Jack-Roc\.ssh\jack_rsa # 指定本机的私钥地址

将服务器的git仓库下载到本地(克隆)

两种方式

① 没有配置本地config的情况下

Code
1
git clone gituser@IP:~/myproject.git   # IP指 gituser用户IP地址

python
1
2
3
git clone gituser@myserver_git:~/myproject.git    # myproject.git 服务器git仓库的名字·

git clone gituser@myserver_git:/home/gituser/meproject.git # 写他仓库绝对地址

创建一个文件并提交

python
1
2
3
4
5
touch readme.txt                          # 创建readme.txt 文件
git add readme.txt # 添加到暂存区中
git commit -m "添加readme文件" # 提交到本地版本库里
git push origin # 推送到远程仓库
git pull origin # 拉取文件

他人和自己想用一个git仓库的话将他人的公钥传给你

写入自己服务器的.ssh/authorized_keys 中 (空一行直接写他人的公钥)

公钥私钥详情

文章作者: Jack-Roc
文章链接: http://jack-roc.top/2017/10/20/gitkuf/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jack-Roc
打赏
  • 微信
    微信
  • 支付寶
    支付寶