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配置。

相关推荐
雁于飞1 小时前
vscode中使用git、githup的基操
笔记·git·vscode·学习·elasticsearch·gitee·github
小毛驴85011 小时前
所有微服务部署都使用一个git地址,并且通过docker部署各个服务的情况下,如何编写mvn指令来处理各个服务。
git·docker·微服务
国王不在家12 小时前
git 切换仓库后清理分支缓存
git
柯南二号15 小时前
【Gitlab】Ubuntu 20.04服务器部署Gitlab
git·gitlab
phac12316 小时前
git 如何直接拉去远程仓库的内容且忽略本地与远端不一致的commit
大数据·git·elasticsearch
ficker131 天前
git常用命令
git
kevin_cat1 天前
微信群机器人-备份文件发送通知
git·bash·企业微信
程序媛Dev1 天前
50.4k Star!我用这个神器,在五分钟内搭建了一个私有 Git 服务器!
运维·服务器·git
澈轩2 天前
Git 用得好,下班走得早
git
人间造梦工厂2 天前
Git Bash 别名
git