2

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

我在 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 = git@oldurl.org: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 密钥设置的 ssh/config 文件。本质上,我想代替 git@oldurl.com 我该怎么做呢?

编辑:我有点难以理解的一件事是 site/.git 和 site.git 之间的区别

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

4

2 回答 2

2

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

git remote set-url origin newurrl

请参阅git remote手册页

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

将 URL 远程点更改为。
将第一个 URL 远程点设置为匹配正则表达式<oldurl>(如果没有<oldurl>给出第一个 URL)到<newurl>.
如果<oldurl>与任何 URL 都不匹配,则会发生错误并且不会更改任何内容。

于 2013-11-12T15:15:20.613 回答
0

fixed by doing

git remote remove origin 

and

git remote add origin newurrl
于 2013-11-12T15:06:12.737 回答