git - 在无法访问原始版本的情况下迁移 git 存储库服务器时出现问题

标签 git amazon-web-services ssh amazon-ec2

我知道有人问过这个问题,但我似乎无法实现任何解决方案,而且我有点困惑。

我有两个网站托管在 AWS EC2 上。它们是使用express、css、jQuery、MongoDB 等在node.js 中编写的。git 存储库服务器是原始开发人员计算机。

当我通过 bash ssh 进入其中一个站点时

vi website/.git/config

它包含:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f7909e83b7989b9382859bd9988590" rel="noreferrer noopener nofollow">[email protected]</a>:website.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

该网站还有 staging.website.com,我可以单独通过 ssh 访问该网站。 staging.website.com website/.git/config 中的配置文件包含:

[core]
    ""
    logallrefupdates = true
    ""

其余部分相同。

我有网站的源代码、AWS 的登录信息、对两台服务器的 ssh 访问权限。我想在我的 Synology DS213 或在我们的一台服务器上运行的虚拟化实例上设置新的存储库服务器。我无法访问托管 git 存储库的原始计算机。 “oldurl.org”创建新托管存储库的最简单/最佳方法是什么,以便我可以在本地 PC 上的站点上工作,将更改提交到存储库服务器,然后将它们从那里推送到我的 EC2 。每当我尝试在本地设置新的存储库并添加远程服务器时,在所有测试中,我都无法将本地创建的文件上传到服务器。如果仅在本地添加文件,它是否只更改文件而不创建新文件?作为记录,我为 rsa key 设置了一个 ~/.ssh/config 文件。本质上我想取代 [email protected]我该怎么做呢?

编辑:我在理解上遇到了一些困难,那就是 site/.git 和 site.git 之间的区别

如果您需要更多细节或信息,请告诉我。我渴望解决这个问题,这样我就可以再次安全地对我的网站进行更改。原始开发人员不再管理它们,无法联系以寻求帮助。

最佳答案

应用类似修复的另一种方法是:

git remote set-url origin newurrl

参见 git remote man page :

git remote set-url' <name> <newurl> [<oldurl>]

Changes URL remote points to.
Sets first URL remote points to matching regex <oldurl> (first URL if no <oldurl> is given) to <newurl>.
If <oldurl> doesn’t match any URL, error occurs and nothing is changed.

关于git - 在无法访问原始版本的情况下迁移 git 存储库服务器时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19507107/

相关文章:

git - 使用 Git 分离要修改的目录作为分支 elsewere

git - 如何通过 GitHub 的 API 进行 cherry-pick

amazon-web-services - 克隆 aws 环境,使其共享相同的 RDS 数据库

amazon-web-services - 模板格式错误: YAML not well-formed

django - 无法通过容器命令或 manage.py 在 aws beanstalk 中创建 django super 用户

linux - EC2 ssh broken pipe 终止正在运行的进程

git - 使用 capistrano 和 git 将相同的代码库(略有差异)部署到多个服务器

git - 如何在未安装 Git 的情况下应用 `git diff` 补丁?

unix - 允许用户设置 SSH 隧道,但仅此而已

ssh - SSH key 的错误密码(MediaWiki 的 Gerrit 教程)