代码之家  ›  专栏  ›  技术社区  ›  Trip

如何从一个存储库切换到下一个存储库

  •  1
  • Trip  · 技术社区  · 14 年前

    我使用的是以前开发人员提供的github存储库。

    我是这个项目上唯一的程序员,所以我把这个项目交给了我自己的github存储库。

    $> git status
    

    它返回:

    => Working directory clean.
    

    但我知道这不是因为我做了几次承诺。因此,我的本地框的代码与它在我的存储库中所指向的不同。

    我的问题是。显然我已经完成了一半。我需要重新分叉来更新,然后我就好了。或者我需要运行一个特殊的命令来让我的本地框知道它的“git status”命令是针对一个新的repo来进行比较的?同样,我是否错过了其他非常重要的东西:D?

    谢谢大家。

    3 回复  |  直到 14 年前
        1
  •  3
  •   Community basarat    7 年前

    你可以用 git remote 管理遥控器

    • 重命名原点
        git remote rename origin old_origin
    
    • 添加新原点
        git remote add origin git://github.com/my/forked/repo.git
        git fetch origin # will create all the remote branches references 
                         # in your local repo
    

    setup a new upstream

    git branch --set-upstream master origin/master
    

    “这个” nothing to commit (working directory clean) “信息 git status 不会阻止你推。
    更改原点后,应看到:

    $ git status
    # On branch master
    # Your branch is ahead of 'origin/master' by xxx commits.
    #
    nothing to commit (working directory clean)
    

        2
  •  0
  •   mipadi    14 年前

    git status 只显示工作目录的状态,而不是整个存储库的状态。好像你只需要换一下遥控器 git push git pull 默认情况下使用。打开 .git/config 找到你的 branch.<branch> remote.<remote> 条目。例如,你的 master 条目可能如下所示:

    [branch "master"]
        remote = origin
        merge = refs/heads/master
    

    只要改变 remote (分叉的)遥控器。

    此外,您的远程输入可能如下所示:

    [remote "myremote"]
        url = git://github.com/me/repo.git
        fetch = +refs/heads/*:refs/remotes/origin/*
    

    您可以添加 push 主人 默认情况下推送分支:

    [remote "myremote"]
        url = git://github.com/me/repo.git
        fetch = +refs/heads/*:refs/remotes/origin/*
        push = master
    
        3
  •  0
  •   Trip    14 年前

    总的来说,但我应该把它包括在这个答案中。在这之前,我手动修改了我的.git/config以包含新的存储库url。这就是为什么我不必按照冯的建议重新命名或添加任何原点。

    然后我就猜出来了

     $> git fetch origin
    

    From git@github.com:gotoAndBliss/hq_channel
     17326ca..043d395  master     -> origin/master
     * [new branch]      panda_streaming -> origin/panda_streaming
     + 6ec9bf8...becbcc6 testing    -> origin/testing  (forced update)
    

    然后我得到了git的身份

    # On branch testing
    # Your branch is ahead of 'origin/testing' by 9 commits.
    

    我推动了源代码测试,我想我已经达到目标了。