在服务器建立 git 存储库

  1. 首先在服务器建立一个裸仓库 user@remote
mkdir repo.git
cd repo.git
git init --bare

裸仓库不包含工作区。也就是说,它没有项目的文件副本,而仅仅是一个版本库的存储空间。

  1. 在本地添加刚刚创建的仓库为远程仓库:
git remote add origin ssh://user@remote:/path/to/repo.git
git push

此时就分别建立好了 git 远程库和本地库。

如果想在服务器端也检出一份工作目录:

git clone /path/to/repo.git /path/to/working/directory

Troubleshooting

remote HEAD refers to nonexistent ref

在运行 git clone 时出现如下警告:

$ git clone /path/to/repo.git /path/to/working/directory
Cloning into 'repo'...
done.
warning: remote HEAD refers to nonexistent ref, unable to checkout.

这是远程仓库的 HEAD 引用不存在导致的。可能是远程仓库没有配置默认分支,即 HEAD 引用没有指向任何实际存在的分支导致的。

解决方法:

在裸仓库中设置 HEAD 指向的位置:

cd /path/to/repo.git
git symbolic-ref HEAD refs/heads/main

在本地仓库中重新拉取分支:

cd /path/to/repo
git pull origin main
posted @ 2024-11-01 09:36  Undefined443  阅读(3)  评论(0编辑  收藏  举报