git 搭建私人仓库以及优化流程

文章首发于个人博客,欢迎访问关注:https://www.lin2j.tech

以下操作都是通过 root 用户进行的。

首先要确保服务器上面有 git。如果没有,可以通过 yum install git 进行安装。

安装完之后创建一个 git 的用户和用户组(-G 参数自动创建用户组 git),并且指定使用的 shell。

useradd -s /usr/bin/git-shell -d /home/git -G git git

使用 git-shell 确保这个账号能推拉代码,但是不能通过 ssh 登录,通过 ssh 会报错。

Last failed login: Tue Dec 21 09:47:56 CST 2021 from xx.6.116.12 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Mon Dec 20 17:19:03 2021 from xx.6.116.12
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Connection to xxxx.com closed.

之后使用 passwd git 给 git 用户更改一下密码。

接下来,创建一个测试用的仓库,仓库本质上是一个 git 用户的目录。

# 创建测试目录
mkdir /home/git/test.git
# 初始化为 git 仓库,请务必增加 --bare 参数
git --bare init /home/git/test.git
# 将 test.git 目录分给 git 用户,否则提交不了代码,权限不足
chown -R git:git /home/git/test.git

现在就可以使用这个仓库了。

具体使用跟 github 上的仓库一样,本地指定远程仓库的位置即可。

git remote add origin git@xxx.com:/home/git/test.git

优化流程

每次创建仓库都需要特地登录到服务器然后执行几句命令,用起来不舒服。

因此增加两个脚本来帮助创建远程仓库。

两个脚本一个是在服务器上的,用于创建远程仓库,一个是本地使用的,执行前一个脚本。

仓库名称可以通过脚本参数传入,增加灵活性

服务器脚本:create_repo.sh(脚本是属于 root 用户的,放在 /homt/git/ 目录下)

#!/bin/bash
# 创建仓库目录
mkdir /home/git/$1.git
# 初始化为 git 仓库,请务必增加 --bare 参数
git --bare init /home/git/$1.git
# 将目录分给 git 用户,否则提交不了代码,权限不足
chown -R git:git /home/git/$1.git

本地脚本:create_remote_repo.sh

#!/bin/bash
# xxx.com 改为自己的服务器域名或者 id 即可
ssh root@xxx.com "sh /home/git/create_repo.sh $1"

接下来要创建远程仓库的时候,只需要在本地执行命令即可。

sh create_remote_repo.sh test

以上就是搭建私人仓库的过程,并不复杂。

原文:https://blog.csdn.net/wzg_inspur/article/details/82255493

git init 和 git --bare init 的区别在于
git init 带工作区
git --bare init 是不带工作区的,只有版本库,想要看git里面的内容只能通过git clone address的方式克隆出来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提交代码到远程仓库的一般流程如下: . 确认远程仓库:首先需要确认本地仓库已经与远程仓库建立了关联。可以使用 `git remote -v` 命令来查看当前配置的远程仓库信息。 2. 拉取最新代码:在提交代码之前,建议先拉取远程仓库的最新代码,以免产生冲突。使用 `git pull origin <branch-name>` 命令来拉取指定分支的最新代码。 3. 添加修改到暂存区:使用 `git add` 命令将想要提交的修改添加到暂存区。可以使用 `git add .` 命令将所有修改添加到暂存区,或者使用 `git add <file-name>` 命令将指定文件添加到暂存区。 4. 提交修改:使用 `git commit -m "commit message"` 命令提交修改到本地仓库。在双引号内填写本次提交的说明信息。 5. 推送到远程仓库:使用 `git push origin <branch-name>` 命令将本地仓库的提交推送到远程仓库。`<branch-name>` 是要推送到的分支名称。 6. 输入凭据:如果远程仓库需要身份验证,Git会提示你输入用户名和密码(或者是访问令牌等凭据)。 7. 等待推送完成:等待Git将本地提交推送到远程仓库。一旦推送完成,你的代码就会出现在远程仓库中。 请注意,如果在你提交之前有其他人已经向远程仓库推送了修改,你需要先拉取最新代码并解决可能的冲突,然后再进行提交和推送。 以上就是将代码提交到远程仓库的一般流程。具体的命令和操作可能会根据你的项目配置和工作流程有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值