3

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

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

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

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

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

或者我是否为我现有的 git 存储库创建一个新的推送和获取“远程”?

或者是其他东西?

使困惑。

4

2 回答 2

4

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

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

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

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

于 2011-08-02T18:56:52.020 回答
3

Egit 用户指南的“分支”部分可以帮助:

分支创建对话框

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

您可以根据需要/需要创建尽可能多的本地分支(即您不需要在任何地方推送的分支)。

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

于 2011-07-05T04:08:52.943 回答