临时更改我的Git远程源(origin)

3
我当前有一个仓库,但我想临时使用另一个仓库推送更改,然后在选择时切换回原始仓库并再次推送到那个仓库(这是由于访问主要仓库的原因)。
所以我想知道,如果我想改变推送到的仓库,我需要做的只是在我的git配置文件中更改origin,例如:
[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[remote "origin"]
    url = git@bitbucket.org:myname/my-repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

我只需要更改这一行代码吗:

url = git@bitbucket.org:myname/my-repo.git

我需要将值更改为新值,然后再次更改回去以返回到主存储库吗?...还是还有其他事情要做,如果是这样,是什么呢!?


2
我不完全理解你的用例,但个人建议你设置另一个远程。你可以使用 git push origingit push whatever 来决定你要推送到哪里。(请注意,你永远不会使用 Git 提交到远程,提交操作始终在本地进行。) - Chris
@Chris 抱歉,是我不好。我没有想清楚,我的意思是推送到哪里,而不是提交。我已经更新了我的问题。 - Brett
2个回答

5

您可以直接将代码推送(push)或拉取(pull)到远程代码库:

git push git@bitbucket.org:myname/my-other-repo.git HEAD:refs/heads/foo
git pull git@bitbucket.org:myname/my-other-repo.git refs/heads/foo

这正是我所搜寻的,谢谢! - trash80

4

作为分布式版本控制系统,Git允许您管理多个远程仓库。如果只是临时的,请不要触碰您的origin(原始仓库)- 只需添加一个单独的远程仓库。无需编辑配置文件,请使用命令行:

git remote add temp git@bitbucket.org:myname/my-other-repo.git

使用以下命令将代码推送到新远程库:

git push temp

解决访问问题后,请同步源:

git push origin

在这里阅读更多关于 git remote 的信息:https://git-scm.com/docs/git-remote


刚试了一下,当我执行 git push -u temp master 命令时,它将配置文件中 [branch "master"] 下的 remote = origin 更改为 remote = temp。这样做没问题吗? - Brett
1
是的,如果您没有明确指定git push/pull/fetch的远程,则它只是一个默认的远程。请查看此处以获取有关“branch”和“remote”部分中各种选项含义的详细说明:https://dev59.com/01gQ5IYBdhLWcg3wGgBY。 - Kombajn zbożowy
太好了,谢谢你提供链接,我相信它会很有帮助的! :) - Brett

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接