搜索 K
Appearance
Appearance
打开套件中心, 搜索"Git Server"套件, 进行下载安装
安装完成后, 打开, 设置一个或多个用户作为使用git, 可以新建一个用户, 也可以用现有用户
创建一个文件夹作为git仓库, 建议创建顶级目录, 如控制面板->新增->共享文件夹"GitRepository"(名字随意起, 优雅即可)
新增一个群组"git", 便于进行权限管理, 将用户加入群组后, 用户继承群组的权限. 比如项目A的协作开发, 群组gita有项目A的读写权限, 其他用户只需要加入gita群组即可, 这里我直接"git"群组设置顶级仓库读写, 并将我的账号添加至"git"群组
控制面板开启ssh
使用xshell等软件远程连接nas终端
# 1. 进入预设的仓库
cd /volume1/GitRepository
# 2. 创建项目(代码仓库1, 此步骤可在nas管理面板完成, 新建文件夹my-project.git)
mkdir my-project.git
# 3. 初始化git仓库, 以便于客户端可以进行git clone push等操作
git init --bare
# 4. 不能使用git init初始化一个非裸仓库, 非裸仓库不允许直接推送代码, 需要先检出, 这不利于我们将本地已有的项目直接进行远程推送在 Git 中,git init --bare 命令用于创建一个裸仓库(Bare Repository),这种仓库没有工作目录(即没有可视化的文件树),仅用于存储版本历史和协作共享。以下是它的核心概念和使用场景
| 特性 | 普通仓库 (git init) | 裸仓库 (git init --bare) |
|---|---|---|
| 工作目录 | ✅ 包含工作文件(可编辑) | ❌ 无工作目录(仅存储 Git 对象) |
| 用途 | 本地开发、修改代码 | 作为中央仓库,供多人推送/拉取代码 |
| 文件结构 | 包含 .git 文件夹和项目文件 | 仅包含 .git 文件夹的内容 |
| 直接操作 | 可提交、修改文件 | 不可直接修改文件(只能通过推送) |
my-project.git 目录包含 Git 的核心对象(如 HEAD, config, objects, refs 等),但没有实际代码文件。仓库建立完成, 仓库地址:
# username为使用者用户名, ip为登录nas的ip, 使用此url可以直接clone本仓库
ssh://username@ip/volume1/GitRepository/my-project.git本地创建一个工作目录用于开发工作workspace
在workspace工作目录下, 打开git bash
使用git clone命令, 进行仓库获取, 运行后会在workspace下新建一个名为my-project的项目
git clone ssh://username@ip/volume1/GitRepository/my-project.git可使用命令 git remote -v 查看远程仓库地址
git remote -v手动修改配置:
cd my-repo
git config --bool core.bare true
mv .git/* ./ # 移动 .git 内容到根目录
rm -rf .git # 删除原 .git 文件夹(可选)git bundle 打包。