我是git的新手,并且围绕着我应该如何使用git和egit。从egit教程,我在GitHub上设置了一个存储库,将我的Eclipse项目从我的本地工作空间推送到远程GitHub存储库,我可以将更改推送到GitHub,切换分支,查看GitHub上的更新等等。这一切都有意义。
查看Git Repository资源管理器,我有一个“本地”分支列表,没有“远程跟踪”分支,我没有列出“遥控器”。当我从本地分支创建分支时,egit对话框指示“您正在创建基于本地分支的分支”,并建议我应该从远程跟踪分支创建分支。
所以我的问题是,我正确使用egit吗?
我应该继续将更改推送到远程GitHub存储库吗?如果是这样,一旦我共享项目并且其他开发人员克隆存储库并开始对远程存储库进行更改,会发生什么?
或者我现在应该放弃本地存储库并通过克隆我最初从工作区创建的现有GitHub存储库来设置新的远程存储库吗?
或者我是否为现有的git存储库创建了一个新的Push and Fetch“Remote”?
还是其他什么?
混淆。
答案 0 :(得分:4)
由于您在本地系统上创建了repo,然后将其推送到github而没有创建远程,因此您手边没有遥控器。远程只是远程存储库URL的简短别名。要解决此问题,请从存储库视图创建远程和推送和获取配置。要在本地仓库中填充远程跟踪分支,您需要运行一次fetch。一旦完成,您可以使用“推送到上游”而不是更复杂的团队>推送...对话框,允许动态定义所有参数。使用本机git命令行时,您会发现在那里实现的相同概念:
与 “$ git push [url] [refspec]”(例如“$ git push https://github/user/myrepo.git master:master”) 你明确地传递了所有参数,这类似于Team>在EGit中按...
与 “$ git push [remote]”(例如“$ git push origin”) 您将推送到由给定远程配置参数定义的存储库(检查.git / config以查看这些参数或从Eclipse中的egit首选项打开存储库配置),这类似于Team>在EGit中推送到上游。通常,在基于远程跟踪分支创建本地分支时,以这种方式使用的refspec是隐式配置的。也可以稍后添加此配置,但由于这更多 繁琐的手动配置,另一种方式更方便。
如果克隆远程存储库,则克隆的存储库将作为远程“origin”存储在克隆中。这样,您可以跳过手动配置远程。只有在从头开始创建存储库时,才需要这样做。
答案 1 :(得分:3)
"Branching" section of the Egit User Guide可以提供帮助:
没有义务创建一个名为远程跟踪分支的本地分支(请参阅“Having a hard time understanding git-fetch
”以充分了解“远程跟踪分支”。
您可以根据需要创建任意数量的本地分支(即您无需在任何地方推送的分支)。
但如果你没有看到任何远程分支,也许你首先没有获取GitHub仓库:请参阅Fetching。