我知道有人问过这个问题,但我似乎无法实现任何解决方案,而且我有点困惑。
我有两个网站托管在 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/