通过 ssh 将 git 存储库从我的机器克隆到另一台机器

我的用户是这个

我可能把这个复杂化了很多,但是我的机器上有一个 git repo,我还有另一台机器在工作,我通常会连接到工作。每隔一段时间,我需要将一些我主要在我的机器上开发的代码放到这台工作机器上,我只想使用 git 而不是使用 scp 或 rsync 复制代码,以便我可以跟踪版本等在。

所以要克隆 repo,我想我必须将 ssh 反向到工作机器,然后再次通过反向 ssh 连接克隆 git repo。

一个测试可能是

mkdir testgit && cd testgit
touch file
git init
git add file
git commit -m "test commit"

这在本地机器上。现在我正在尝试(但不起作用)是

localmachine  $ ssh -R 43022:localhost:22 user@remote
remotemachine $ git clone ssh://user@localhost:43022/home/user/testgit/

然而Connection reset by peer这总是给我,所以我不认为我真的理解这种反向连接在做什么。这样做的正确方法是什么?

博士

你不需要克隆到远程,尤其是这种过于复杂的方式,你只需要推送。

在远程端必须有 2 个存储库——裸和非裸。裸仓库是您从本地仓库推送的地方。非裸存储库是一个带有工作树(检出文件)的存储库,您可以从中提取。

创建一个新的空裸和非裸存储库;从本地推送到裸机:

ssh user@remote -p 43022 "
    cd /home/user &&
    git init --bare testgit.git &&
    git init testgit &&
    cd testgit &&
    git remote add bare ../testgit.git"
git remote add work ssh://user@remote:43022/home/user/testgit.git
git push -u work master # or how do call your master branch

从裸拉到非裸:

ssh user@remote -p 43022 "cd /home/user/testgit && git pull bare master"

您可以使用裸仓库中post-receivepost-update钩子自动执行最后一步

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将本地git存储库移动到另一台机器上并使用它?

通过ssh在另一台机器上发出远程git命令时如何使用本地Github ssh密钥

在 ssh 进入另一台机器时将代码推送到 github

无法将局域网中的一台机器的远程git repo推送到另一台机器

不能从一台机器 SSH 到另一台机器

来自另一台机器的ssh命令

两台机器之间的SSH隧道只能SSH到第三台机器,而不能直接到另一台机器

通过代理机器拦截 SSH 连接并将其转发到另一台(远程)机器

是否可以将更改拉/推到在另一台PC上克隆的Git存储库?

如何将IIS配置复制到另一台机器

将Python从一台linux机器克隆到另一台linux机器

通过ssh将file.txt从我的一台服务器传输到另一台服务器

如何将Docker卷从一台机器复制到另一台机器?

如何将端口从一台机器转发到另一台机器?

将文件从一台机器连续传输到另一台机器

如果我将/ var从一台机器移到另一台机器,会出什么问题?

将 git 存储库共享到一台没有互联网访问权限的机器上

在终端ssh之后执行命令到另一台机器时如何更改路径

通过SSH克隆Git,通过https推送

将提交从一台 PC 移动到另一台 PC 以推送到 Git 存储库

cygwin startxwin,然后ssh进入另一台机器

如何在一台机器上通过带有资源(.txt文件)的ssh在ssh上运行Shell脚本?

如何将 Java 项目从 IntelliJ IDEA 保存到 Git 存储库,以便克隆后可以在另一台 PC 上构建?

如何使用ssh将特定的git分支内容关闭/复制到另一台服务器上的文件夹

在不提交的情况下从另一台机器访问本地git进度

如何通过USB驱动器将git存储库从Windows机器复制到linux机器?

我如何将sublime-text-2设置的git repo克隆到另一台计算机

将 docker 卷导出到另一台机器

将GitBucket迁移到另一台机器