git - 如何通过 SSH 创建远程仓库?

标签 git ssh

我有一个已在共享服务器上发布的网站。现在我想使用 git 来处理它(实现一些新功能)。我可以通过 ssh 使用 git。

我如何通过 SSH 在那里创建一个远程存储库,然后获取一个 url 将其 pull 到我的机器上,这样我就可以在本地工作区工作。

我试过了

git init
git add *

但是当我执行 git ls-remote --get-url 获取 url 时,它会显示:

fatal: No remote configured to list refs from.

命令 git remote 什么都不返回。

最佳答案

你需要四种不同的东西:

  • 本地工作副本,您可以在其中进行更改
  • 本地 git 存储库,您可以在其中提交这些更改
  • 一个远程 git 存储库,您可以将这些提交推送到该存储库
  • 一个远程工作副本,您的网络服务器可以从中读取更改的文件

您可能已经有一个本地工作副本和一个本地 git 存储库,也就是说,您可以更改文件并提交它们。

接下来,您需要一个远程 git 存储库来推送您的提交。您可以通过类似 ssh user@server git init --bare mysite 的方式创建它。这允许您使用类似 git push user@server:mysite master 的方式进行推送。

最后,您需要使这些文件对网络服务器可见。可能最简单的方法是将裸存储库克隆到最终位置。 您可能希望在每次推送后更新该位置。为此,您可以在裸存储库中注册一个 Hook ,它会在您每次推送到它时运行。


这有点棘手,因为 git 知道没有关联工作副本的裸存储库和有关联工作副本的非裸存储库。

您需要一个非裸机来读取/写入文件,但您需要一个裸机才能推送到,因为您无法推送到当前已 checkout 的分支。 - 因此,是的,进行设置需要一些工作。

关于git - 如何通过 SSH 创建远程仓库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691610/

相关文章:

由于未 merge 的文件,无法进行 Git pull

git - 如何使用 git am 从电子邮件应用补丁?

git - 如何在同一台机器上使用和克隆 github 和 aws (CodeCommit) 存储库?

git - 强制覆盖 TortoiseGit 推送对话中缺少的现有分支

ssh - 通过 ssh 使用 gdbserver 进行远程调试

mysql - Openshift:如何通过 RHC 或 SSH 将数据库导入 MySQL?

git - 我可以对 Git 别名使用一组命令(外部和内部)吗?

ssh - ssh卡在发送的SSH2_MSG_KEX_DH_GEX_REQUEST(1024 <7680 <8192)上

Java8 + Jcraft = 该算法的 key 太长

bash - 通过 Plink 在 Windows 命令行上运行 shell 脚本(带参数)