NAS搭建Git仓库(1):提交本地项目到NAS上的Git仓库

在NAS上通过SSH登录后,初始化一个Git仓库并将本地已有项目上传到该仓库的具体步骤如下:


前提条件

  • 你已经在NAS上安装了Git。
  • 你已经在本地电脑上安装了Git。
  • 你已经在本地电脑上创建了一个Git项目。
  • 设置全局默认分支为 main:git config --global init.defaultBranch main

1. 通过SSH登录到NAS

  1. 打开终端(或使用SSH客户端如PuTTY)。

  2. 使用以下命令连接到NAS:

    bash 复制代码
    ssh <用户名>@<NAS的IP地址>

    例如:

    bash 复制代码
    ssh admin@192.168.1.100
  3. 输入密码登录。


2. 初始化Git仓库

  1. 在NAS上选择一个目录作为Git仓库的存储位置。例如:

    bash 复制代码
    cd /volume1/git/
  2. 创建一个新的Git仓库:

    bash 复制代码
    mkdir my-repo.git
    cd my-repo.git
    git init --bare
    • --bare选项表示创建一个裸仓库(没有工作目录),适合作为远程仓库。

3. 在本地已有项目中初始化Git

  1. 打开本地项目的根目录。

  2. 初始化Git仓库:

    bash 复制代码
    cd /path/to/your/local/project
    git init
  3. 添加所有文件到暂存区:

    bash 复制代码
    git add .
  4. 提交更改:

    bash 复制代码
    git commit -m "Initial commit"

4. 将本地仓库连接到NAS上的远程仓库

  1. 在本地项目中,添加NAS上的Git仓库作为远程仓库:

    bash 复制代码
    git remote add origin ssh://<用户名>@<NAS的IP地址>/volume1/git/my-repo.git

    例如:

    bash 复制代码
    git remote add origin ssh://admin@192.168.1.100/volume1/git/my-repo.git
  2. 验证远程仓库是否添加成功:

    bash 复制代码
    git remote -v

    输出示例:

    perl 复制代码
    origin  ssh://admin@192.168.1.100/volume1/git/my-repo.git (fetch)
    origin  ssh://admin@192.168.1.100/volume1/git/my-repo.git (push)

5. 推送本地项目到NAS上的远程仓库

  1. 将本地代码推送到远程仓库:

    bash 复制代码
    git push -u origin main
    • 如果本地分支名称不是main,建议设置为main
    • -u选项将本地分支与远程分支关联,后续可以直接使用git push
  2. 如果遇到错误提示main分支不存在,可以尝试以下命令:

    bash 复制代码
    git branch -M main
    git push -u origin main

6. 验证上传结果

  1. 在NAS上,进入Git仓库目录,检查文件是否已上传:

    bash 复制代码
    cd /volume1/git/my-repo.git
    git log
  2. 如果能看到提交记录,说明上传成功。


7. 克隆远程仓库(可选)

如果需要从NAS上的远程仓库克隆项目到其他机器,可以使用以下命令:

bash 复制代码
git clone ssh://<用户名>@<NAS的IP地址>/volume1/git/my-repo.git

例如:

bash 复制代码
git clone ssh://admin@192.168.1.100/volume1/git/my-repo.git

总结

通过以上步骤,你可以在NAS上初始化一个Git仓库,并将本地已有项目上传到该仓库。具体步骤如下:

  1. 通过SSH登录到NAS。
  2. 在NAS上初始化一个裸仓库。
  3. 在本地项目中初始化Git并提交代码。
  4. 将本地仓库连接到NAS上的远程仓库。
  5. 推送本地代码到远程仓库。
  6. 验证上传结果。

如果有任何问题,请检查SSH连接、权限设置和Git配置。

相关推荐
weixin_462446232 小时前
Git 本地忽略 application-dev.yml 的最佳实践:不提交 .gitignore,不影响团队协作!
git
无限进步_9 小时前
面试题 02.02. 返回倒数第 k 个节点 - 题解与详细分析
c语言·开发语言·数据结构·git·链表·github·visual studio
2401_859049089 小时前
git submodule update --init --recursive无法拉取解决
前端·chrome·git
是店小二呀14 小时前
Git 深度学习笔记:从初始化到核心操作机制解析
笔记·git
xlq2232214 小时前
11.git_gbd
git
CCC:CarCrazeCurator14 小时前
IDE 与编程语言区分介绍
git·github
Q741_14715 小时前
Git 基础操作速查手册 场景模拟
git·学习·版本控制·总结
玉梅小洋21 小时前
Git 使用技巧——查看 Commit 修改文件的概要
git·github
Howie Zphile1 天前
Git 拉 NocoBase 2.0 beta(next 分支),并“每天自动更新 + 自动编译 + 自动重启”
大数据·git·elasticsearch
吕司1 天前
Git分支管理
git