git 在同一台服务器上移动远程存储库后推送失败
git push fails after moving remote repository on same server
我在同一台服务器上有一个 git 工作仓库和一个裸仓库,如下所示:
/
+---dev
| +---work
| | |
| | +---.git
| | +---src
| | +---...
| |
| +---bare-repo.git
|
+---other
从工作回购推拉到裸回购工作正常。然后我需要像这样重新组织目录:
/
+---dev
| +---work
| | |
| | +---.git
| | +---src
| | +---...
|
+---git
| +---bare-repo.git
|
+---other
在 /dev/work
期间,我将遥控器 URL 更改为:
git remote set-url origin /git/bare-repo.git
这个命令成功了,但是当我尝试 push
我得到:
fatal: '../bare-repo.git' does not appear to be a git repository
fatal: Could not read from remote repository.
有意思。而 git remote -v
显示
origin /git/bare-repo.git (fetch)
origin /git/bare-repo.git (push)
git 配置文件包含:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[branch "master"]
remote = ../bare-repo.git
merge = refs/heads/master
[remote "origin"]
url = /git/bare.repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
因此,set-url
并未更改分支主管的 remote
。应该是?我觉得不是。所以我发现更改远程 'origin' 的 URL 的命令不是最好的。我想我可以编辑配置文件并手动更正路径,但正确的步骤是什么?
我不知道这是怎么发生的:
[branch "master"]
remote = ../bare-repo.git
merge = refs/heads/master
但是中间那一行应该读作:
remote = origin
有了这个修复,其他一切都应该正常工作。
我在同一台服务器上有一个 git 工作仓库和一个裸仓库,如下所示:
/
+---dev
| +---work
| | |
| | +---.git
| | +---src
| | +---...
| |
| +---bare-repo.git
|
+---other
从工作回购推拉到裸回购工作正常。然后我需要像这样重新组织目录:
/
+---dev
| +---work
| | |
| | +---.git
| | +---src
| | +---...
|
+---git
| +---bare-repo.git
|
+---other
在 /dev/work
期间,我将遥控器 URL 更改为:
git remote set-url origin /git/bare-repo.git
这个命令成功了,但是当我尝试 push
我得到:
fatal: '../bare-repo.git' does not appear to be a git repository
fatal: Could not read from remote repository.
有意思。而 git remote -v
显示
origin /git/bare-repo.git (fetch)
origin /git/bare-repo.git (push)
git 配置文件包含:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[branch "master"]
remote = ../bare-repo.git
merge = refs/heads/master
[remote "origin"]
url = /git/bare.repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
因此,set-url
并未更改分支主管的 remote
。应该是?我觉得不是。所以我发现更改远程 'origin' 的 URL 的命令不是最好的。我想我可以编辑配置文件并手动更正路径,但正确的步骤是什么?
我不知道这是怎么发生的:
[branch "master"] remote = ../bare-repo.git merge = refs/heads/master
但是中间那一行应该读作:
remote = origin
有了这个修复,其他一切都应该正常工作。