我在我的 Web 服务器中使用 Redhat Linux,并在名为 192.168.0.100 的 IP 中手动设置了 git 存储库。它安装在名为 git 的用户下。我一直通过以下方式访问 git:
git clone [email protected]:my-project.git
之后我计划在同一台服务器上安装 gitlab。所以我安装了 gitlab 社区版。但之后我无法再访问我的旧存储库。所以我使用以下命令卸载了 gitlab:
sudo gitlab-ctl uninstall
sudo dpkg -P gitlab-ce
之后,我尝试使用本地机器上的命令访问我的旧存储库:
git clone [email protected]:my-project.git
但它显示如下错误:
Cloning into 'my-project'...
sh: /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell: No such file or directory
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
显然我的 gitlab 安装改变了 git 中的某些设置。
我可以在哪里修复这个问题?
答案1
我不知道您最初是如何设置服务器和旧 git 用户的主目录的,但我假设它只是 /home/git(如果不是,请将 /home/git 更改为您的原始路径)。您应该通过查看 /home/git 来检查您的存储库是否在其中(或在子文件夹中)。
gitlab 安装可能改变了 git 用户的主目录。如果你的存储库位于 /home/git 下,你可以尝试
git clone [email protected]:/home/git/my-project.git
如果有效,您可以编辑 /etc/passwd 文件(以 root 身份)并将 git 用户恢复为旧目录:
git:x:998:998::/home/git:/bin/sh
或者使用 usermod:
sudo usermod -d /home/git git
再次:在以上所有内容中,将 /home/git 更改为您的存储库的路径(.git 文件夹的父文件夹)。