通过 SSH 创建 Git 存储库并将其克隆到本地

Posted

技术标签:

【中文标题】通过 SSH 创建 Git 存储库并将其克隆到本地【英文标题】:Create a Git Repo through SSH and Cloning it Locally 【发布时间】:2015-10-03 21:42:40 【问题描述】:

我在支持 git 的共享主机上有一个网站。使用 FTP 变得太困难了,所以我打算在我的工作流程中使用 git。我只知道基本的推送、拉取、提交命令。我想设置 git 但无法解决。这是我到目前为止所尝试的。

ssh user@host
cd ~/mysitedirectory/html
git init

它说 git repo 已初始化。在我的本地计算机上,我这样做了

cd my/local/path
git init
git remote add origin ssh://user@host:/chroot/somedir/mysiteditectory/html/.git
git pull origin master

它要求我提供密码。然后它会抛出以下错误。

致命:找不到远程参考主机 *-iMac:PB_Source *$ fatal: 远端意外挂断

我从过去 2-3 小时开始尝试。找不到解决办法。请指导我做错了什么。

【问题讨论】:

不确定这是否是问题所在,但通常使用此设置,您的服务器上会有一个裸存储库,位于使用 git init --bare 创建的 Web 根目录之外。 git 主页上有一本很好的书,里面有这方面的说明。 git pull displays "fatal: Couldn't find remote ref refs/heads/xxxx" and hangs up的可能重复 我建议使用git clone 而不是这个更长的命令序列。 【参考方案1】:

在类似的情况下,我发现删除路径开头的斜线解决了这个问题。但是语法不一样。使用冒号时,您不要添加 ssh:// 我会说,所以:

git remote add origin user@host:chroot/somedir/mysiteditectory/html/.git

git remote add origin ssh://user@host/chroot/somedir/mysitedirectory/html/.git

【讨论】:

以上是关于通过 SSH 创建 Git 存储库并将其克隆到本地的主要内容,如果未能解决你的问题,请参考以下文章

SSH 公钥在“git clone”命令上被拒绝

git:使用(本地)远程存储库

将具有非标准端口号的 SSH 存储库克隆到 SourceTree

如何使用私钥克隆 GIT 存储库

通过 SSH 从 VSTS 克隆 Git 存储库需要输入密码!意外

您如何获取 git diff 文件,并将其应用到作为同一存储库副本的本地分支?