【问题标题】:EGit Local vs. Remote repositoriesEGit 本地与远程存储库
【发布时间】:2011-07-04 23:19:34
【问题描述】:

我是 git 的新手,正在思考应该如何使用 git 和 egit。从 egit 教程中,我在 GitHub 上设置了一个存储库,将我的 Eclipse 项目从我的本地工作区推送到远程 GitHub 存储库,我可以将更改推送到 GitHub,切换分支,查看 GitHub 上的更新等。这一切都很有意义。

查看 Git 存储库资源管理器,我有一个“本地”分支列表,没有“远程跟踪”分支,也没有列出“远程”。当我从本地分支创建分支时,egit 对话框显示“您正在基于本地分支创建分支”并建议我应该从远程跟踪分支创建分支。

所以我的问题是,我是否正确使用了 egit?

我应该继续将更改推送到远程 GitHub 存储库吗?如果是这样,一旦我共享项目并且其他开发人员克隆存储库并开始对远程存储库进行更改,会发生什么?

或者我现在应该放弃本地存储库并通过克隆我最初从工作区创建的现有 GitHub 存储库来设置新的远程存储库吗?

或者我是否为我现有的 git 存储库创建一个新的 Push and Fetch “Remote”?

还是别的什么?

困惑。

【问题讨论】:

    标签: eclipse git egit


    【解决方案1】:

    由于您在本地系统上创建了 repo,然后将其推送到 github 而没有创建遥控器,因此您手头没有遥控器。远程只是远程存储库 URL 的简短别名。要解决此问题,请从存储库视图创建一个远程和推送和获取配置。为了在本地仓库中填充远程跟踪分支,您需要运行一次 fetch。完成此操作后,您可以使用“推送到上游”而不是更复杂的 Team > Push... 对话框,该对话框允许动态定义所有参数。使用本机 git 命令行时,您会发现那里实现了相同的概念:

    与 “$ git push [url] [refspec]”(例如“$ git push https://github/user/myrepo.gitmaster:master”) 您显式传递所有参数,这类似于 EGit 中的 Team > Push...

    与 “$ git push [remote]”(例如“$ git push origin”) 您推送到由给定远程配置参数定义的存储库(检查 .git/config 以查看这些参数或在 Eclipse 中从 egit 首选项打开存储库配置),这类似于 EGit 中的 Team > Push to upstream。通常这种方式使用的 refspec 是在基于远程跟踪分支创建本地分支时隐式配置的。也可以稍后添加此配置,但因为这更多 繁琐的手动配置,另一种方式更方便。

    如果您克隆远程存储库,则您从中克隆的存储库将作为远程“源”存储在您的克隆中。这样您就可以跳过手动配置遥控器。仅当您从头开始创建存储库时才需要这样做。

    【讨论】:

      【解决方案2】:

      "Branching" section of the Egit User Guide 可以提供帮助:

      没有义务创建一个名为远程跟踪分支的本地分支(请参阅“Having a hard time understanding git-fetch”以很好地理解“远程跟踪分支”)。

      您可以根据需要/需要创建任意数量的本地分支(即您不需要推送到任何地方的分支)。

      但是,如果您没有看到任何远程分支,那么您可能一开始就没有获取该 GitHub 存储库:请参阅 Fetching。

      【讨论】:

      • 所以在最初在 GitHub 上创建我的存储库然后将代码向上推送之后,我应该克隆存储库使其成为远程存储库吗?
      • @David:不,远程仓库仍然是远程的,无论是否克隆。当您从远程仓库(您已经拥有:您当前的项目引用作为 GitHub - 远程 - 仓库的上游仓库)获取分支时,远程跟踪分支就会发挥作用。所以我会尝试获取(从 EGit 甚至从命令行),看看是否有远程分支。我还会转到命令行(来自 msysgit 安装的 bash 会话,在 Eclipse 旁边)查看git branch --all 返回的内容。
      • 谢谢,我创建了一个新工作区并克隆了我的 GitHub 存储库并导入了我的项目,出于某种原因,这对我来说更有意义。
      猜你喜欢
      • 2017-05-02
      • 2011-09-16
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      相关资源
      最近更新 更多