zoukankan      html  css  js  c++  java
  • 在Eclipse中使用Git

    https://www.cnblogs.com/foxclever/p/9784034.html

      本文原文出自MCU on Eclipse网站,作者为Erich Styger,原文网址:https://mcuoneclipse.com/2018/09/30/tutorial-git-with-eclipse/。本人翻译了此篇文章,有些短语难以找到准确表达的中文词语,所以保持了原文。限于个人的知识局限性,如有不当之处欢迎交流。

      软件开发领域有一些改变游戏规则的事情:当我开始使用VCS(版本控制系统)时,就有一个这样的事件:它改变了我如何保存和存储我的项目和设置。它甚至改变了我处理非软件相关项目(如文档或其他有价值的东西)的方式:我也开始将它们存储到VCS中。

     

    与Eclipse合作

    简而言之,VCS

      简而言之:VCS是一个数据库或允许我存储和检索文件的系统。它保留了历史记录,我可以及时返回以检索较早的状态或比较不同的状态。它在一种数据库中“版本化”项目或文件。在大多数情况下,这样的数据库由多个用户或开发人员使用,通过这种方式,系统能够“合并”不同开发人员的更改:它保留审计跟踪并备份所有更改。不使用VCS进行任何中型或大型项目,尤其是多个开发人员合作听起来像是对我自杀。如果您从未使用过版本控制系统,则可能需要开始使用版本控制系统。我使用了不同的VCS(cvs,svn,git),虽然我仍然在vcs和svn中保留项目的历史原因,但我正在使用git来处理所有新东西。

      如果您不熟悉VCS或git,我建议您查看本教程视频:https//git-scm.com/video/what-is-version-control

    Git - 快速入门

      该Git项目已经由著名的Linus Torvalds的开始。它是一个现代的分布式版本控制系统。要安装git,请按照https://git-scm.com/downloads上的链接和教程进行操作

      使用git有几个基本操作:

    • 添加(add:将文件添加到更改列表中
    • 提交(commit:将更改输入(本地)存储库
    • 推送(push:将本地存储库中的更改传输到远程存储库
    • 获取(pull:从远程存储库获取更改

      默认情况下,始终存在本地存储库。需要远程存储库来共享内容,例如在GitHub上。

      在Git Bash shell中,首先配置您的用户名和默认电子邮件地址:

    git config --global user.name “John Doe”
    git config --global user.email “ john.doe@company.com ”

     

    Git配置

      这就是我们配置所需的一切。

      要创建一个新的git存储库,我使用

    git init myGitRepo

      在'init'之后创建具有该名称的存储库。

      接下来,我在创建的文件夹中创建了一个readme.txt(我在下面使用nano,你可以使用任何文本编辑器):

    cd myGitRepo
    nano readme.txt

      要将该文件添加到存储库,我使用:

    git add readme.txt

      然后使用以下命令将其提交到存储库:

    git commit -m“自述文件的初始版本”

     

    将文件添加到存储库

    而是在命令行上执行操作,您可以自由使用图形客户端,请参阅https://git-scm.com/downloads/guis

    面向EclipseEgit客户端

      我总是在命令行版本和Eclipse插件旁边安装GUI客户端。每个客户都有其优点和缺点,我正在使用免费的SourceTree。我的模型是:

    • 使用像SourceTree这样的GUI客户端来正常使用git
    • 使用命令行版本进行更高级的操作或自动化
    • 使用Eclipse插件处理Eclipse项目

      我对Eclipse插件的偏好是' EGit ',为此我写了一篇文章如何将它安装到CodeWarrior中。许多Eclipse发行版已经预装了一个git客户端,而NXP MCUXpresso IDE也附带了EGit。

      否则,请从以下Eclipse Update站点(帮助>安装新软件)使用(或更新):http://download.eclipse.org/egit/updates

      展望未来,我将展示如何使用Eclipse(NXP MCUXpresso IDE 10.2)与EGit。

    Eclipse中的Git视图和仓库配置

      在Eclipse中,我切换到Git透视图:

     

    打开Git Perspective

      从git的角度来看,我可以添加一个现有的存储库(例如我上面用shell创建的存储库):

     

    添加现有存储库

      然后浏览到存储库文件夹并添加它:

     

    添加现有仓库

      而是使用shell,我也可以用它来创建一个新的存储库:

     

    创建新存储库

      然后它会询问我的存储库文件夹名称:

     

    新的eclipse git存储库

      并将其添加到可用的存储库:

     

    仓库列表

      或者我可以从现有的存储库克隆,例如从GitHub克隆。为此,我使用'克隆':

     

    克隆存储库

      例如,我可以克隆并使用Gi​​tHub上的McuOnEclipse存储库:https://github.com/ErichStyger/mcuoneclipse.git

      您将无权在GitHub上推送到该存储库。如果要对GitHub存储库进行更改:将它在GitHub上克隆到您自己的存储库列表并使用您的存储库URL。

     

    克隆McuOnEclipse

      按next并选择所需的分支(如果有)。

     

    选择分支

      然后指定(新/空)目录名称克隆存储库的位置:

     

    本地目的地

      按Finish,它将下载存储库内容,这可能需要一段时间,具体取决于存储库中的数据。

    将项目添加到存储库

      配置存储库后,我可以将现有项目添加到存储库。右键单击项目,然后选择Team> Share Project ...

     

    分享项目

      选择要使用的VCS:

     

    选择VCS

      选择要使用的存储库,然后按Finish:

     

    选定的存储库

    忽略文件

      Git使用.gitignore文件来过滤(隐藏)不应该最终存储在存储库中的文件或文件夹。

      Git将要忽略的文件和文件夹列表存储到名为.gitignore的文件中。默认情况下,Project Explorer视图会隐藏以点开头的所有文件。要显示它们,请使用“过滤器和自定义”菜单:

     

    过滤和定制

      然后取消选中* .resources设置:

     

    过滤器

      有了这个,我可以在Eclipse中编辑.gitignore文件:

     

    默认.gitignore文件

      该文件从顶部到底部进行处理,#用于启动注释行。

      作为一般规则:忽略派生或生成的所有内容,因为它很容易在存储库中创建冲突。

      有关CodeWarrior和Processor Expert要忽略的事项列表,请参阅https://mcuoneclipse.com/2013/03/29/version-control-with-processor-expert-projects/

      更新:建议忽略项目的.settings文件夹(请参阅本文评论部分中的讨论)。.settings文件夹包含具有本地插件设置的XML文件,并且特定于用户。所以不要把那个文件夹到版本控制系统。

      对于MCUXpresso IDE和SDK项目,它非常简单:只需要​​忽略带有生成的make和目标文件的输出文件夹,通常将其命名为“ Debug ”和/或“ Release ”。从上面的.gitignore可以看出,Eclipse已经将它添加到列表中,所以我们没关系:-)。

    承诺

      在上一步中,我已将项目添加到更改列表中。但它尚未存储在存储库中。为此,我需要做一个提交。随着项目的添加,我现在在Team菜单中有更多可用的操作:

     

    扩展团队菜单

      使用'Commit ...'菜单项,我得到一个Git Staging视图:

     

    Git Staging

      左上方区域显示所有更改。我必须使用拖放或使用该工具栏中的“+”和“++”图标将它们放入左下区域并添加提交消息:

     

    准备提交

      然后我可以提交(在本地存储库中进行更改并稍后推送)或者通过推送到远程存储库来进行提交。

      我更喜欢做较小的提交,然后再推它们。对于本地(非共享)存储库,当推送到远程存储库时,不需要/不可能推送。

    推送,获取和比较

      团队菜单中提供了推送操作:

     

    推送

      在同一个菜单中,我找到了拉动作(从存储库中获取更改)。

      要比较更改,请双击该文件,然后打开Eclipse diff视图:

     

    比较变化

    Git导入

      另一个很酷的事情是我可以将项目从git导入我的工作区。我使用文件菜单中的导入项:

     

    导入

      然后从Git中选择导入:

     

    从Git导入项目

      选择存储库源:

     

    选择存储库源

      如果您克隆了McuOnEclipse存储库,则可以选择该存储库中的一个或任何存储库:

     

    选择git仓库

      然后选择要导入项目的文件夹:

     

    选择要导入的项目

      这样我就可以轻松地从任何存储库导入项目:-)。

      与Eclipse一样,有很多方法可以做一件事。导入项目的另一种方法是从Git Repositories视图:

     

    导入Git项目

    更多功能

      可以自由探索Eclipse中的更多EGit功能。我建议通过Git透视默认视图。例如“历史记录”视图

     

    Git历史视图

     

    Git历史

    摘要

      带有EGit插件的Eclipse可以轻松使用git版本控制系统。如果不熟悉版本控制系统需要一些练习。但这个事情很容易解决,互联网上有很多教程和视频。

    链接

  • 相关阅读:
    ssh中的 Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
    Http中的Get/Post方法
    Node.js(day2)
    使用clipBoard.js进行页面内容复制
    SVG之图形的引用use、剪切clipPath和蒙板mask
    SVG之文本
    SVG之Path
    SVG之颜色、渐变和笔刷的使用
    SVG坐标系统
    SVG入门
  • 原文地址:https://www.cnblogs.com/linus-tan/p/14124036.html
Copyright © 2011-2022 走看看