赞
踩
如果你新的Git或一般意义上的分布式版本控制系统,那么你可能会想读Git为Eclipse用户第一。 更多的背景和细节可以在网上找到的书箴Git。
如果你是来自CVS,你可以找到常见的CVS工作流GitPlatform-releng / Git工作流。
当存储库的历史是改变(从技术上讲,每当创建一个提交),Git跟踪用户创建的提交。 识别包含一个名称(通常是一个人的名字)和电子邮件地址。 这个信息存储在文件~ / .gitconfig
在专用的钥匙。
EGit会问你这些信息当您创建您的第一个承诺。 默认情况下,这个对话框只显示一次,直到你创建一个新的工作区或勾选复选框“显示初始配置对话框”Git首选项页面:
你也可以取消勾选“不要再显示这个对话框”如果你想以后再看到它。
而不是使用此对话框,您可以使用Git改变这种信息配置:
user.email
和user.name
添加环境变量首页
你的环境变量。
注意,如果您使用Cygwin,你应该已经有了首页
集。例如,如果你安装CygwinC:\ cygwin
弗雷德,你的用户名,那么Cygwin应该已经设置首页
来C:\ cygwin \ \弗雷德
(或类似的)。 你可以通过输入验证回声%家里%
在Windows命令提示符,或echo $ HOME
在Cygwin壳。
EGit需要这条路径来查找用户配置(.gitconfig)。首页
应该指向您的主目录。C:\Users\Tom
。确保正确的情况下!如。C:\用户
而不是C:\Users
可能会导致问题。
如果首页
变量没有定义主目录将被连接计算HOMEDRIVE
和HOMEPATH
。
如果两个首页
和HOMEDRIVE
没有定义列出
就会被使用。
EGit如果显示一个警告首页
不是显式地定义的。 记住,如果你家庭环境变量设置Eclipse运行时,你仍然会看到下面的警告。 你必须重新启动Eclipse,认识到房屋价值。
如果你使用Git Windows作为EGit的同伴,确保EGit知道Git安装,这样就可以找到“系统设置”宽,如核心。 autocrlf。去设置,看下团队> Git >配置系统设置选项卡。
如果你选择其中一个选项时使用Git从命令行提示你安装Git窗户,然后系统的位置宽设置填充路径和一切都很好。 如果没有,使用Browse按钮来定位安装Git,例如C:\程序文件(x86)\ Git。
这个建议也适用于其他Git的用户包装材料,例如Git在Cygwin或TortoiseGit。
非windows用户理论上应该检查这个设置,但系统范围的设置通常不用于非windows平台。
HelloWorld
。 (在这种情况下,项目建成你的Eclipse工作区以外的)。HelloWorld
。HelloWorld
项目。 如果你的项目已经存在于现有的工作树Git存储库存储库是自动选择的。. classpath
和. project
和.settings
文件尚未置于版本控制之下。.gitignore
在项目文件夹中有以下内容:/bin
本
文件夹从Git跟踪文件的列表。.gitignore
版本控制(团队>添加):.gitignore
在Package Explorer中显示。 进入过滤器,选择右边的向下箭头的Package Explorer选项卡显示视图菜单。.gitignore
。.gitconfig
文件在您的主目录。Hello.java
并实现它。src / Hello.java
在历史的资源列表视图中打开你的最后承诺的变化比较的观点。
恭喜,你已经掌握了你的第一个项目使用Git !
在下一个屏幕上可以看到您可能使用的url来访问你的新的存储库:
进一步的信息关于先进SSH配置(如使用腻子或另一个SSH代理EGit)是可用的EGit FAQ(SSH)节。
找到所有练习和幻灯片在这里。
遵循练习# 1准备Git教程。
Git是建立在一些简单的和非常强大的想法。 了解它们有助于理解更容易git是如何工作的。
存储库或对象数据库存储所有对象组成的历史项目。 这个数据库中所有对象来确定一个安全20字节sha - 1哈希对象的内容。 这有几个好处:
Git有四个对象类型:
对象存储在数据库. /对象
目录中。 对象存储为松散的对象或者在单个的包装格式有效储存和运输。
信任
Git提供一个内置的信任链通过安全的sha - 1哈希表,允许它来验证如果对象从(可能不可信)获得源是正确的和没有被修改,因为他们已经创建。
如果你得到签名的标签如项目发布,您可以验证如薄铁片(项目领导的)公共签名密钥,git确保信任链包括以下几点:
所有涉及的对象名称可以使用sha - 1算法的一致性检查,以确保项目修改的正确性和整个历史是可以信任的。
的Git索引是一个二进制文件中存储. /索引
目录包含一个排序的清单文件名称,文件模式和文件元数据用于有效地检测文件的修改。 它还包含blob sha - 1对象名称的对象。
它具有以下重要的属性:
在Git是一个名叫引用提交。 有两种类型的分支,即“本地”和“远程跟踪”分支,起到不同的作用。
每当一个(本地)存储库提交更改,创建一个新的提交对象。 没有任何其他方法,它将很难跟踪的变化存储库,特别是当其他提交被添加到存储库,例如由于从远程存储库更新或查看另一个承诺。
当地分支机构有助于这项任务通过提供一个(本地)的名字可以找到“当前”提交。 更改提交到本地存储库时,树枝会自动更新为指向新创建的提交。
此外,可以添加一个所谓的上游配置本地分支与远程存储库同步时是很有帮助的。
远程跟踪分支时自动创建克隆和抓取从远程存储库。 远程跟踪分支的本地存储库总是对应于一个(本地)分公司远程存储库。 这样的一个分支的名字遵循一定的规范。
远程跟踪分支点一样的提交相应的分支在远程存储库中(当时的克隆/获取)。
远程跟踪分支可以用于自动创建上游配置当地的分支机构。
工作目录的目录是用来修改文件提交。 默认情况下它位于高一个档次。 git目录。 制作一个新的提交一般包括以下步骤:
你开始的新签出一个本地存储库的一个分支。 你想做一些改变和记录这些变化的快照存储库中当你达成你想记录状态。
工作目录中的每个文件可以是跟踪或开始回升的:
当你第一次克隆存储库时,工作目录中的所有文件跟踪和未修改的因为他们刚签出,你还没有开始编辑它们。
当你编辑文件,git会认出他们修改关于最后一个承诺。 你阶段修改后的文件到该指数提交了变化。 可以重复循环。
这说明了生命周期:
EGit设置Git存储库时,有两个建议的创建“生产性”(而不是“操场”)存储库:
第一个错误发生在您指定一个工作区文件夹在克隆或创建一个存储库中。
两个错误会发生当你从一个Eclipse项目使用Git分享向导,您已经创建了手动在工作区中没有采取预防措施(向导已经固定在最新版本)。
下面你会发现这些建议的一些动机。
Git存储库可以以不同的方式创建,例如通过克隆从现有的存储库,通过从零开始创建一个,或者通过使用EGit分享向导。
在任何情况下(除非你创建一个“裸”存储库,但这并不是这里讨论),新库本地硬盘上的一个文件夹中包含“工作目录”和元数据文件夹。 元数据文件夹是一个专门的子文件夹命名为“。 git”,通常被称为“.git-folder”。 它包含实际的存储库(即提交、引用、日志等)。
元数据文件夹对Git客户端是完全透明的,而当前工作目录是用来揭露核对库内容作为工具和编辑的文件。
通常情况下,如果这些文件是用于在Eclipse中,他们必须导入到Eclipse工作区以这样或那样的方式。 为了做到这一点,最简单的方法是检查。 项目文件的“进口现有项目”向导可以创建项目。 因此,在大多数情况下,存储库包含Eclipse项目的结构类似于这样的:
上面有以下影响:
你可以先创建一个项目,然后分享它。 分享项目向导支持创建(参见Git存储库项目添加到版本控制中)。
您还可以创建一个新的空Git存储库从Git存储库视图(参见创建一个存储库)。
你可以创建多个项目在一个常见的目录,然后创建一个对所有项目在一个公共存储库:
为了使用Git存储库的内容在Eclipse工作台,所包含的文件和文件夹必须进口项目。 原则上,这可以通过使用导入通用的“新项目”或“进口… ”向导,因为一个Git存储库的工作目录是一个正常的本地文件系统的目录。 然而,新创建的项目仍将不得不手动共享与Git。 “从Git进口项目”向导将项目导入和分享,还提供了一些额外的便利。
启动向导中单击从Git进口> Git >项目。
如果你开始在一个干净的工作空间,第一页将显示一个空的列表:
在继续之前,您需要添加一个或多个Git存储库列表。 如果你已经存储库列表中,这一步是可选的。
有两种方法可以将Git存储库添加到列表:
第一个选项是使用如果你从一个远程存储库开始。 克隆操作将该库复制到本地文件系统。 克隆向导中点击开始克隆……。 克隆向导是更详细地描述克隆远程存储库。 在成功完成复制操作,新克隆存储库自动出现在列表中。
第二个选项是有用的,如果你已经有一个存储库在本地文件系统,例如因为克隆它之前,你从头开始创建或从其他地方复制它。 点击添加……,选择本地文件系统中的一个目录。 新闻搜索触发该目录中包含的一个运行着Git库的扫描。 如果找到Git存储库,他们会被列出,你可以选择存储库来添加:
成功完成后,存储库列表应包含某些存储库:
现在,您可以选择一个存储库,然后单击下一个。 第二向导页面,您将决定如何导入项目。
这个页面提供了一组单选按钮,允许你选择一个向导和一个目录树,选择允许您选择工作目录的一个文件夹。
如果这个单选按钮被选中时,向导将扫描本地文件系统. project发现文件和显示项目。 这是最舒适的,应该使用的解决方案. project文件签入到存储库。
在这种情况下,目录树底部是活跃。 你可以限制搜索. project文件通过选择一个文件夹在这棵树,否则存储库的完整的工作目录将被扫描。 在下一个页面上,发现项目的列表会显示(如果有的话)。 这非常类似于通用导入现有项目向导,但是有一些额外的过滤功能:
当选择此选项时,通用的“新项目”向导将打开。 “新项目”向导完成后,“从Git进口项目”向导将简历和协助分享您刚才创建的项目。
在这种情况下,底部的目录树是不活跃的,选择不相关的“新项目”向导。
这个选项没有时是很有帮助的. project文件可用的也不是一个合适的“新项目”向导。 如果选择,向导将生成一个. project文件和存储库的项目文件夹的工作目录。 结果是一个“一般项目”。
默认情况下,新生成的项目将指向存储库的工作目录。 通过选择一些文件夹目录树的底部,你可以生成的项目文件夹。
点击下一个打开一个简单的对话框,输入一个名称和一个新项目目录:
默认情况下,显示项目名称匹配的目录的名称。
使用Git克隆向导可以克隆远程存储库使用不同的传输协议。
向导可以从“从Git进口项目”向导使用
文件>导入… > Git >从Git项目> > Next >克隆URI
或“Git存储库视图”(中描述管理存储库)使用克隆一个Git仓库工具栏按钮或视图菜单。
在向导的第一个页面上输入的位置远程存储库:
支持以下协议:
注意:如果你是在防火墙后面,您可能需要配置您的代理设置(首选项>一般>网络连接)。 许多HTTP代理配置块的url包含用户名和/或密码)等。http://fred:topsecret@egit.eclipse.org/egit.git因此建议使用用户,密码字段向导页面的底部,凭证将传输HTTP头。
在下一个页面上选择分支机构应当从远程存储库:克隆
如果你不确定你需要哪些部门,简单地点击“选择所有”。
您可以过滤树枝由输入他们的名字使用列表上方的文本控件。 但是请注意,树枝,总是会检查列表所示,即他们不会被过滤。
在下一个页面上定义要存储在本地文件系统上的存储库和定义一些初始设置。
默认的根路径存储Git存储库可以配置的偏好团队> Git >默认存储库文件夹
你可以按完成在这个页面或新闻下一个如果你正在与Gerrit代码评审你想配置相应的存储库。
EGit的克隆向导可以扩展其他插件为了寻找特定的后端主机上存储库git存储库。 目前这样的一个扩展是用于Gerrit Github,很快就可以。 都需要安装相应的Mylyn连接器。 Gerrit Mylyn连接器扩展然后还将配置的远程存储库Gerrit一起工作。 这也可以从Git存储库视图或更改完成后,明白了Gerrit配置。
当你安装了这样的一个扩展,克隆向导打开时,选择页面,你可以选择不同的存储库克隆来源:
如果你正在与一个当地分支机构有一个所谓的“上游的配置”,最方便的方式推动依赖于这个上游配置。
通常本地分支创建基于远程跟踪分支。 由于远程跟踪分支与远程和远程包含所需的信息访问相应的远程存储库,可以自动创建这个上游配置(见在创建本地分支分支的更多信息)。
当推动上游从本地分支,进一步推进不需要参数,因此可以不执行基于存储上游配置显示另一个对话框。
为了推动上游,右键单击项目并选择团队>推动上游或者右键单击并单击存储库中存储库视图推动上游。 还有一个动作中可用Git命令组。
推动将执行后立即选择行动。 一旦完成后,会显示一个确认对话框显示的信息将数据和/或错误消息:
上游推可以配置使用“配置… ”按钮确认对话框(见上图)或通过右击并选择一个项目团队远程> >配置推动上游……。
配置的配置对话框将显示推uri映射和相应的分支(RefSpecs):
分为三个主要部分所示的对话框。 在上部,当前签出的分支和远程信息后显示。 通常本地分支创建基于远程跟踪分支,自动配置的本地分支跟踪这个远程跟踪分支。
在这个特定的例子中,有一个警告消息,有几个分支,使用远程命名“起源”。 这意味着将配置的变化会影响这些分支,不仅分支的分支领域。 移动你的鼠标在工具提示中显示这些分支的警告。
URI组包含两个控件,一个URI字段和推动URI列表。 如果列表为空,URI URI字段将被用于推动,如果至少一个条目在推动URI列表,列表中的URI将使用。 应该注意的是,如果将URI列表为空和URI是改变在这个对话框中,新的URI还将用于拉,所以应该小心当这样做。
RefMapping组允许指定一个或多个RefSpecs(见Refspecs为推动)。
“添加”将打开一个向导,帮助小RefSpecs的创建。 您还可以将RefSpec从剪贴板粘贴到列表中。
单击“高级”控制将显示/隐藏“编辑(高级……) ”按钮,允许更复杂RefSpec编辑相似推动向导在下面。
降低按钮栏中的按钮允许您保存您的更改并立即进行推动,保存更改没有抓取,管制(推不保存配置),恢复您的更改和取消。
或者,您可以使用直接推动支持在推动一个偏远的规范。
最强大的(但也最复杂的)方法是使用推向导
团队远程> >推…
另请参阅Refspecs更多的解释。
点击下一个
如果这是你第一次通过ssh连接到这个存储库必须接受远程的主机密钥存储库
如果您的ssh密钥保护的密码(建议)你必须进入这里
点击添加所有分支机构规范
声明,这是一个方便的方式你想当地的分行名称映射到同一分支上游库上的名字你想推动变化。
点击添加所有标签规范当地标签1:1映射到标签库中你想努力。
如果你想当地分支机构映射到那些在上游库中以不同的方式你可以定义在以下方法更详细的映射规范
这将把新定义的映射列表规范推动
其他常见推动规格:
删除一个裁判在目标存储库从下拉列表中选择要删除的裁判远程ref删除并点击添加规范。 这将创建一个对应的条目规范推动列表。 或者你可以输入要删除参考文献的规范,这也可以使用通配符。 将删除裁判规范将在目标库中删除匹配的参考文献。
如果你添加多个相互冲突的裁判规范他们会用红色标注的,解决这个问题通过删除或编辑冲突规范。 还可以编辑规范就地在列表中规范推动
点击下一个
这将打开推确认对话框显示预览更改将被推到目标库中。 如果这个不匹配你的期望回来并相应地纠正你把规格。
点击完成
根据您选择的选项将结果报告对话框显示。 它显示的列表提交推到远程。
在盒子底部显示确认消息从远程服务器。 在任何错误的情况下你会发现从远程服务器错误消息。 看到消息对于一个给定的列表条目列表中选择它。
点击好吧关闭对话框。
如果你正在与一个当地分支机构有一个所谓的“上游的配置”,最方便的方式获取依赖于这个上游配置。
当地分支机构通常是基于远程跟踪创建分支。 因为远程跟踪分支与远程和这个远程包含所需的信息访问远程存储库,可以自动创建这个上游配置(见在创建本地分支分支的更多信息)。
当从上游抓取,这个持久化配置可以用来获取自动而不需要提供进一步的参数在一个对话框。
为了获取从上游,点击从上游Team >获取在一个项目或点击获取从上游在存储库中存储库视图。 还有一个动作中可用Git命令组。
获取将选择行动后立即执行。 一旦完成后,会显示一个确认对话框显示所获取的数据信息和/或错误消息:
上游获取可以配置使用“配置… 在确认对话框”按钮(见上图)或通过点击从上游团队远程> >配置获取…上一个项目。
配置对话框将显示配置获取URI和分支映射(RefSpecs):
分为三个主要部分所示的对话框。 在上部,当前签出的分支和远程信息后显示。
可以使用URI字段添加/改变获取URI。
RefMapping组允许指定一个或多个RefSpecs(见Refspecs为获取)。
“添加”按钮将打开一个向导,帮助小RefSpecs的创建。 您还可以将RefSpec从剪贴板粘贴到列表中。
单击“高级”控制将显示/隐藏“编辑(高级……) ”按钮,允许更复杂RefSpec编辑相似获取向导。
降低按钮栏中的按钮允许您保存更改并立即取回,保存更改没有抓取,管制(获取不保存配置),恢复您的更改和取消。
抓取的另一种方法是使用直接获取支持获取指定远程。
最强大的(但也最复杂的)方法是使用Fetch向导
团队>获取…
另请参阅Refspecs更多的解释。
点击下一个
点击添加所有分支机构规范
宣布这是一个方便的方式要映射上游库中的分支的名字你想获取变化从1:1到当地分支的名字相同。
如果你想分支或标签在上游库映射到本地分支机构以不同的方式你可以定义在以下方法更详细的映射规范
这将把新定义的映射列表规范获取
点击完成
获取结果对话框显示。
特别选择的上游部门拉还没有得到EGit的支持。
可用的替代方案包括:
如果你正在与Gerrit(http://code.google.com/p/gerrit/),EGit允许您方便地推动和获取更改Gerrit服务器。
Gerrit操作不会出现在任何菜单除非你先配置存储库。 为此,打开查看和浏览到Git存储库远程表示您想要使用Git存储库服务器并选择Gerrit配置…。
右键单击并选择一个项目团队远程> >推动Gerrit……或者右键单击并选择存储库中的存储库节点视图推动Gerrit……
会出现一个对话框,让您选择或输入一个URI和分支机构名称:
的对话框也提供一个内容辅助Gerrit分支。 只需按下Ctrl + Space”来激活这个(咨询时出现的提示悬停在附近的小灯泡装饰Gerrit分支领域)。 远程跟踪分支将显示为当前的存储库。 注意,这个内容帮助过滤,为了看到所有提案,您需要确保有Gerrit分支领域空之前请求协助的内容。
在点击完成,当前签出的提交将被推到指定的Gerrit分支。 同时,URI和Gerrit分支值将被铭记,建议当以后再打开对话框。
这允许更大的灵活性在处理不同Gerrit并行分支(例如开发和热修复补丁之间频繁切换)。
当一个变化是推动Gerrit和评论者建议做一些改进,一个新的补丁集的变化必须上传。 首先,编辑提交(s):
然后再次推到相同的分支。 Gerrit会检测到你更新现有的变化,将添加新补丁集。
右键单击并选择一个项目团队从Gerrit >远程>获取…或者右键单击并选择存储库中的存储库节点视图获取从Gerrit…
会出现一个对话框,让您选择或输入一个URI和变化以及一些额外的选项:
而不是乏味的复制粘贴或手动输入变化的ID,对话框也提供了一个内容辅助功能的改变。 只需按下Ctrl + Space”来激活这个(咨询时出现的提示盘旋在附近的小灯泡装饰变化字段)。 Gerrit服务器将联系和所有可用的变化将获取和内容帮助对话框所示:
与输入过滤列表的变化。 在选择的变化内容帮助,改变字段将充满了正确的信息。
您还可以复制下载命令从Gerrit WebUI打开之前到剪贴板获取从Gerrit…向导。 这将自动填充对话框的值需要获取这种变化。
如果您使用的是Gitflow(http://nvie.com/posts/a-successful-git-branching-model/),EGit允许您使用Gitflow操作,管理功能,发布和热修复补丁分支。
Gitflow操作不会出现,除非Gitflow选择存储库配置。 为此,打开上下文菜单在Git存储库存储库视图并选择Git Init流。
你可以跳过这一步如果存储库已经被另一个客户机配置为Gitflow。
右击存储库,选择Git流,并选择适当的启动命令。
会出现一个对话框,允许您输入一个名称为Gitflow分支,自动添加正确的前缀。
去EGit历史视图,右键单击提交你想开始释放。在上下文菜单中,去Git流,并选择开始释放提交< sha1 >。
标签装饰展示Git-specific Git版本控制下的信息资源。 他们出现在所有视图显示模型对象,像Package Explorer,Project Explorer,导航,层次结构视图。
Git标签装饰可以开启全球偏好菜单(Window > Preferences)一般>外观>标签装饰和更详细的设置可以修改在偏好团队> Git >标签装饰。
有两种不同类型的标签装饰:文本装饰品装饰和图标。
文本装饰出现在左边或右边的文本标签。 他们可以在首选项对话框中配置团队> Git >标签装饰在文本装饰选项卡。 例如,默认是一个肮脏的资源>左边的名字。
这些都是默认设置:
对文件和文件夹的变量“名称”,“脏”和“了”。“脏”和“了”旗帜,如果他们是真的,冒号后的文本显示。
项目有额外的变量“库”,“分支”和“branch_status”。 的“库”变量显示库的名称。
的“分支”变量显示当前签出的分支机构的名称。 如果没有签出分支,装饰显示提交的缩写名称(前七个字符后跟省略)。 如果标签和/或远程分支机构是指向这个承诺,“猜测”启发式应用也显示这个信息:标签优先于远程分支,如果一些标记应用,显示最新的一个。 如果有几个远程分支机构或标签没有修改日期,然后应用字母排序,最后一个。 例如:检查提交e49f576……指的是标签v.0.7.1的库egit:
的“branch_status”变量显示当地分支的状态相比remote-tracking分支上游设置为:
可以使用状态变量与一个领先的空间是这样的:{ branch_status }。 这个结果在空间添加只有当状态不是空的。
图标装饰出现在右下角的图标显示在前面的标签。 他们可以在首选项对话框中配置团队> Git >标签装饰在选项卡图标装饰。
这些是默认的装饰:
总结所有修改跟踪文件的状态显示在提交对话框。 通过双击文件更改提交比较对话框将显示。 EGit目前总是提交工作的内容树(对应于git commit -在命令行)比较对话框将比较工作树最后提交。
在日常工作中你会经常想看到你最后的承诺之间的变化,该指数,当前工作树。 为了做到这一点,选择一个资源(项目、文件夹或文件)在project explorer或导航器,右键单击下一个动作与。
分析具体的内容提交您应该使用历史视图支持这个任务更好,看到任务吗检查提交。
如果你使用任何的子菜单操作与在一个单一文件,比较编辑器将显示,否则(因为EGit 3.1)同步视图将被打开,允许您浏览变化;通过双击更改文件在这个视图中,比较编辑器将打开这个文件。 在Synchronize视图工具栏可以选择你想要的Sychronize模型用于更改你检查。
资源在当前工作目录的区别,最后提交当前分支可以从上下文菜单与>修订。 这个功能也可以在提交对话框。 双击一个条目在提交对话框中打开一个对话框进行比较。
当前工作树,该指数之间的差异(基于当前选中的资源)可以从上下文菜单与> Git索引。
你可以使用Staging视图比较指数和头部。 双击一个文件“上演了变化”窗格中显示比较其索引版本和版本。对比指标,另一个还没有实现。
工作树的区别(包括没有提交变化)和一个分支或标签可以查看(因为EGit 3.1)通过选择项目(s)你想比较和点击与>分支,标签或引用。 结果是过滤您选中的资源开始前比较。
你也可以与一个分支通过单击动态菜单团队>同步在一个项目和选择裁判你想同步工作树。 如果Git存储库包含多个Eclipse项目选择一个项目,是足够的同步视图还包括所有其他项目。
如果你想与裁判不同步动态菜单中列出的点击团队>同步>其他……。 然后在同步向导中点击你想要到的目的地列库同步并选择裁判你想比较。
当点击“包括本地未提交的更改相比”地方,没有举行变革和已经变化会比较所示。
还可以比较多个存储库。 在本例中为每个库裁判在同步向导中选择你想比较。
而不是使用一个比较编辑器你可以启用快速diff支持看看文本编辑器内的变化。
这个特性可以通过启用一般> >文本编辑器编辑>快速Diff首选项页面:
不同的注释将被显示在编辑器的左边:
如果你移动你的鼠标注释你看到的内容版本比较:
默认条件下,对头部的比较。 你可以确定这个版本比较,所谓quickdiff基线,从上下文菜单中提交的历史视图(>历史上显示)。 有三个菜单项:
检查一个给定的提交
历史视图显示diff在左下方面板中。 右下窗格中选择一个文件显示了这个文件的差异。
的行为在右下窗格中双击一个文件取决于比较模式切换按钮的状态。 如果是,比较编辑器将打开,比较当前提交的文件内容与祖先提交内容,如果是,将打开一个编辑器显示当前提交的文件内容。
修改项目坚持git git版本控制下通过提交历史。 从国家签出从git存储库修改您的项目直到你已经达到你满意,然后提交所有这些变化到存储库作为一个单一的提交。 每个提交代表一个良好定义的所有文件的快照存储在存储库中。
修改一个项目已与Git修改或删除文件共享在Eclipse中或直接在文件系统。 不需要提前告诉Git关于这些操作。 新文件应该版本控制必须显式地将Git版本控制:
或者你可以显示无路径的文件在提交对话框和检查显示无路径的文件复选框来选择包含提交。
标签修饰符,如在Package Explorer视图中,显示:
详情见标签装饰。
这里有一个例子在Package Explorer中:
创建提交与EGit的首选分段视图因为它总是显示当前git状态为选定的存储库,并允许阶段(添加git索引)和unstage(从git索引删除)修改文件。 双击一个文件中Unstaged变化面板对git索引相比,双击一个文件中阶段性的变化面板比较它的索引版本和头部。 分段视图中您可以编辑提交消息不断,因为它是一个视图,而不是模式编辑器。
提交更改点击团队>提交…在资源的上下文菜单项目。
Git跟踪所有更改整个存储库获取所有版本控制文件的修改库中没有关于如果这些文件驻留在相同的Eclipse项目。
一旦你已经引发了提交提交对话框将会弹出
选择您想提交的更改,输入提交消息并创建提交,出版社按Ctrl + Enter(命令+输入在Mac OS X)提交消息文本字段,或点击提交。
临时视图或提交对话框中指定提交消息描述变化。
是一种很好的做法开始与短消息第一行总结的变化紧随其后的是一个空行,然后消息体。 为了确保这些消息还git命令行工具可以格式化线不能格式化太宽(这是由灰色垂直线表示)。
提交消息的文本是由Eclipse拼写检查器检查错误。 拼写检查器可以通过Eclipse配置首选项>一般> >文本编辑器编辑>拼写。 新闻Ctrl + 1打开快速修复,可以帮助修复拼写错误。
提交消息编辑器支持文件名的内容帮助提交的文件部分所示的对话框中,按下Ctrl + Space,可以激活。
脚注标记
最后一段的提交消息(即最后一个空白行)后,可选页脚标签可能遵循:
Bug: 3176 Change-Id: I267b97ecccb5251cec54cec90207e075ab50503e Reported-by: Joe Developer <joe@dev.org> Signed-off-by: William Shakespeare <will.from@the.past>
这些标签的语义具体项目或工具
选择修改提交
一个例子:想象自上次提交你有固定一个bug。 java和B.java你已经添加了一个新的方法。 这两个修改在逻辑上是相互独立的,因此您可能需要提交两个独立的承诺。 在这种情况下,你初启提交,取消选择B。 java设置的承诺文件并指定A.java只提交消息描述错误修复。 第一次提交成功后您就叫再次提交,即将到来的对话框将B.java你剩余的变化。 现在你指定一个提交消息描述的方法,完成第二次提交。
提交对话框中的新文件添加到项目,没有显式地添加到版本控制(见“修改内容”)将提交对话框中列出的如果你选择“显示无路径的文件”复选框。 如果你选择前面的复选框列表中的这些文件会被添加到存储库,并承诺一旦你按提交按钮。 由一个排除的文件.gitignore文件将不会显示在这里。 如果你没有其他的变化比这种无路径的文件存储库中的复选框显示无路径的文件默认选中。
如果你知道你错过了什么当提交一个改变你可以解决这个问题:打开分段视图或再次提交对话框,指定当前承诺将“修改”之前的提交当前分支。 新提交将取代前一个。 这个功能通常是用于纠正不正确的提交之前发布到其他存储库。
注意:不修改提交,如果他们已经被发布到一个共享库,因为这可能会打扰别人,如果他们已经更改基于出版的改变。
修改的例子:
想象你有更改一个文件包含一个错字
提交后改变你检测一个错字。 为了纠正这种错误和相应的提交修复源文件中的错误
然后再打开临时视图或提交对话框和选择修改之前的承诺工具栏图标。
你之前提交的提交消息(一个你想替换)然后进入“提交消息”字段。 这不仅能让你有机会纠正错误版本控制文件的内容还应纠正错误(如输入错误)在提交消息描述您所做的更改。
作为一种替代方法来修改你可以提交修正版本作为后续提交。 但是第一个提交包含错误是毫无用处的,为了不杂乱的历史与不必要的提交你的项目你应该修改提交。
请注意,修改提交已经发布到其他存储库可能会引起麻烦。 一旦你将提交到远程存储库或你的本地存储库被别人克隆,你应该非常小心修改提交。 在这种情况下发布第二个提交纠正第一个可能是一个更好的解决方案。 否则通知所有其他你修改发布提交,这样他们就可以做出相应的反应。
变化还没有承诺,没有了可以恢复一组选定的文件。选择文件(s)并单击Package Explorer或类似的视图替换为在Git索引>文件。
点击替换为>头替换所选文件的版本。 您还可以使用重置为与选择硬有力地重置整个工作树的存储库负责人提交的状态(参见下面的“重置当前头”)。 这个操作将恢复工作树中的所有更改和索引。
点击替换为>分支,标签或引用替换所选文件版本对应的一个分支,标签或引用。
点击替换为>提交替换所选版本选择提交相应文件。
变化已经上演,甚至承诺可以“恢复”,取而代之的是一个从以前版本提交。 在Package Explorer中选择单个资源或一个类似的观点,然后单击使用>替换以前的修订。 存储库将决定最后提交修改选中的资源,并提供替代工作区资源这个提交的内容。
这主要用于“删除”单一文件提交(提交恢复工作空间资源时,他们有效地移除当前提交)。 尽管这也适用于文件夹和项目,更换一个文件夹或者项目的结果“之前修订”可能是意想不到的。
quickdiff特性可以用来恢复个人修改一个文件。 你可以通过线,恢复块(se范围变化线)或选择。 选择所有文本恢复选择还原一个完整的文件。
变化,介绍了由给定提交可以恢复一个自动创建的新提交当前签出的承诺。 提交的是恢复不需要签出。
选择提交历史视图,打开上下文菜单并选择回复提交。 这将改变,选择提交引入了通过创建一个新的提交当前签出的承诺。
Git提供了可能性重置当前分支的负责人其他提交。 它选择重置指数和提交的树匹配工作。 注意,此操作会影响整个存储库中的所有文件和文件夹。
你可以选择做一个硬复位,复位和软复位。
选择团队- >重置……上一个项目。 这将打开一个对话框,你可以选择一个分支或一个标签。
历史视图中选择提交并打开上下文菜单。 在这里你找到的条目硬重置,混合重置和软复位。
这可以通过使用一个硬复位。 如果你重置为当前头(通常最后提交你的分支)的选择硬你提交和重置当前签出分支覆盖工作树和索引的内容。 你可以在三个方面:
到一个本地存储库提交更改是不切实际的,没有使用本地分支(见上面部分的概念)。 此外,通过使用几种不同的分支,可以工作在不同的平行变化通过切换在这些分支。
因此,在开始改变本地存储库之前,第一步是创建一个本地分支。 当地分支机构是“基于”提交或远程跟踪分支。
第二个选择是推荐使用远程存储库时,因为它简化了任务的同步本地与远程的变化将所谓的“上游配置”添加到新的地方分支。
看到分支创建对话框为更多的细节。
每个局部分支基于本地跟踪分支指示远程存储库,可以有一些额外的配置远程分支,和所谓的策略。 看到分支创建对话框为更多的细节。
一般来说,这个配置时自动创建的本地分支基于远程跟踪分支。 然而,它可以显示和编辑存储库配置或通过点击显示在>属性在库视图中的一个分支。
如果有太多的分支列表不显示。 在这种情况下
这总是完成了分支创建对话框。 新创建的分支可以检查通过选择一个复选框在对话框。
下面的所有操作显示相同的行为对以下:
有几个动作可以创建一个本地分支。 所有这些行动使用分支创建对话框:
输入的名称你想创建本地分支。 如果一个源分支是选择远程跟踪分支EGit将建议创建新的本地名称相同的分支。
点击选择……选择源分支应当依据新的分支。 通常,这是一个远程跟踪分支,但它可能是任何分支机构或提交在存储库中(选择一个本地分支不推荐如果你正在与一个远程存储库)。如果你想基地新分支指的是然后单击提交没有分支创建分支…从提交History视图所示。
当源分支选择您可以配置新分支的“上游配置”有助于获取和推动时,特别是当拉。 根据所选的选项可以选择以下配置:
你可以查看和编辑配置的上游存储库配置或通过选择显示在>属性在库视图中的一个分支。
EGit还支持git配置参数branch.autosetuprebase
,将其设置为总是
如果你想使用默认变基拉的策略。 如果你将这个存储库配置这是用于所有本地分支创建基于远程跟踪分支在这个库中,如果您将它在您的用户配置将用于你所有存储库。
在下部中,您可以决定是否分公司应立即检查。
点击配置分支…在库视图中的一个分支,以改变当地的上游配置分支。选择远程(“。 ”是指本地存储库)和分支选择的本地分支应该追踪。 如果你想要检查“变基”拉变基当地分支到新变化跟踪分支到达,否则将会合并新变化跟踪分支到达。
合并包含变化从另一个分支或标记,自从他们的历史与当前分支分开以后,到当前签出的分支。
你可以从:触发合并
这是推荐的观点开始合并,因为它向您展示您的存储库的历史。 确保切换按钮显示所有存储库的变化和显示所有分支和标签历史上选择视图的工具栏。 这将确保你看到完整的历史存储库,以决定哪些你想合并分支。 选择提交分支机构或你想合并并单击标记标签合并。
在Package Explorer或导航器,打开上下文菜单项目节点。选择团队>合并…
现在合并对话框打开:
在对话框中,选择一个分支或标记你想与你当前的分支合并。 该对话框还允许您选择合并南瓜和快进选项。
你可以从任何触发一个合并分支和标签节点和从存储库节点如果你已经查清了当地的一个分支。 看到合并分支或标记为进一步的细节。
下面快进配置选项合并由EGit认可,用于所有的分支:
[merge] ff = true|false|only
当你只想某个分支的配置,使用以下:
[branch "name"] mergeoptions = --ff|--no-ff|--ff-only
当你开始从团队合并菜单”团队>合并… “你可以快进,南瓜或no-commit合并选项合并对话框中:
按合并按钮之后,接下来的场景可能发生:
合并的结果总结在一个对话框:
在第一行你看到的结果合并。 可能的结果是“已经是最新的”,“快进”,“合并”、“冲突”或“失败”。 一个可能的“失败”的原因可能是有冲突性的变更工作目录。
在第二行你看到新负责人提交的一个成功的合并(已经是最新的,快进或合并)。
表中你看到的提交合并。
合并会导致冲突,需要用户操作。 是这样的内容文件时不能自动合并。 这些冲突标有标签装饰在分段视图中。 使用分段视图找到为了解决这些冲突的文件是方便自登台视图只显示修改的文件,这样你不必阅读你所有的资源,但只有那些可能需要您注意的解决冲突。
也有冲突的资源是装饰在导航树像Project Explorer或者Package Explorer视图
文件的合并冲突的内容提供文本标记(见冲突http://www.kernel.org/pub/software/scm/git/docs/git-merge.html _how_conflicts_are_presented更多的细节)。
解决冲突,你必须做以下步骤:
存储库包含有冲突的文件文本标签修饰符“|冲突”连接到存储库的名字。 资源冲突和文件夹包含此类冲突的资源冲突的标签装饰。
Alternativley,很容易找到一个暂存区域冲突的所有文件的列表。打开Git分期视图。 与修饰符将看到冲突的文件在左边。
文件内容,一对相互矛盾的变化发生的地方标注标记< < < < < < < = = = = = = =,,> > > > > > >。 之前的部分= = = = = = =一般,和之后的部分通常是他们一边http://www.kernel.org/pub/software/scm/git/docs/git-merge.html _how_conflicts_are_presented更多的细节)。
在编辑器中打开文件,编辑内容和保存编辑器。
注意这一步不是强制性的。 EGit不检查内容来决定是否解决冲突。 下一步是相关的。
一旦你完成了点击编辑一个文件添加到索引在分段视图或单击团队>添加git索引添加解决冲突。 这也将标志着相应的冲突解决。
当你解决所有冲突的文本库标签装饰变化“合并”。 没有冲突的标记了。
当存储库状态“合并”(与文本标签表示修饰符“|冲突”连接到存储库名称)合并终于可以提交。
分段视图中您可能希望删除冲突的言论从标准合并提交消息生成的合并操作和更新如果有必要提交消息。 然后单击提交为了提交解决冲突。
如果你想使用Commit对话框提交解决冲突的点击团队>提交…在导航树中。 提交对话框打开,并带有一个稍微不同的看起来比较正常提交:
后按“提交”按钮完成合并。
如果一个合并导致冲突可以中止与硬重置为当前分支合并。 这可以通过状态“冲突”和“合并”状态,即之前和之后你已经解决了冲突。
团队的硬重置可以做菜单,Git存储库视图或历史的观点。 看到恢复所有本地和阶段性变化为更多的细节。
变基实行犯链到一个给定的提交。 一个典型的场景是开发一些功能的“主题”分支创建从一个“主”分支在某个时间点上。 当“大师”更新与其他开发人员而变化如“主题”仍处于开发阶段,也许有必要将这些更改合并到“主题”。
假设我们开始发展“话题”,创建“话题”从主分支。 在这一点上,“大师”和“话题”提交“E”。 当第一个提交(“A”)被添加到“主题”,提交存储库的历史是这样的:
A topic / D---E master
现在,让我们假设有一些更有“主题”以及一些提交“主”(例如,“大师”可能追踪一些远程存储库和有一些变化,远程存储库被拖入“大师”):
A---B---C topic / D---E---F---G master
现在,为了把“大师”到“主题”的变化,变基的“主题”到“主”会产生
A'--B'--C' topic / D---E---F---G master
从技术上讲,提交的序列中包含在“主题”,但不是“主”应用(即择优)上的“主”。
注意,有A,B,C既不失去也不改变,而不是一个新的链提交一个“B”,C '同样的变化和提交信息与原始提交(但不同的提交id)将被创建。 老犯,B,C仍在对象数据库但不可见了,因为他们不再可以从任何分支。 A,B,C”不同于旧的,因为他们现在还包含变化F和G。
让我们看一看一些简单的例子:我们有一个文本文件”FamousWords。 txt”,最初可能是一些内容
Chapter 1 Once upon a time... Chapter 2 To be or not to be
现在,在“主题”,创建了两个提交,第一个添加一个法语翻译第二章,另一个添加一个德国翻译:
在“主题”:首先改变后
Chapter 1 Once upon a time... Chapter 2 To be or not to be Être ou ne pas être
在“主题”:第二个改变后
Chapter 1 Once upon a time... Chapter 2 To be or not to be Être ou ne pas être Sein oder nicht sein
同时,“大师”的文件被改变通过增加两个提交添加法语和德语翻译第1章:
Chapter 1 Once upon a time... Il était une fois Es war einmal Chapter 2 To be or not to be
提交历史是这样的:
现在,如果被重置到“主”“话题”,这两个主题的变化应用于相同的序列在他们应用在“主题”的进化。
结果是一个合并的版本“FamousWords.txt”:
Chapter 1 Once upon a time... Il était une fois Es war einmal Chapter 2 To be or not to be Être ou ne pas être Sein oder nicht sein
与提交和提交历史的历史“主题”在当前“大师”:
到目前为止,我们认为“主题”的变化可以auto-merged为“主人”。 在现实世界中,然而,它可能发生在变基,你遇到冲突。 现在,如果提交是择优包含与“主人”的变化,变化,冲突变基操作中断后应用冲突变化;冲突以通常的方式可视化标记(冲突)和用户有机会决定
如果解决冲突选择,冲突已经解决了手动,更改必须“添加”,然后变基可以恢复,即下一个链中的提交将被应用。
如果跳过选择、冲突性的变更将恢复和下一个链中的提交将被应用。
如果中止被选中,变基操作将被完全回滚,存储库返回到其原始状态变基之前就开始了。重复这个过程直到最后提交成功应用或跳过。 最后,“主题”分支将被修改指向最后一个提交。
为了更好地理解“跳过”,让我们回顾上面的介绍。 如果我们假设提交“B”导致一些冲突与当前“大师”,用户可能决定简单地跳过“B”;新提交历史变基后就会是这个样子:
A'--C' topic / D---E---F---G master
历史上的观点:
在Git存储库视图:存储节点上,变基…打开一个对话框,要求用户选择一个分支,没有检出;当前签出分支将被重置到选中的分支。 “分支”节点(本地和远程跟踪分支,但不是在当前签出的分支),变基立即重置当前签出分支到选中的分支:
变基是否成功,将显示一个确认对话框,该对话框可以抑制勾选复选框;Git的偏好首选项页面允许对话框再次出现。 如果对话框被抑制了,一个“信息”消息写入Eclipse日志。
如果冲突发生在变基,一个对话框显示给一些信息提交,导致冲突。 通过选择一个单选按钮,您可以决定是否
除非跳过或中止在对话框中,选择冲突必须手动编辑解决冲突的文件。 当完成编辑,文件必须声明为得到解决通过将它们添加到git索引。
如果你取消了变基向导找到文件冲突的最简单方法是使用分段的观点。 点击合并工具与冲突文件打开这个文件的合并工具。Merge工具也可以从团队中的相应条目的菜单。
编辑该文件,直到你满意解决冲突并单击添加到索引在分段视图对应的条目。 这个阶段解决冲突和冲突标志着解决。
毕竟解决了冲突,继续操作被启用。 为了继续变基操作是点击停止由于冲突继续或者点击按钮进行视图变基>继续在存储库中的存储库节点视图。
如果不是解决冲突你想跳过点击提交导致冲突跳过代替。
如果你想中止正在进行的变基操作点击中止。 这会将一切你开始变基之前的状态。
只要库在“重新”状态,用户可以随时中止变基在Git存储库视图使用菜单操作“变基>中止”,这是可用的存储库节点上。
交互式变基允许快速编辑一系列提交使用以下行为定义在一个变基计划:
警告:不重写提交您已经发表在远程存储库,它被认为是不好的做法除了实验或审查分支,因为你的同事可能已经他们的工作基于这些提交出版,你也会迫使他们重写他们的变化。 虽然是一种常用的工具在审查分支如使用Gerrit返工变更时必须改进基于评审反馈。
首先检查本地分支(这里分支toRebase包含提交系列你想编辑的)。 然后打开这个存储库,然后单击History视图交互式变基在提交前最古老的提交要重写。 通常这是一个起源/主点。
这将打开新的视图Git交互式变基显示变基计划的提交要修改序列中的拓扑顺序会在变基操作处理。所有提交的初步行动选择这将择优挑选相应的承诺。 注意,EGit也倒回到头提交前编辑列表中的第一个为了准备重新存储库。
这里最初的变基计划,第一个提交应用于重绕头在先,然后所有其他提交重置的顺序点击“开始”时,他们将被应用。
接下来我们准备变基计划,提交使用上下箭头按钮提交进行重新排序,并选择变基行动我们想应用提交我们想调整。
在这个例子中我第一次重新排序的提交,以便实现新的计算器操作立即实现测试之前提交各自的操作。
在这里我想修改提交在本系列:
我想跳过提交“待办事项清单”,因为它包含了一个私人TODO列表我使用而实现的操作,我不需要这个了。我需要修改提交“添加除法运算”因为这是马车,这是揭示了相应的测试,在后面的变化实现的,因此我选择行动编辑在这里提交“添加乘法操作”显然提交消息头中有一个错误,所以我选择重述。我想提交de7647b压成它的前身,因为它没有意义的JavaDoc解决独立于它所描述的实现,因此我选择南瓜南瓜和它的前身。
当你完成计划变基点击开始开始变基命令的执行。 EGit将处理计划,停止在提交您所选择的行动需要你干预交互地编辑相应的承诺。
在我们的小例子变基停止在第一次提交“添加除法运算”因为我们暗示,我们想编辑它。 最后选择提交以粗体突出显示。 这个时候跳过第一步提交“待办事项清单”已经处理,本系列提交不再在我们提交我们重写而执行变基。 也提交“添加分割操作”已经择优因为我们想修改它。 注意,EGit已经分期视图中选择“修改”选项以准备修改这个提交。
现在我们在这个提交修复bug,舞台上的变化需要修复bug,必要时调整提交消息并单击提交为了修正bug提交。
让我们看一看历史视图看到结果提交图。 现在点负责人重写固定提交“添加除法运算”,注意其SHA1不同于原始版本因为我们重写了致力于修复bug。
接下来,我们点击继续为了恢复处理变基计划。 变基选择提交“分测试”和“添加用施工”和停止再次提高提交消息编辑器,这样我们可以修复错误的提交消息后提交。
编辑提交消息来修复错误并单击好吧为了修改提交消息和恢复处理。
变基选择未来3犯,南瓜提交“添加力量”和“动力操作解决javadoc”成一个新的提交,再次停止,这样我们才能准备新提交的提交消息。 与连接的初始化消息的提交被压扁。
并单击编辑被提交的信息好吧恢复处理。
变基选择最终提交“测试”力量和成功完成。
最后让历史上有另一个看起来视图检查交互式变基命令的结果。 比较现在提交的重写系列中包含分支与旧提交“toRebase”系列仍然可见我放在另一个地方分支“开始”为了保持旧的系列可见。
如果你碰巧出错在多步骤的过程中,你总能触及中止为了停止在进步和变基操作回滚到起点。
当你开始使用此功能可能是一个好主意的地方第二个起点上的本地分支(在这个例子中我给),使之更明显发生了什么,直到你熟悉这个强大的git命令。
EGit还支持Git配置选项rebase.autostash。 设置这个选项变基。 autostash = true自动创建一个临时藏匿在变基操作开始之前,并将其应用在操作结束后。 这意味着您可以运行变基也脏worktree交互式变基。 然而,小心使用:最后隐藏应用程序成功后变基可能导致非平凡的冲突。
一个给定的提交C在分支稳定- 1.0包含一组改变你想要集成在当前发展分支主。
A--B--C--D stable-1.0 / D---E---F---G master HEAD
择优挑选提交C创建一个新的提交C '在头顶提交当前签出的分支主。C '将包含执行的变化C应用到当前签出的分支主。
A--B--C--D stable-1.0 / D---E---F---G--C' master HEAD
你目前工作分支“feature2”(头)。 有一个在另一个分支提交”功能1”。
你想把变更由提交”功能1”到你当前的开发分支”功能2”。
标签也可以从团队创建菜单,点击团队先进> >标记……输入标签名称和消息,选择提交你想标记(默认),点击好吧。
做什么如果你标记错误的提交或某种错误结束了?
如果你的旧标签还不推你可以纠正它在以下方式:
为了删除一个标签,选择要删除标签,然后单击删除标签。
注意:这是一个糟糕的实践删除标签已经被发表在一个公共服务器,甚至一些Git服务器不允许删除标签,以确保可追溯性的释放通常标记。 也看到了部分“re-tagging”Git参考文档的标记命令。
轻量级标记所示存储库视图以及创建标签对话框,但不能编辑。标记蓝色图标显示在库视图中,注释标签装饰着一个黄色的人。
历史上看,标签显示为黄色标签。
标签还没有签署EGit的支持下,使用命令行git - s标签代替。
”一个补丁一个软件是为了解决问题,或更新计算机程序或其支持数据”(维基百科)。 一个补丁文件包含一组资源变化的描述,可以自动应用到另一个eclipse工作区或git存储库。
eclipse使用的补丁格式(团队>应用补丁git)和(git应用或git是在命令行上)是不同的。 可以创建两种类型的EGit的补丁。
这是最常见的用例为一个分布式的版本控制系统。 开发人员提交变化对当地特色或错误修复分支和想出口这个变成一个补丁文件。
从历史观点:这是可以做到的
补丁文件将包含提交的区别及其母公司历史视图。 注意,history视图应用的过滤器也用于创建补丁。
向导包含两个页面。 第一页允许您选择补丁的位置:
补丁文件的名称从第一行创建的提交消息。
在第二页你可以改变补丁格式。
目前有一个复选框:出口在git中补丁格式。
二进制差别目前没有生产。
目前在git EGit并不能够应用补丁格式。 可以使用标准的Eclipse应用补丁(统一的diff)格式使用团队>应用补丁……。 Git补丁可能包含非标准扩展重命名和二进制差别。 EGit的当前版本没有生成这些扩展。
“Git存储库视图”是主要的UI元素,以便同时使用多个存储库(即在一个Eclipse工作空间)。
这个视图可以使用菜单打开道路
Windows >显示视图>其他…… > Git > Git存储库
这也是部分“Git存储库探索”的角度可以使用菜单路径
Window > Open Perspective >其他…… > Git存储库中探索
如果你已经有项目工作区与Git存储库,您可以使用
团队>存储库视图中显示
在任何资源打开视图。
最初,Git存储库视图是空的。 为了添加存储库,有几种选择:
您可以从您的本地文件系统添加一个存储库没有克隆到Git存储库视图。 这可以帮助你建立一个新的Eclipse工作区和想重用你的Git存储库。 使用添加一个现有的Git存储库从视图的工具栏按钮:
会出现一个对话框提示您为您的本地文件系统的目录中。 在选择正确的目录,你可以点击搜索按钮来查看Git存储库的列表在这个目录中。 你可以选择部分或全部找到存储库,并将它们添加到视图中使用好吧:
为了克隆存储库,请参考克隆远程存储库。 克隆操作成功后,新克隆存储库应该自动出现在Git存储库视图。
您还可以使用克隆一个Git仓库从视图的工具栏按钮开始克隆向导:
请参考克隆远程存储库关于如何使用该向导。
您可以创建一个新的空库在本地文件系统中。 这是有用的,如果你以后想要创建一个或多个新项目低于这个存储库。 另一个usecase是创建一个新的裸存储库,您可以推动。 使用创建一个新的Git存储库从视图的工具栏按钮:
会出现一个对话框,让你选择一个目录:
如果你选择复选框创建裸存储库新存储库将没有一个工作目录。 你只能通过推动变化添加内容从另一个存储库中。
作为一个快捷方式,也可以粘贴Git存储库的本地文件系统路径从剪贴板中这一观点。 为了做到这一点,复制Git存储库的路径(的完整路径.
文件夹)到剪贴板,然后打开上下文菜单的视图面板:
或者点击编辑>粘贴从主菜单中(或相应的键盘快捷键)。 如果剪贴板内容不合适,将显示一个错误弹出,否则自动添加存储库应该出现。
视图后填充某些存储库,它应该看起来像这样:
为了从存储库中删除存储库视图中选择一个存储库,然后单击“删除库”
为了删除一个存储库,存储库视图中选择它,然后单击“删除库”。
然后确认你想删除存储库,并决定如果你想删除存储库的工作目录中包含的项目存储库从Eclipse工作区中。
下面的屏幕截图显示了最上面的两个级别的Git存储库视图:
根节点代表库本身。 节点文本显示库的名称和它的位置在本地文件系统。 “分支”和“标签”节点允许浏览和操作标签和分支。 “引用”节点列表其他引用不分支或标签,最明显的是“头”和“FETCH_HEAD”符号引用(参见Git引用)。
“工作目录”节点显示的位置和结构工作目录的本地文件系统(只有在发展的情况下,或non-bare库,对于裸存储库,这个节点总是一片树叶)。
最后,“遥控器”节点允许浏览和操作远程配置用于获取和推动。
为了使用Git存储库的内容,其文件和文件夹必须导入到Eclipse工作区以项目的形式。 而Git克隆向导允许做这样的进口直接克隆后,Git存储库视图允许独立触发项目进口的克隆操作。
“导入项目…… ”上下文菜单可以在“库”节点以及任何“文件夹”节点中“工作目录”节点和“工作目录”节点本身:
提供的基本原理导入项目……行动在一些节点是一些向导用于导入的项目可以考虑文件系统目录,例如导入现有项目向导。 如果进口开始从“库”或“工作目录”节点,存储库的工作目录设置上下文,否则目录对应当前选中的“文件夹”节点。
项目导入中讨论的细节使用新项目向导。
“分支”节点允许创建、浏览、结帐和删除本地和远程分支。 “标签”节点允许浏览和查看标签。 “分支”节点和“标签”节点允许合并分支或标记当前签出的分支,也与当前签出分支同步。
为了提高可读性,分支机构组织在两个子节点的本地和远程分支,分别仅显示缩短名称,例如代替“refs /头/大师”你会发现一个条目“主”在“本地分支”节点,而不是“refs /遥控器/产地/大师”缩短名称“起源/主”显示“远程分支”节点下。 同样,标签的名字,缩短省略“refs /标签/”前缀:
分支和标签可以检出双击相应的节点或通过选择相应的上下文菜单项。
当地分支机构可以使用创建分支创建对话框。 向导通过右键单击打开“分支”,任何“分支”的“当地分支机构”和“标签”节点)。
删除分支使用相应的上下文菜单项。
目前您可以触发重新定价的另一个分支上单击右键检出的分支变基在任何本地或远程跟踪分支节点。
你可以从任何触发一个合并分支和标签节点和从存储库节点如果你已经查清了当地的一个分支。 看到合并为进一步的细节合并功能。
就可以进行比较了在你的头的变化改变在任何其他分支或标记。 右键单击并选择同步……在任何分支机构或标记。 然后打开eclipse同步视图包含一个表示的变化包含在你的头而不是其他分支或标记(传出变更),反之亦然(的变化)。 请参考文档同步特性的更多细节。
有两种方法可以确定哪些分支或标记目前检查:检查分支/标记节点布置一个复选标记和“头”条目下的“符号引用”节点显示了(全部)检出分支的名字:
右键单击并选择重置……在任何分支机构或标记。 这将打开一个对话框,允许您决定在重置类型。 看到重置你当前的头为进一步的细节。
如果头“分离”,即不是指向的本地分支,但提交或标签,那么没有一个或几个“检出”标记可能出现在树,因为任何数量的远程分支或标签可能指向当前签出提交。 国家你在当你的头是分离不记录任何分支(这是自然- - -你没有任何分支机构)。
引用节点显示一些引用除了分支和标签(这个列表是动态的,依赖于存储库)的当前状态:
如果引用是象征性的,即指向另一个参考,目标引用的名称所示,紧随其后的是引用的对象ID的目标。 如果引用不是象征性的,只显示了对象ID。
在上面的示例中,头是一个象征性的引用指向分支refs /头/主”(即分支”主“签出”,而FETCH_HEAD点直接提交226 a7f……。
以下操作可以在右键单击一个参考:结帐(除非参考已经签出)创建分支”……”。
“工作目录”节点的本地文件系统结构可视化Git存储库。 也可以打开一个文本编辑器上的文件:
另外,通过拖拽文件可以打开的编辑器区域工作目录。
同时,所有文件和文件夹节点以及在“库”节点,一个选项是给复制文件系统特定的路径到剪贴板。 这是很有用的,有时需要的路径,例如打开一个目录使用一个文件浏览器或复制和粘贴库视图实例之间(见上文关于存储库添加到视图)。 的复制到剪贴板也可以使用编辑>复制(或相应的键盘快捷键)。
在Eclipse中集成的通用“属性”视图允许查看和编辑Git配置(全球和repository-specific配置)。 如果“属性”的观点是开放的,它是在“库”时自动更新节点被选中。 下拉框(左屏幕截图中红色框)你可以切换显示存储库配置,既聚集全球配置和一个视图。 如果视图显示了存储库配置或全局配置,您可以打开一个编辑器对话框编辑按钮(右屏幕截图中红色框)。 编辑器对话框相同的功能作为首选项页面团队> Git >配置。
在Git存储库视图中,有一个属性在上下文菜单中,打开一个配置对话框允许编辑存储库配置。 这里,关键值对可以添加、更改或删除。 的开放按钮允许在文本编辑器中打开存储库配置文件。
“遥控器”节点允许浏览和编辑远程配置。 每个远程配置有一个名称和一个推动规范,取回规范,或两者兼而有之。 如果一个“远程配置”节点或它的任何孩子被选中时,属性视图将显示摘要的远程配置。 在这个例子:有一个远程配置命名“起源”,只有一个取规范,但没有推动规范:
菜单操作提供了添加、配置和删除远程配置和获取,推动规范。
可以直接执行获取,推动远程节点上的(即没有向导)以及相应的“获取”和“推”节点:
注意,获取或推操作将立即执行异步工作;完成后你会得到一个确认弹出显示获取的结果。
“获取”节点包含一个所谓的获取规范和“推”节点包含一个所谓的推动规范。
创建一个默认获取规范克隆存储库时。 您可以编辑fetch与菜单项规范配置获取…。 这将打开一个向导。 在第一个页面中您可以编辑获取URI。 Ob第二页可以确定fetch裁判规范,明白了获取参考规范。
您可以创建或编辑一个推动规范菜单项配置推…。 这将打开一个向导。 在第一个页面中您可以编辑推uri。 如果获取获取URI指定自动列入推动规范和不需要额外的推动URI。 在第二页你可以确定裁判规范,明白了推动裁判规范。
这是通过使用上下文菜单操作“遥控器”节点。 启动一个向导要求新配置的名称以及配置是否取回,推动,或两个:
如果配置获取复选框被选中时,下一个向导页面请求的URI库获取:
点击改变……打开一个对话框,允许您选择一个URI。 下一步是定义远程规范获取URI。 看到获取参考规范关于细节。
如果配置推复选框被选中时,下一个向导页面请求的uri库来推动。 这实际上是一个列表,你可以将多个存储库。 点击添加....向列表添加uri使用上面的对话框一样。 您可以删除标记他们的uri列表和打击删除。 这一步是完全可选的,如果已经是一个获取URI定义。 在这种情况下,获取URI还将用于推动。 如果至少有一个URI定义在这个步骤中,它会覆盖获取URI。 在这个例子中,已经有一个获取URI,所以下一个启用按钮,即使没有推动URI列表中:
下一步是定义远程规范推动uri。 看到推动裁判规范关于细节。
新的远程配置完成后,将可见:
也可以添加、删除或更改获取/规范推动现有的远程配置使用上下文菜单。
如果和你一起工作Gerrit代码评审作为远程存储库服务器
选择Gerrit配置…从一个远程的上下文菜单。 这将打开一个向导,一个页面:
定期自动刷新视图。 的刷新工具栏中的按钮允许触发立即刷新:
如果与选择启用切换,相对应的文件或文件夹将自动显示当前工作台选择:
如果链接编辑器启用切换,相对应的文件或文件夹将自动显示当前活动编辑器:
如果布局层次分支启用切换,分行将显示在一个层次布局使用层次斜线(/)分隔符:
这可以帮助组织大量的分支。
“裸”Git存储库(相对于“发展”或“标准”存储库)没有工作目录根据定义,所以所有操作相关工作目录(退房、项目导入、浏览工作目录)没有这样的存储库。 存储库是可视化的“Bare-ness”“工作目录”节点,这始终是一片叶子:
裸存储库只改变了推动变化。
这是作为菜单操作在“库”节点。 请注意,这并不删除存储库,但只是从视图中删除节点。 如果有项目的工作区位于存储库的工作目录,用户将被提示确认删除这些项目从Eclipse工作区中。
命令>历史上显示将打开历史视图显示所有的变化选择存储库。
命令在> Reflog将打开Git Reflog视图显示所选的Git reflog库。
命令显示在>属性将打开属性视图显示选中的属性库。
EGit 0.11以来第一次与Mylyn可用来支持集成处理任务存储库。
您需要安装这个功能“EGit Mylyn”使用EGit Mylyn集成。 这也需要Mylyn安装。
看到Mylyn用户指南更多的信息如何处理任务。
Egit提交查看器允许提交在Eclipse编辑器中打开。
EGit提交查看器显示下面的提交信息:
这个检查提交提交查看器中显示。 提交将签出头会分离。
应用变化引入的承诺在提交查看器显示当前的核对提交或分支。
提交查看器可以打开从以下地方:
EGit支持搜索提交。
可以搜索的提交Git搜索标准的Eclipse搜索对话框中的选项卡。
这个对话框支持搜索文本或模式出现在不同领域Git提交的信息,作者,提交者,和提交的sha - 1 id,其母(s),与之关联的树。
提交搜索搜索结果显示在标准的Eclipse视图。 结果按库在树模式分组。 双击提交搜索视图将打开它提交查看器。
Git可以打开搜索页面选择Git搜索选项从搜索拉在Eclipse工具栏。
EGit的开放的Git提交对话框与Mylyn相似打开任务和核心开放资源对话框。 对话框中搜索每个配置的Git存储库的分支,标签,或提交sha - 1进入过滤箱并显示匹配的提交。
可以通过选择打开的对话框开放的Git提交Eclipse导航工具栏按钮。
EGit支持显示git责备信息编辑器内的统治者。
选择团队>显示注释行动文件选择打开编辑器,将显示一个注释统治者和提交文件中的每一行的作者信息。 悬停在统治者将显示一个弹出显示提交身份证、作者、提交者,提交消息和diff应用提交选定的块。
怪注释编辑器的外观和感觉的统治者可以从配置修正子菜单可以从上下文菜单。
点击开放的承诺开放的承诺提交查看器,点击显示在历史记录显示提交历史视图。 点击显示注释显示注释的父母提交提交所示盘旋。
你可以阅读更多关于Git子是什么以及它们是如何工作的Git社区书一章。
子库嵌套在一个父库。 所以做父母的克隆存储库时需要克隆子模块库,文件/文件夹可用在父库的工作目录。
检查克隆子按钮Git克隆向导将克隆克隆后的所有子模块库父库完成。
有一个子节点显示在Git存储库视图包含子库的。
给父母存储库中的所有子节点下显示以及信息提交当前签出。
你可以添加一个新的子模块库,选择一个存储库中Git存储库查看和选择添加子模块上下文菜单选项。
向导将提示路径和URL添加的子模块。 输入的路径将是相对于父库的工作目录和URL将被用于克隆在本地存储库。
一旦完成向导将克隆子模块,添加到索引,子模块将注册的.gitmodules文件以及在父库的. /配置文件。
有两个动作,可以用来更新子,更新子模块和同步子模块。
选择更新子模块子模块将查看提交行动中引用父为子模块库的索引。 这个命令将执行一个合并或变基如果已经配置的更新字段为选定的子模块的配置节在父库的. /配置文件。
选择同步子模块操作子模块将更新远程URL使用的子模块的当前值.gitmodules文件的根源母公司的工作目录库中。
团队项目集(.psfGit团队支持文件)的提供者。
导入一个现有项目集,使用进口…向导,然后选择Team Project Set从团队。
你可以选择一个文件,其中包含导入定义和选择进口项目添加到一个工作集。
在下一步中,克隆存储库,项目进口和连接。 这可能需要一段时间的大小取决于存储库。
创建一个项目设置为现有的Git项目文件,选择的项目/工作集已经连接到Git团队提供者。
然后打开出口……向导中,选择Team Project Set从团队。 你只可以选择出口工作集或项目,可以改善你的选择。 在下一步中,选择一个输出路径和完成向导。
你也可以手动编辑.psf文件。 每个项目都有一个条目是这样的:
<project reference="1.0,git://egit.eclipse.org/egit.git,master,org.eclipse.egit"/>
值之间用逗号分隔,有以下的意义:
每个项目都有一个条目。 对于相同的存储库中的多个项目,为每个项目创建这样一个条目相同的存储库URL。 导入是只克隆每个库一次足够聪明。
如果存储库包含一个项目的根,使用。随着项目的路径。
项目节点导航视图(导航器,Package Explorer等)以下Git行为可用于项目共享与Git团队提供者:
主要项目菜单
“远程”子菜单
“转向”子菜单
“高级”子菜单
在资源节点(文件和文件夹)导航视图下面的Git操作可用于项目共享与Git团队提供者:
菜单中的条目历史视图的提交列表
菜单项的历史视图Quickdiff子菜单
为了缓解使用最频繁使用Git的行动Git命令组可以激活显示一个Git工作台工具栏或菜单吗
探索Window > Open Perspective > Git存储库打开Git存储库探索视角
窗口>打开视图> Git > Git存储库打开Git存储库视图详细解释在这里。
Git版本控制下的资源历史视图是一个commit-centric视图的资源在一个给定的存储库中。 它可以用于执行以下任务:
可以打开历史视图
一旦打开视图,您可以激活与选择按钮的输入视图选择的浏览器自动同步。
History视图组织在多个窗格:
上面板是提交图显示提交日志倒序(或提交历史)(最新提交上)。 提交以下图,默认情况下两个窗格:左边,修订评论区,显示提交消息和文本Diff文件或文件的提交,并在右边,修订详细信息区域,显示一个表文件修改的提交。
此表的第一列描述的性质变化对每个文件:
较低的窗格的内容取决于选择上面板和这个选择改变时自动更新。
两个低窗格可以单独开关在上层窗格中右键点击并选择显示修改评论和显示修改细节,分别。
提交以上图,当前的输入是可视化。 输入总是一个工作区资源,一个项目中,一个文件夹或文件。 输入的类型后,路径显示,紧随其后的是库的名称方括号中包含的资源。
提交图形面积的主要部分历史视图。 默认情况下,它显示了当前签出的承诺及其所有祖先,即列表中的第一项是检查提交。以下图片是用来解释的一些特性History视图:
提交图表中的每一行对应一个提交。 分支机构、标签和头部显示如下:
(我们的示例中没有远程分支机构)。
线左边是实际提交图,显示了亲子关系的提交列表中(每个提交至少有一个家长,除了第一个提交在一个存储库)。可以有叉,这对应于一个分支操作,连接,对应于一个合并操作。 在我们的示例中,有一个分支“实验”提交后创建分支“beforeSplit”,和相同的文件被改变的“主人”和“试验版”分支。 最后提交的内容是一个合并提交,“实验”分支与“主人”合并分支。
确切的改变可以通过标记提交检查,查看修改评论区。 向下滚动时修改评论区域,文本差异的变化将是可见的,在我们的示例中它说的内容Project1 / f1 / file1。 txt从“修改”改为“修改大师”。 在选择下一个承诺(对应于“实验”分支),会显示一个类似的diff,称该文件的内容被改变从“修改”到“修改在实验”。 最新提交的结果合并“实验”到“大师”。 因此,新提交有两个祖先,“大师”和“试验版”行再次加入。
如果当前的输入已经是一个文件,右击开放在提交将打开一个编辑文件内容对应当前选中的提交。 如果选择提交的文件不存在,将会显示一条错误消息。 点击与工作树将打开一个比较编辑器比较当前选中的文件内容在工作区中提交的文件内容。
的开放和与工作树操作也可以通过双击执行提交:如果“比较模式”工具栏按钮(见下文),与工作树将被执行,否则吗开放。
可以比较两个提交的内容过滤的电流输入通过选择两个提交和右键单击相互比较。 如果当前的输入不是一个文件,有一个额外的菜单操作在树相互比较。 第一个行动打开Eclipse编辑器相比,第二次打开Git树比较视图。
此外,可以选择任意数量的提交并单击鼠标右键开放看到文件的所有版本选择对应提交每版)(一个编辑器将打开。
如果当前的输入不是一个文件,那么不会有菜单操作开放。 然而,可以双击一个条目修改详细信息区域。 如果模式是比较活跃,比较编辑器将打开显示更改的文件双击运行在当前选择的承诺(即diff文件内容的当前选中提交对提交的文件内容的祖先)。 如果比较模式并不活跃,与相对应的文件内容编辑当前选择的承诺。
过滤器的设置可以改变使用相应的工具栏动作(见下文)。 默认情况下,“资源”设置是主动的,即只有那些提交列表所示包含当前输入的变化。 如果当前的输入不是一个文件,所有的承诺都是表明,包含任何孩子当前输入的变化。
如果过滤器设置“资源”和当前输入是一个文件,然后提交列表只包含那些包含提交更改的文件。 这是有用的在分析的历史文件。 在某些情况下,然而,它也有助于看到其他承诺不改变实际的文件。 例如,它可能是有趣的,看看是否一个给定的文件是之前或之后的变化其他提交的文件本身并没有改变。 在我们的示例中,我们可能想知道是否有一个特定的变化是“前”或“后”提交标记为“Project1。” 通过改变过滤器设置从“资源”到“库”,这很容易做到:
其他两个设置的行为(“文件夹”和“项目”)是类似的,它们包括提交改变父文件夹中的任何资源当前的输入或任何资源在项目当前的输入,分别。 在上面的例子中,如果过滤器设置将使用“项目”,提交“Project2添加到存储库”将不会显示,这并不能改变什么是项目当前的输入(Project1)/ f1 /中。
另外,为了看到所有提交有关一个特定的项目,一个可以改变历史视图输入项目。 然而,file-specific菜单操作将不可用。
历史上第一个四个按钮的标准按钮刷新视图的工具栏,与选择,将和导航的历史。
如果“找到”工具栏按钮,将显示一个搜索栏下方的视图,允许搜索提交提交日志。 根据设置在搜索栏下拉列表提交的标题、评论,作者或提交者是搜索。
发现搜索热门标签在大胆的“下一个”和“前”按钮允许跳转到下一个或前提交匹配搜索条件:
接下来的四个按钮切换视图工具栏控制如何过滤显示的提交对当前输入:
按钮做单选按钮,即必须下来4个按钮之一。
请注意,并不是所有的组合过滤设置和电流输入有意义;例如,如果当前的输入是一个项目,“项目”选项实际上是一样的“资源”选项。
下一个按钮再次切换,激活“比较模式”。 如果是,某些双击操作(见上图)将打开一个比较编辑器,而不是正常的编辑器。
这种切换激活“所有分支”模式。 默认情况下,只有那些提交所示提交日志,可以达到从当前签出的承诺,即承诺图以当前签出的提交和更新提交没有显示。 如果这个按钮,所有提交将提交日志中显示。 这是来自我们的示例见下图。 分支“beforeSplit”目前签出;通过激活切换,较新的分支机构将成为可见:
大部分可以在视图菜单,工具栏操作。 此外,可用以下切换:
和滤子菜单允许配置过滤器设置
参参“额外”切换的可见性一定期间创建等操作取回,变基,合并,例如FETCH_HEAD ORIGIN_HEAD…… 这可以帮助消除混乱的历史观点。
“历史记录”切换显示Gerrit复习笔记的分支/ ref历史视图
“重命名”切换是否重命名选定的资源应遵循历史上看来,如果使用“资源”过滤器。这个参数也可以在偏好中配置向导首选项> > Git >历史>遵循重命名。
“修改评论”切换的visiblity修改评论区。
“修订细节”切换修改详细信息区域的可见性。
如果“相对时间”检查,提交日期显示为相对日期而不是绝对日期。
“电子邮件地址”切换显示提交者的电子邮件。
打开子菜单“修改评论”子菜单,更多的切换控制的外观修改评论区:
“标签序列”允许显示/隐藏的线指示的最后标记列表中的祖先的提交和下一个标签的继任者的名单提交,即标记前/后提交。
评论的“包装”和“填补段落”切换控制内的格式修改评论区。
“修订细节”和“修改评价”也可以右键点击提交图区域。
“标记序列”、“包装评论”和“填补段落”也可以右键点击修改评论区。
提交的上下文菜单图面积略有不同,这取决于当前文件或文件夹/项目,分别。 以下菜单项总是可用:
如果当前的输入是一个文件,还有一些其他的可用操作;如果选择了一个承诺,有三个额外的选项:
如果两个选择提交,菜单会出现如下:
如果超过两个选择提交,只有“开放”行动和“Quickdiff”菜单可用。
这个动作只有如果当前输入一个文件和一个提交被选中。 这将打开一个比较编辑器比较选择提交的文件内容与文件内容在工作树。
这个动作只有如果当前的输入是一个文件,并选择两个提交。 这将打开一个比较编辑器比较选定的提交的文件内容。
这个动作只有如果当前的输入是一个文件。 这将打开一个编辑器为每个选择提交显示文件的内容提交。
这个检查当前选中的提交。 为这个承诺如果一个分支存在,分公司签出,如果存在多个分支提交,将显示一个对话框,询问哪个部门应该检出。 如果不存在分支机构提交,提交将签出头会分离。
创建一个分支在当前选择的提交。 会显示一个对话框要求分支机构名称和新创建的分支是否应该检出。
这一行动将使当前选中的承诺如果一个分支存在,没有检出。 如果有一个分支提交,没有检出,这一行动将立即删除这个分支。 如果存在多个这样的分支,将显示一个对话框,询问哪些分支应该删除。 如果提交成为遥不可及的对“删除分支”会显示一个确认对话框,防止意外unreachability提交。
创建一个标签在当前选择的提交。 一个对话框将显示要求标签名称和标签信息。
此操作不可用的第一个提交存储库。 它将创建一个补丁包含当前选中的变化提交,提交的前任相比。 将显示一个对话框,询问是否应该创建补丁文件或剪贴板和是否使用Git的补丁格式通用补丁格式。
应用变化引入的选择上提交当前签出的提交。
恢复的变化选择提交上引入了通过创建一个新的提交当前签出的提交。
合并选定的提交到当前签出的分支。
重置当前签出分支的选择提交。
这一行动重置存储库包含当前输入当前选中的提交。 根据子菜单的选择,一个柔软,混合,或将执行硬重置。
这两个行为涉嫌“基线库的头或案设置quickdiff父母的头上。 这些行动总是可用,即使多个提交被选中。
这个动作只有如果选择了一个承诺,它将圣quickdiff基线库的选择提交。
的id复制当前选择提交或提交到剪贴板。
切换修改评论区域的可见性。
切换修改细节区域的可见性。
只有当右键单击修改评论区。 如果活跃,评论将auto-wrapped填补显示区域,否则提交消息的包装将会被使用。
只有当右键单击修改评论区。 如果活动,提交消息将显示没有不必要的换行符。
你可以拖拽提交提交到一个图Mylyn任务或到你的硬盘上的文件夹。 在这两种情况下,EGit将自动创建一个补丁你可以附加到一个错误或存储在磁盘上。
修订细节区域显示一个表的文件被选中提交更改。 选择上下文菜单操作显示注释选中的文件将在(只读)编辑器中打开文件并显示一个注释统治者和提交文件中的每一行的作者信息。 看到本节。
菜单命令团队>同步工作空间将启动Synchronize视图。 这个视图允许您检查资源之间的差异在本地工作区和一个本地或远程跟踪分支。 或者你可能比较本地和远程跟踪分支。 比较两个远程跟踪分支以及菜单命令在Synchronize视图中尚未公布这个EGit版本,将在未来的版本中提供。
这是Git同步视图是什么样子:
Synchronize视图显示同步状态的资源在你的工作区或当地分支相比,在另一个本地或远程跟踪分支代表一个分支的状态从一个远程存储库。 这种状态显示通过使用图标,也可以配置为显示状态为文本添加到资源名。
图标的描述如下表所示:
Synchronize视图可以使用模式过滤使用工具栏动作或视图的下拉菜单中的菜单项。 模式可用于只显示传入、传出或冲突性的变更。
Synchronize视图可以显示不同的模型表示的资源。 每个产品可能包含它自己的特定的表示。 Eclipse SDK附带三个模型:
除了模型外,还有一个平面表示它显示所有失去同步的元素作为顶级元素。
Synchronize视图提供了浏览工具栏动作的变化的观点。 这些行动不仅导航文件之间也从改变改变在一个文件中。
树在Synchronize视图可以很容易地扩大和崩溃的工具栏。
这一观点将会打开的与行动(见比较的内容)。 当从一个资源(例如,一个项目或文件夹),它将类似于工作区中的资源。 然而,通常的图标文件将取代图标显示改变状态(添加、删除、更改或不变)。
变化可以浏览并双击一个文件将打开一个比较编辑这个文件(这只在“改变”文件是有意义的,在添加或删除文件的情况下,比较编辑器的一边是空的,而不变的文件将显示相同的内容编辑器的两边):
可以隐藏不变文件通过单击“隐藏文件以同样的内容”按钮的工具栏。
Git树比较视图也可以开始没有工作区资源作为起点(例如通过比较两个提交历史视图,当输入的历史视图是一个存储库,而不是一个工作区资源)。 在这种情况下,显示了完整的内容存储库和两个项目和文件夹显示为简单的“文件夹”图标:
这个视图提供了一个等效的git状态
显示在工作树中所做的更改。 Unstaged变化尚未转移到git索引中显示Unstaged变化窗格中,变化已经“添加”(举行)Git索引所示阶段性的变化窗格。 默认情况下这些窗格显示在一行布局,它可以改变布局的一列列布局选择。 默认上演,Unstaged更改窗格显示文件的完整路径。 他们可以配置的显示文件名的第一个选项显示文件名第一,紧随其后的是目录文件都位于。
双击修改的文件打开一个视图进行比较。 如果解雇“unstaged”窗格视图将显示尚未上演的变化进行比较。 当发射的“上演”窗格中会显示已经上演了变化。 在编辑器中打开一个文件,使用开放式工作区版本行动文件的上下文菜单。
舞台上的一个文件,将它拖Unstaged变化面板的上演了页面窗格。 另外,使用添加到Git索引行动在文件的上下文菜单Unstaged变化窗格。 的在Git索引替换为文件行动将会替换所选文件在工作树。 如果文件是unstaged,它将被重置。 如果是策划,工作树版本将取代了版本的Git索引。
unstage文件,将其拖阶段性的变化面板的Unstaged变化窗格。 另外,使用删除从Git索引行动文件的上下文菜单。
提交行动只提交了更改——类似git提交
在本地git。 一个完整的提交消息编辑器允许编辑提交的提交消息。 提交对话框相比,分段视图可以保持开放,而做的改变。 这允许增量地编写提交消息随着变化。 正在编辑的提交消息相关联的存储库,登台与看法。 它并不会永久地存储会迷路,如果分期视图或Eclipse都关门了。
提交,按按Ctrl + Enter('命令+输入在Mac OS X)提交消息文本字段,或点击提交或承诺,推动按钮。
Staging视图的视图菜单允许配置分期视图
如果你工作在一个大的变化和许多文件显示在Staging视图可以使用“过滤器文件”过滤字段将过滤的内容分期视图只显示您输入的文件匹配滤波器。
有时是有用的只提交文件的一些变化。 一个例子是当工作特性和注意到一个错字或小虫,这是与功能无关。
只提交某些变化,这些变化必须举行了第一次。 要做到这一点,双击文件Unstaged变化窗格。 这将打开编辑器进行比较。 左边是工作区版本,右边是指数(举行)版本。
双方比较编辑器是可编辑的。 当改变的东西在右边(指数)和储蓄,文件将会出现阶段性的变化面板和承诺时,内容将被提交。
阶段一群改变线路,复制当前的改变从左到右可以使用工具栏按钮(箭头图标)。
Reflog视图显示了所选的Git Reflog库。 它支持显示reflog特定分支通过选择超链接在视图的右上方裁判的名字。 双击或选择上下文菜单操作在提交查看器在reflog入口提交查看器中打开相应的承诺。 上下文菜单操作结帐付款选择提交和吗头会分离。
Git url通常由传输协议方案,远程服务器的地址在远程服务器和存储库路径也和一些身份验证协议的用户ID。
EGit支持以下协议
Git url时使用
Git是不久也被称为引用参考文献。
他们组成
他们都以一个路径使用“/”作为路径分隔符,从“参考文献”。
裁判的名字可以缩写只要缩写形式是独一无二的。
如。
还有一个参数量的“保留”的名称,对于某些情况下很有用:
裁判的名字 | 备注 |
头 | 指向当前付款承诺 |
FETCH_HEAD | 指向最后获取操作的结果 |
ORIG_HEAD | 点前签出的提交合并或变基操作就开始了 |
为Ref名称和完整列表的顺序优先级如果多个引用相同的速记形式的部分“指定的修正”部分git rev-parse。
“refspec”被取回,推动业务描述远程之间的映射裁判和地方裁判。 语义定义本地分支或标签是如何映射到远程存储库中的分支或标签。 在本地git加上一个冒号的格式< src >:< dst >,之前一个可选的加号,+表示强制更新。 EGit他们可以显示和编辑的表格形式推动裁判规范和获取参考规范和其他对话框。
“左”的RefSpec称为源和“右”的一面就是目的地。 取决于RefSpec用于获取或推动,源和目标不同的语义:推动RefSpec,源代表一个裁判在源库和目标代表一个裁判在目标存储库。
为推动RefSpec可以一个典型的例子
HEAD:refs/heads/master
这意味着当前签出分支(头所指的参考,看看Git引用)将被推到主分支的远程存储库。
取回RefSpec可能是一个典型的例子
refs/heads/*:refs/remotes/origin/*
这意味着所有分支从远程存储库将被获取到相应的远程跟踪分支的本地存储库。
遥控器是用于管理存储库(“遥控器”)的分支您跟踪您的存储库。
当定义在EGit遥控器
远程首先定义了一个的名字存储库的分支你跟踪,这非常重要,因为你可能想要跟踪分支从不同的存储库名称有助于了解库处理某些操作。 除了Refspecs对于一个给定的远程定义一个指定分支和标签的映射在你的本地存储库分支和标签在远程存储库中。 你可能想要使用不同的映射入站或出站因此有运输操作编辑器定义获取和推动EGit中可用的配置。
.gitignore
文件位于工作树指定文件,故意不应该追踪的git。 他们只关心文件没有追踪的git。 为了忽略未提交的更改已经跟踪文件参考假设不变的行动。
在每一行.gitignore
文件定义了一个模式。 Git检查忽略模式后工作树的层次结构从最高到最低。 模式定义在更高的水平.gitignore
文件被覆盖的定义在更低的水平。文件应当忽略所有的在一个给定的项目通常包括在项目的存储库轻松地分享他们的团队。
模式格式定义:
EGit的忽略 菜单操作增加了选择的资源.gitignore
资源文件的父目录。 进入其他忽略模式使用一个文本编辑器。
EGit PDE工具的一部分,PDE构建获取工厂Git中org.eclipse.egit.fetchfactory插件。
映射文件的文件格式:type@id(版本)= GIT,arg游戏
在哪里arg游戏是一个以逗号分隔的键-值对。
接受arg游戏包括:
获取被实现为一个三步过程:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。