如何使用一个遥控器推送到一个网址并从另一个网址拉出?

Dón*_*nal 5 git github

我已经创建了这个存储库的克隆.如果我运行以下命令,我会看到我的本地存储库被配置为使用我的克隆来获取/拉取,如预期的那样.

$ git remote show origin
* remote origin
  Fetch URL: https://github.com/domurtag/airbrake-grails.git
  Push  URL: https://github.com/domurtag/airbrake-grails.git
Run Code Online (Sandbox Code Playgroud)

我希望我的本地仓库取代主仓库(我克隆的那个)并推送到我的克隆.我做的第一件事是将主仓库添加为远程:

$ git remote add cavneb https://github.com/cavneb/airbrake-grails.git
Run Code Online (Sandbox Code Playgroud)

如果我再次运行,git remote show origin我会看到相同的输出,所以显然我需要做一些其他事情来表明cavnebrepo应该用于获取,但我不确定这是什么.

如果相关,我已经显示了以下内容.git/config:

[core]
    repositoryformatversion = 0
    filemode = true
    logallrefupdates = true
[remote "origin"]
    url = https://github.com/domurtag/airbrake-grails.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[remote "cavneb"]
    url = https://github.com/cavneb/airbrake-grails.git
    fetch = +refs/heads/*:refs/remotes/cavneb/*
Run Code Online (Sandbox Code Playgroud)

Chr*_*ial 11

您正在寻找的命令是:

git remote set-url origin https://github.com/cavneb/airbrake-grails.git
git remote set-url origin --push https://github.com/domurtag/airbrake-grails.git
Run Code Online (Sandbox Code Playgroud)

但我强烈反对这样做.我不确定,但我会认为这会使git混淆很多,因为git假设这是同一个回购.所以当你推动时,下一次获取的结果应该改变 - 这显然不会.

处理你的情况的正确方法是将主仓库添加为额外的远程(我会称之为upstream),当你想要拉它时,只需:

git fetch upstream
git merge upstream/master
Run Code Online (Sandbox Code Playgroud)