跳到主要内容
[Navbar 包装器占位符]
[BlogPostItem 包装器占位符 - 博客文章顶部]

腾讯云服务器搭建自己的Git服务

· 阅读需 4 分钟

要确认是否已经安装 Git,您可以尝试以下几种方法:

  1. 检查 Git 版本: 在终端或命令提示符中输入以下命令:

    git --version

    如果 Git 已安装,这个命令会返回 Git 的版本号,例如:

    git version 2.30.1

更新Git版本

腾讯云服务器上系统显示 Git 版本为 1.8.3.1,这意味着 Git 已经安装在您的系统上。这个版本相对较旧,但对于基本的 Git 操作来说应该足够使用。

关于版本 1.8.3.1:

  1. 这个版本发布于 2013 年,是一个相对较老的版本。
  2. 它支持大多数基本的 Git 功能,足以满足常见的版本控制需求。
  3. 但它可能缺少一些现代 Git 版本中的新特性和优化。

如果您想继续使用当前版本进行我们之前讨论的 Git 服务器设置,应该不会有大问题。但如果您决定更新 Git,可以考虑以下步骤:

对于 CentOS/RHEL 系统:

  1. 首先,安装必要的依赖:

    sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
  2. 卸载旧版本的 Git:

    sudo yum remove git
  3. 下载并安装新版本的 Git:

    cd /usr/src
    sudo wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
    sudo tar xzf git-2.9.5.tar.gz
    cd git-2.9.5
    sudo make prefix=/usr/local all
    sudo make prefix=/usr/local install
  4. 更新环境变量:

    echo "export PATH=/usr/local/bin:$PATH" >> ~/.bashrc
    source ~/.bashrc
  5. 验证新版本:

    git --version

SSH密钥

本机电脑生成一个密钥,可以对应远程的多个,比如Github, 腾讯云服务器,阿里云服务器等;等于说一个密码,可以打开多个站点。

对于 root 用户,密钥应该放在:正确的路径应该是 /root/.ssh/authorized_keys

  1. 添加公钥
    • 打开 /root/.ssh/authorized_keys 文件。
    • 将您的公钥内容粘贴到这个文件中。
    • 如果文件中已有其他密钥,将新的公钥添加到新的一行。
  2. 设置正确的权限
    • /root/.ssh 目录:设置权限为 700
    • /root/.ssh/authorized_keys 文件:设置权限为 600

个人开发使用非裸仓库即可

  1. 非裸仓库(Non-bare Repository):
    • 包含工作目录和 .git 目录
    • 可以直接在其中进行开发工作
    • 文件系统中直接显示项目文件
    • 通常用于本地开发

对于 Astra child 主题,您的选择取决于您的使用场景:

  1. 使用裸仓库:
    • 优点:
      • 适合作为中央仓库,多人协作时使用
      • 避免直接在服务器上修改文件导致的冲突
    • 缺点:
      • 不能直接在服务器上编辑或查看文件
      • 需要通过克隆到本地来查看和修改文件
  2. 使用非裸仓库:
    • 优点:
      • 可以直接在服务器上查看和编辑文件
      • 适合单人开发或需要在服务器上直接修改文件的情况
    • 缺点:
      • 如果多人同时修改服务器上的文件,可能会导致冲突
      • 不太适合作为中央仓库使用

建议:

  1. 如果您主要在本地开发,只是使用服务器作为备份或共享代码的地方,使用裸仓库更合适。
  2. 如果您需要在服务器上直接修改文件,或者服务器是您的主要开发环境,那么使用非裸仓库更合适。
  3. 对于 WordPress 主题开发,特别是如果您需要在服务器上直接测试主题,使用非裸仓库可能更方便。

转换方法:

  • 将裸仓库转为非裸仓库:

    Copy

    git config --bool core.bare false
    git checkout -f
  • 将非裸仓库转为裸仓库:

    Copy

    mv .git ../temp_git
    rm -rf *
    mv ../temp_git .git
    mv .git/* .
    rmdir .git
    git config --bool core.bare true

考虑到您正在开发 Astra child 主题,如果您需要在服务器上直接查看和测试主题文件,使用非裸仓库可能更适合您的需求。这样,您可以直接在 WordPress 的主题目录中进行开发和测试。

解决方案: 有几种方法可以解决这个问题:

a) 在服务器端设置 Git 配置(推荐):

Copy

ssh root@101.260.72.131
cd /www/wwwroot/gitTest.git
git config receive.denyCurrentBranch updateInstead

这个设置允许推送到当前分支,并自动更新工作目录。

[Footer 包装器占位符 - 位于页脚上方]

这是通过 Docusaurus Wrapping 统一添加的底部文字内容。

ddddddd