GitKraken-博客中文翻译-一-

GitKraken 博客中文翻译(一)

原文:GitKraken Blog

协议:CC BY-NC-SA 4.0

GitKraken 达到 100 万用户

原文:https://www.gitkraken.com/blog/1-million-users

一个。百万。那可是一大堆什么 !你能想象…一百万只小狗吗?!一百万行代码?!或者更好…一百万开发者使用 GitKraken?!是的,你没看错。GitKraken Git 客户端和 Glo 板刚刚达到了令人难以置信的 1,000,000 用户的里程碑!

感谢所有让这一切成为可能的用户和客户!让我们怀旧一下,反思一下我们一起到达一百万的旅程。在这 4 年多的时间里发生了很多事情,才走到这一步…

大创意

每年,Axosoft 通过参与 为期 30 天的实验项目 ,给我们的开发人员一个学习新技术和探索新想法的机会。因此,我们已经想出了一些相当惊人的项目,像 GitKraken 平分,CodeCapitan,你可能会猜到这将走向何方…

2014 年一个炎热的亚利桑那州夏夜,两个开发人员想到了一个将永远改变 Git 世界的主意。这是一个跨平台的 Git 图形用户界面的原型,在向团队的其他成员展示后,房间里的能量和兴奋感是显而易见的。我们在这个项目上下了双倍的功夫,这个项目很快就被称为 GitKraken!

2015 年 7 月,它进入了私人测试阶段。之后,我们开始把它“推”给更多的工程师。懂了吗?! 出招 挑挑那个笑话以后再说…好了,我的饭桶笑话讲完了!

And in July 2015, it went into private beta. After that, we started “pushing” it out to more engineers. Get it?! Pushing! Gotta cherry-pick that joke for later…. Okay, my Git jokes are done!

V1.0 发布

2016 年 3 月,你可以听到工程师们大喊“释放克拉肯!”当我们将 1.0 版本投入生产时。

如果你 在社交媒体 上关注我们,你很可能会看到 GitKraken 发布会上的照片,团队在那里欢乐地奔跑庆祝,当然,之后还有啤酒。

在 1.0 版本中,我们致力于提高当前用户的整体可靠性和体验,然后扩展到更大的受众群。从那时起,GitKraken 进入了一个快速发布周期,几乎每两周就推出一次功能和修复。用户那时——就像现在一样——分享反馈、功能请求和他们经历的问题。所以很自然地,GitKraken 变得越来越好。

In v1.0 we focused on improving the overall reliability and experience for our current users before expanding to a larger audience. From there, GitKraken went into a rapid release cycle with features and fixes being rolled out nearly every 2 weeks. Users were then—just as much as they are now—sharing feedback, feature requests, and issues they experienced. So naturally, GitKraken kept getting better.

我们的第一个 GitKraken Pro 用户

与所有成功的产品一样,我们需要抵消一些开发成本,以保持这个有前途的工具的发展势头。这就是为什么我们在 2016 年 7 月发布了 1.5 版的付费专业版,其中包括了我们的 应用内合并冲突输出编辑器多个配置文件 等新功能。

我不确定这次发布和宣布的付费版本会带来什么。当我们第一次购买 GitKraken Pro 时,我非常兴奋。再次感谢伊莱。

这篇博文中还没有透露,但我是 Axosoft 的销售经理。你知道我的工作有什么好处吗?我们的用户喜欢 GitKraken。这让我的销售工作变得非常愉快,我敢说吗?更容易!我打电话时没有挂断。不,“把我从你的名单中删除。”见鬼,这种产品实际上是在推销自己。

没有什么感觉像打开我的收件箱,收到想要添加用户或询问企业系统需求问题的团队的消息。我们被你们所有的赞美、深思熟虑的问题以及你们对构建优秀软件的共同热情所激励。

There is no feeling quite like opening my inbox and having messages from teams wanting to add users or asking questions about Enterprise system requirements. We are motivated by all of your compliments, thoughtful questions, and your shared passion for building great software.

惊喜,企业号!

2017 年开始了。Keif 现在快 3 岁了,GitKraken 就像野火一样蔓延开来。我们开始收到来自大型组织的问题,例如,“我如何在公司的私有网络上,在安全的防火墙后面使用 GitKraken?”以及“我如何在本地管理我的用户认证?”。随着这些请求越来越频繁地涌入,我们知道是时候为这些需求构建解决方案了。

快进到 2017 年 7 月。 GitKraken Enterprise 在短短几个月内开发并发布。向我们出色的开发团队欢呼吧!现在,公司可以在防火墙后与 GitKraken 合作,根据的 IT 时间表更新版本,并在本地管理用户。

Fast-forward to July 2017. GitKraken Enterprise was developed and released in just a few short months. *Shout out to our awesome dev team! *Now, companies can work with GitKraken behind a firewall, update versions on their IT schedule, and manage users locally.

有个性的软件

在每个里程碑之间,有无数的活动推动我们走向下一个。作为一名销售人员,我总是与我们的营销团队合作,帮助开发人员发现 GitKraken,并向他们展示其价值。会议是一个很好的方式来传播意识,并与我们现有的和潜在的用户面对面交流。

这些活动让我们有机会展示我们如何真正为用户提供支持:

我们的产品功能强大,对大多数用户来说是免费的。

  • 拥有令人难以置信的知识,包括文章、视频、文档和演讲。
  • 我们出色的客户成功团队提供了及时的支持
  • With timely support from our incredible customer success team.

最后…拥有个性,激情和乐趣!

我们的吉祥物 Keif 是一只多才多艺的北海巨妖,我们的营销团队对我们品牌的爱就像我们的开发人员对产品的爱一样多。而且好像很管用!我在 2017 年 10 月的 GitHub 宇宙大会上亲眼见证了对 Keif 的爱。通过我们的艺术装置,查看一些我最喜欢的粉丝照片:

Our mascot Keif is a versatile Kraken, and our marketing team puts just as much love into our brand as our developers do into the product. And it seems to be working! I witnessed the love for Keif first-hand at the GitHub Universe conference in October 2017. Check out some of my favorite fan photos with our art installation:

#用闪光板闪光

如果我们将时间机器加速到 2018 年 3 月,那就是我们的新产品 GitKraken Glo 登场的时候。 Glo 板 是开发人员传说中的问题和任务跟踪板。就像 Git 客户端一样,我见证了这个产品从构思到执行的过程,我对这些产品的开发和采用速度印象深刻。

Axosoft 开发人员在构建项目管理工具方面拥有 15 年以上的经验,他们看到了对轻量级和超快速问题跟踪板的需求。像艾菲尔铁塔一样,Glo 板也是从头开始建造的avec amour(with love)!

虽然 Glo 是以开发人员为中心的,但它对于非技术人员来说也很简单和直观。举个例子,我见过一个开发者在 VS 代码 中使用 Glo(对,就是这个东西!)和他们的产品负责人通过 web 浏览器登录到同一个 Glo 板,与开发人员就某个问题进行协作。我知道,掐你,你在做梦吧?!

While Glo is developer-centric, it’s easy and intuitive for non-technical folks, too. For example, I’ve seen a developer using Glo in VS Code (yes, that’s a thing!) and their Product Owner logged into the same Glo board via a web browser to collaborate with the developer about an issue. I know, pinch you, you’re dreaming, right?!

从硅沙漠到硅谷

当我在 2018 年年中写这篇文章时,Keif 的触角从我们在亚利桑那州斯科茨代尔的总部延伸到了我们在旧金山的新办公室。

想加入 Keif 和 GitKraken 团队,为我们的下一个 100 万用户里程碑做出贡献吗?我们两个办公室都在招聘 !

谢谢!

谢谢你陪我走过这段回忆之旅。如果没有构建和支持 GitKraken 的敬业团队,我们就不会有今天的成就,如果没有像您这样出色的用户,我们肯定也不会有今天的成就!

Thank YOU!

Thanks for taking this journey with me down memory lane. We wouldn’t be where we are today without the dedicated teams who build and support GitKraken, and we certainly wouldn’t be here without our awesome users, like you!

2020 年软件开发趋势

原文:https://www.gitkraken.com/blog/2020-trends-software-development

Coding Sans 自 2018 年以来发布了《软件发展状况报告》,试图揭示这个特别敏捷的行业的快速发展趋势。每年,该报告都强调挑战、最佳实践和驱动软件开发行业的工具,以及年复一年的变化。

从 Coding Sans 下载 2020 年软件发展状况报告。

得到报告

GitKraken 很荣幸能够为这项艰巨的任务做出贡献,从全球开发商和管理者网络中征集调查反馈,与过去几年一样,我们被指定为我们推广工作的最佳合作伙伴。

谁对调查做出了回应?

总共统计了来自 80 个国家的 700 多份答复。45.21%的受访者位于欧洲,31.47%位于北美,11.16%位于亚洲&澳大利亚;33.48%在软件/科技行业;46.07%的人在 6-20 人的开发团队工作。

46.21%的受访者是开发人员,16.60%是工程团队领导。

剧透预警!在 2020 年软件开发报告中,GitKraken Git GUI 被评为 Git 的头号图形用户界面。

该报告的数据分为几个部分:工具和技术、管理趋势、绩效评估和招聘。我们总结了以下发现,以阐明我们发现的最有趣和最多产的启示。

软件开发工具的趋势

DevOps 是近年来在软件开发行业中迅速传播的一种策略,当涉及到工具时,它的效果可以看到最大程度。各种规模的团队都在寻找新的工具来帮助他们实现更好的报告和交流,更有效地计划,测试和自动化。查看企业开发团队依赖哪些工具进行开发、报告、通信、测试、自动化等。

软件开发人员的顶级 Git 客户端

在《2020 年软件开发报告》中,GitKraken Git GUI 被评为源代码管理客户端类别中的头号图形用户界面。命令行界面和 Sourcetree 等其他工具的受欢迎程度在过去三年里稳步下降。

GitKraken Git GUI 还被评为 2020 年 T2 20 大开发者工具之首。

面向开发者的顶级 Git 托管服务

在使用版本控制的受访者中,几乎一半(43.22%)报告使用GitHub.com来存储他们的代码库。

其次是:

  1. Bitbucket.org (20.24%)
  2. GitLab.com(16.70%)
  3. GitLab 自托管(11.39%)
  4. 位元率伺服器(10.81%)
  5. GitHub 企业(8.84%)
  6. Azure DevOps (8.84%)

了解如何在您的组织中部署 GitKraken Git GUI,无论您使用的是 GitHubBitbucketGitLab 还是 Azure DevOps 的哪个托管或自托管版本。

参观 GitKraken 知识中心

参观 GitKraken 知识中心

面向开发人员的顶级项目管理工具

将近一半的受访者(49.79%)报告使用吉拉进行项目管理,这并不奇怪,因为吉拉支持两种最受欢迎的敏捷方法:Scrum 和看板。

排在第二位的是看板工具 Trello,占 19.89%,第三位是 GitHub Issues,占 10.01%。

看看特雷罗和 GitKraken 棋盘的对比

GitKraken Boards 在 2020 年首次排名,我们迫不及待地希望看到这一传奇问题跟踪工具的采用率继续上升!🚀

GitKraken Boards 在 2020 年首次排名,我们迫不及待地希望看到这一传奇问题跟踪工具的采用率继续上升!🚀

面向开发人员的顶级 IDE、通信和测试工具

Slack 仍然是通讯市场的王者,超过 58.66%的受访者更喜欢在项目期间使用该工具进行沟通。

类似地,Visual Studio Code 以 54.81%的得票率获得了超过一半的首选 IDE 响应。

当谈到测试时,虽然 75.25%的受访者支持使用工具来测试他们的软件,但对于具体的工具却没有太多的一致意见。34.22%偏爱 Jest ,29.66%使用,19.01%依赖 JUnit

当谈到测试时,虽然 75.25%的受访者支持使用工具来测试他们的软件,但对于具体的工具却没有太多的一致意见。34.22%偏爱 Jest ,29.66%使用,19.01%依赖 JUnit

管理软件开发

全世界的经理和产品所有者都非常清楚,管理软件开发是一项复杂的任务。你不仅要管理工具、发布时间表和领导层的期望,你还要管理

全世界的经理和产品所有者都非常清楚,管理软件开发是一项复杂的任务。你不仅要管理工具、发布时间表和领导层的期望,你还要管理

软件开发中的能力规划

受访者报告的管理软件开发的最大挑战是容量

当涉及到软件项目时,容量规划可能是困难的;经常会有不可预见的挑战导致最后一小时的延迟,并且单个开发人员、经理和执行领导之间的脱节会导致混乱和过多的积压。

您的组织是否在努力进行容量规划?GitKraken 的团队利用两种工具进行项目管理和里程碑跟踪:

GitKraken Boards :这个免费工具附带了 GitHub 问题同步、公关自动化以及持续集成和部署所需的更多功能。您可以在看板、日历视图或时间线中可视化您团队的任务。

  • GitKraken 时间表:这个免费的工具可以很容易地计划和传达项目里程碑和目标。时间表帮助管理者识别哪些行动项目是最重要的,并将最终影响项目的成功。
  • GitKraken 时间表:这个免费的工具可以很容易地计划和传达项目里程碑和目标。时间表帮助管理者识别哪些行动项目是最重要的,并将最终影响项目的成功。

趋势数据:📊在 2018 年、2019 年和 2020 年,产能一直被认为是最大的挑战。

趋势数据:📊在 2018 年、2019 年和 2020 年,产能一直被认为是最大的挑战。

软件开发中的知识共享

关于管理软件开发,最常报道的第二个挑战是知识共享。

通常情况下,当待办事项已满且截止日期临近时,知识共享首先受到影响。

因为能力和生产力的挑战通常比大多数其他问题更重要,所以看到能力的缺乏会影响团队成员之间分享知识的能力也就不足为奇了。

你如何在你的组织中鼓励知识共享?指导、结对编程、代码审查和内部研讨会都是在团队中传播专业知识和促进个体开发人员个人成长的好方法。

考虑在您的组织中举办这个由大联盟黑客和 GitKraken 为您带来的 Git 与 GitKraken 研讨会。

主持一个地痞工作坊

主持一个地痞工作坊

24.25%的开发人员将知识共享描述为管理软件开发的最大挑战,相比之下,只有 15.38%的管理人员将招聘人才和优先开发列为更大的障碍。

24.25%的开发人员将知识共享描述为管理软件开发的最大挑战,相比之下,只有 15.38%的管理人员将招聘人才和优先开发列为更大的障碍。

敏捷软件开发方法

2020 年,全球受访者报告使用两种敏捷方法明显多于其他方法:Scrum (58.94%)和看板(33.33%)。

在 Axosoft,我们可以看到两者的论点。我们有团队开发 Scrum 和看板软件解决方案: AxosoftGitKraken 板。

**访问我们的 Scrum 学院,接受 Scrum 教育并开始团队实施。学 Scrum 学 **

我们的看板解决方案非常适合需要灵活性的敏捷开发团队,强大的功能集——如 GitHub 问题同步、拉式请求自动化、Slack 集成等等——使该工具对现代开发人员来说变得轻而易举。

今天就用看板组织你的团队吧!

今天就用看板组织你的团队吧!

沟通项目里程碑

超过 60%的受访者声称使用面对面会议来交流项目里程碑、发布和截止日期。这是一个问题,原因有几个。无论在会议上如何沟通,口头、数字幻灯片演示或印刷材料,如果没有一个允许持续迭代和团队沟通的平台,经理和开发人员之间可能会有一些脱节。

无论您是产品所有者、初级开发人员还是公司的 CEO,了解您的团队如何计划和实现项目里程碑对于成功至关重要。虽然传统的项目管理工具,如 GitKraken Boards ,可以很好地进行日常任务跟踪,但它可能很难识别,尤其是一眼就能看出哪些项目是最重要的,并且会影响项目的最终成功。

这些确切的挑战是 GitKraken 团队开发我们最新产品 Timelines 的原因,该产品现在包括演示模式

了解更多关于 GitKraken 时间表的信息,并开始规划和沟通项目里程碑:

https://www.youtube.com/embed/3jTuGXzhd5Y?feature=oembed

视频

https://www.youtube.com/embed/3jTuGXzhd5Y?feature=oembed

视频

开发团队的远程工作

76.54%的受访者报告称,他们的组织允许远程工作,略高于 2019 年的 72.2%。

新的公共健康问题和现代人对灵活性的偏好只是影响公司远程工作政策的一些因素,其中许多公司选择让员工享有十年前可能无法想象的特权。

随着越来越多的软件开发团队向分布式劳动力转移,产品所有者和开发人员为自己配备确保成功所需的工具是非常重要的。查看我们团队用来确保远程成功的 4 个基本工具

找到支持协作、沟通和任务跟踪的工具至关重要。在 Axosoft,我们使用 GitKraken Git GUI 来跟踪谁在做什么; SlackGoogle Meet 进行日常沟通和团队会议;以及用于项目管理的 GitKraken 板。

找到支持协作、沟通和任务跟踪的工具至关重要。在 Axosoft,我们使用 GitKraken Git GUI 来跟踪谁在做什么; SlackGoogle Meet 进行日常沟通和团队会议;以及用于项目管理的 GitKraken 板。

测量软件性能

当涉及到度量性能时,经理和产品所有者经常不得不评估交付的软件的性能,以及构建软件的人的性能。

当涉及到度量性能时,经理和产品所有者经常不得不评估交付的软件的性能,以及构建软件的人的性能。

衡量软件开发人员的表现

你如何衡量一个软件开发人员或开发团队的表现?您选择哪些指标来衡量绩效将在很大程度上取决于您可用的数据,并将对您的报告价值产生重大影响。

不到一半的受访者(44.49%)声称只通过完成的任务来衡量绩效,紧随其后的是拥有工作软件 (43.78%)。更令人惊讶的是,近三分之一(32.33%)的人承认没有使用任何指标来衡量绩效。代码可读性以 22.60%排名第四。

令人欣慰的是,到处都有许多工具可供软件开发经理使用,帮助测量个人开发人员和团队的绩效。在大多数情况下,使用多个指标,而不是一个指标,可以帮助平衡数据。

测量团队能力&所需的速度,有效地计划冲刺,向团队成员分配任务,查看工作进展限制,&使用 Axosoft 发布计划程序进行更多工作。

免费试用 Axosoft

免费试用 Axosoft

测量软件开发交付

最终,尽可能快地交付高质量的软件是世界上大多数开发团队的目标。在满足客户期望和执行期限的同时保持较低的管理费用是经理们的责任。当被问及哪些障碍最常导致他们公司的交付问题时,受访者报告了以下方面的失误:

不切实际的期望(14.45%)

  • 缺乏明确定义的可交付成果(14.31%)
  • 估计(13.02%)
  • 17.01%的开发人员认为缺乏明确定义的可交付成果是交付问题的最大问题,相比之下,只有 11.65%的管理人员这样认为。

17.01%的开发人员认为缺乏明确定义的可交付成果是交付问题的最大问题,相比之下,只有 11.65%的管理人员这样认为。

招聘中的软件发展趋势

我们都知道这是真的:你的产品和开发人员的代码一样好。对于大多数软件开发经理来说,招聘人才始终是首要任务。组织通常很难足够快地填补空缺职位,因此知道从哪里寻找优秀人才是非常宝贵的。

自 2018 年以来,最有效的招聘方式没有改变。员工推荐和内部招聘是招聘人才的最佳方式。

自 2018 年以来,最有效的招聘方式没有改变。员工推荐和内部招聘是招聘人才的最佳方式。

招聘经理在寻找什么?

当然,技术能力非常重要,但它们不是招聘经理在评估加入他们开发团队的候选人时寻求的唯一素质。

当被问及他们最重要的招聘标准是什么时,大多数受访者连续第三年表示:愿意学习

因为我们的行业发展如此之快,成功的开发人员在工具和过程方面必须是敏捷的和适应性强的。

招聘经理寻找的其他方面包括:文化契合度 (40.20%)、技术技能 (37.20%)、工作经验 (34.19%)和软技能 (35.32%)。

招聘经理寻找的其他方面包括:文化契合度 (40.20%)、技术技能 (37.20%)、工作经验 (34.19%)和软技能 (35.32%)。

吸引软件开发人才

尽管有流行文化的刻板印象,但并不是所有的软件公司都在办公室里有自助餐厅、滑梯和拱廊,或者提供免费班车上班。事实是,大多数软件公司也是小企业,所以在吸引人才时,他们必须有创造力,尤其是如果他们要与谷歌和微软竞争的话。

当被问及他们使用什么策略来吸引新人才时,大多数受访者(42.92%)说团队精神/文化,其次是提供有趣/挑战性的任务 (34.62%),以及弹性工作时间 (32.75%)。

提供具有挑战性的工作和从事令人兴奋的产品的能力是吸引顶尖员工和普通员工的最大区别。

提供具有挑战性的工作和从事令人兴奋的产品的能力是吸引顶尖员工和普通员工的最大区别。

了解 2020 年的行业趋势

我们的内容团队痴迷于软件开发趋势,我们喜欢分享我们的专业知识和观点。🤓😉😛

在推特和脸书上关注我们,确保你不会错过任何一个节拍。🎶

在推特和脸书上关注我们,确保你不会错过任何一个节拍。🎶

GitHub 认证政策将于 2021 年 5 月变更

原文:https://www.gitkraken.com/blog/2021-github-authentication-policy-change

如果您已经通过 GitKraken 中的 OAuth 连接了您的 GitHub 集成,您就可以开始了!

GitHub 正在改变它的安全策略,不再允许只有用户名/密码的访问。这一变化将于 2021 年 8 月 13 日生效,并影响所有提供 GitHub 集成的桌面 Git 应用,包括 GitKraken。

已经使用 OAuth 向 GitHub 认证的用户不会受到影响。OAuth 是 GitKraken 配置文件设置中的默认连接方法。

但是,如果您一直依赖用户名和密码来连接 GitHub 和 GitKraken,现在是时候过渡到 OAuth、SSH 或使用 PAT 了。

使用 OAuth 将 GitKraken 连接到 GitHub

通过 OAuth 连接到 GitHub,或者仔细检查您已经完成的工作:

  1. 打开 gitkraken

  2. 打开Preferences菜单(使用右上角的齿轮⚙️图标),点击左侧菜单中的Integrations

  3. 点击GitHub显示您的连接状态。如果您之前已经连接过,您的状态将显示为“已连接”,无需进一步操作。如果您尚未连接,它将如下所示:

  4. 点击“连接到 GitHub”

  5. 在打开的新网页浏览器窗口中,点击“继续授权”

  6. 按照 GitHub 登录页面上的流程登录您的 GitHub 帐户

如果成功,下一个屏幕应该会显示:“GitHub 和 GitKraken 准备就绪!”🎉

提醒:GitKraken 允许多个配置文件,每个文件都有自己的设置和偏好。确保检查每个配置文件的连接,以避免 GitHub 强制执行这一更改时出现意外。

关于 GitKraken 的 GitHub 集成的更多信息和进一步的细节,请参见我们的支持文档。

现在,如果您只是需要建立或验证您的 GitHub 连接,您在这里的工作已经完成。但是如果你想更深入地了解这一变化,我们邀请你继续阅读…

GitHub 认证初级读本

GitHub 是最受软件开发人员欢迎的在线协作平台之一,用于跟踪和共享代码。它受欢迎的原因之一是本地开发工具、CI/CD 管道和各种各样的应用程序可以很容易地与平台集成。GitHub 让用户可以非常容易地连接各种集成,允许开发人员选择他们喜欢的认证路径。

在即将到来的 GitHub 认证变更之前,用户有多种连接路径可供选择:

用户名和密码

  1. SSH 密钥
  2. 个人访问令牌
  3. OAuth 令牌
  4. GitHub 应用令牌
  5. 个人访问令牌和 OAuth 令牌看起来非常相似,用途相同。两者都与请求令牌的用户相关联,这意味着他们将拥有与用户相同的权限。这种差异实际上可以归结为概念,以及手动管理帐户凭证的个人偏好。

个人访问令牌需要从一个服务内部生成,比如 GitHub,并且需要手动管理和共享。

使用 OAuth,您可以授权应用程序代表您与服务对话。这是通过远程服务器和本地机器之间的握手来完成的;授权人可能永远看不到实际生成的凭证。

个人访问令牌和 OAuth 授权过程都非常安全,通常都一次性授予整个帐户的权限,包括用户或其组织所有者可以访问的任何存储库。

另一方面,GitHub 应用程序令牌用于授予应用程序或集成特定的权限,而不提供更广泛的访问。由于这些是特定于应用程序的,它们向组织授予权限,但限制授权服务可以访问哪些回购。如果安装 GitHub 应用程序的人离开了组织或失去了访问权限,这些应用程序也会保持安装状态。

个人访问令牌和 OAuth 授权过程都非常安全,通常都一次性授予整个帐户的权限,包括用户或其组织所有者可以访问的任何存储库。

对 GitHub 认证过程的更改

截至 2021 年 8 月,该列表上的第一个选项——用户名和密码——将被取消,以推动世界走向更安全的互联网。

对 GitHub 认证过程的更改

从 2021 年 8 月 13 日开始,我们在 GitHub.com 上认证 Git 操作时将不再接受账户密码。受影响的工作流:命令行 Git 使用 Git 访问桌面应用程序任何直接使用您的密码访问 GitHub.com 上 Git 库的应用程序/服务

你可以在 GitHub 博客上阅读更多关于这个的详细信息。

从 2021 年 8 月 13 日开始,我们在 GitHub.com 上认证 Git 操作时将不再接受账户密码。受影响的工作流:命令行 Git 使用 Git 访问桌面应用程序任何直接使用您的密码访问 GitHub.com 上 Git 库的应用程序/服务

计划在 6 月 30 日和 7 月 28 日进行 GitHub 限电

在 8 月 13 日之前,GitHub 还将在 6 月 30 日和 7 月 28 日安排用户名/密码认证的“限电”,以便测试这一变化,并在正式变化之前“鼓励受影响的客户更新他们的认证方法”。

至于他们为什么做出这种改变,我们可以再次引用他们的博客帖子:

在 8 月 13 日之前,GitHub 还将在 6 月 30 日和 7 月 28 日安排用户名/密码认证的“限电”,以便测试这一变化,并在正式变化之前“鼓励受影响的客户更新他们的认证方法”。

与基于密码的身份验证相比,令牌提供了许多安全优势:

1。unique——令牌特定于 GitHub,可以在每次使用或每台设备上生成。

2。可撤销—可以随时单独撤销令牌,而无需更新不受影响的凭据。

3。受限—可以缩小令牌的范围,仅允许用例所需的访问。

4。随机-令牌不像您需要记住或定期输入的简单密码那样受到字典或暴力攻击的影响。

3。受限—可以缩小令牌的范围,仅允许用例所需的访问。

GitKraken 是更好、更安全的工作流程的关键

如果你读了这篇文章并且还没有下载 GitKraken,现在是你的机会了。将 GitKraken 与 Github 集成在一起,我们可以做到这一切,甚至更多:

在 GitHub 帐户上创建存储库,包括。git 忽略和许可

自动生成一个 SSH 密钥对并将其添加到 GitHub 中

  • GitKraken 的 Fork 存储库
  • 将验证保存到配置文件中
  • 从 GitHub repo 列表克隆
  • 创建和管理拉式请求
  • 从 GitHub repo 列表克隆
  • 享受 GitKraken 提供的所有令人难以置信的功能 并立即下载

享受 GitKraken 提供的所有令人难以置信的功能 并立即下载

管理远程开发团队的 27 种顶级技术工具

原文:https://www.gitkraken.com/blog/27-top-tools-for-managing-remote-dev-teams

苏格兰散文家托马斯·卡莱尔写道:“人类是一种使用工具的动物”,他可能没有想到软件开发团队的远程工作工具。没有工具,他什么都不是;有了工具,他就是一切”。

然而,这句话在这个互联网时代是恰当的,现在有成千上万的人在远程办公。这句话尤其适用于负责管理远程软件开发团队这一艰巨任务的团队领导。借用麦当娜的一句话,远程工作工具让世界运转。

美国商会最近发布的一份名为技术对小企业的影响的报告发现,各种技术在小企业的成长和生存中发挥着至关重要的作用。报告显示,完全采用技术的企业比竞争对手表现更好。

面向软件开发人员的远程工作工具是一组技术和平台,使开发人员能够在不同的位置就软件项目进行协作、交流和合作。这些工具包括 Git 工具,如 GitKraken Client,项目管理软件,如 Trello 或 Asana,团队交流工具,如 Slack 或微软团队。其他可用于远程工作的工具包括视频会议软件,如 Zoom 或 Google Meet,以及允许开发人员从远程位置访问其工作计算机的虚拟桌面环境。

根据 Buffer 发布的调查,77%的受访者使用各种工具和技术进行远程团队协作。

幸运的是,市场上充斥着各种各样的技术工具、系统和平台,旨在简化远程软件开发团队的管理。您的选择将在很大程度上取决于您的业务目标。

在本文中,我们将了解以下类别中的顶级工具:

数字通信工具是通过数字平台促进通信和信息共享的技术。换句话说,这些工具促进了软件开发团队之间的交流。

几项研究表明,使用即时消息、视频会议和项目管理软件等工具可以改善团队沟通和协作。此外,这些研究强调了为远程软件开发团队建立清晰的通信协议和指导方针的重要性,以及提供使用通信工具的培训的重要性。总的来说,通信工具的使用对于远程软件开发团队来说是有益的,但是重要的是以一种促进有效通信和协作的方式来使用它们。

下面列出了软件开发团队的数字交流工具。

松弛的

Slack 是一个消息平台,支持远程团队进行实时沟通和协作。企业使用 Slack 来帮助员工联系并作为一个统一的团队工作。在一次非正式调查中,一名软件开发人员分享了他和他的团队成员通过 Slack 共享软件工具、技巧和见解。

布罗克斯

Brosix 是一个即时通讯平台,旨在帮助团队更轻松地交流。Brosix 为其客户提供了一个私人团队网络,该网络提供了一个专属且安全的协作空间。其软件允许团队更有效地合作,并共享实时信息。Brosix 文件传输和屏幕共享功能可以帮助远程软件开发团队保持联系。

一款云视频会议软件

Zoom 是一款视频会议工具,可以帮助远程团队连接、共享和交换信息。使用 Zoom,用户可以使用音频和视频频道或文本消息相互交流。这个统一的通信生态系统可以为远程团队领导提供对其团队进展和挑战的洞察。

微软团队

微软团队是另一个具有视频会议、即时消息和文件共享功能的协作平台。用户可以在应用程序上进行对话和会议,并与每个人共享文件。远程团队经理可以使用 Microsoft 团队来协调工作、编辑任务列表和安排项目。

Google Meet

Google Meet 是谷歌开发的视频交流工具,是取代谷歌 Hangouts 的两款应用之一。它提供视频会议和协作功能,允许消息传递、屏幕共享和文件共享,以及与其他谷歌工具和服务的集成。

群众

Flock 是一个团队通信工具,允许消息传递、视频会议、文件共享以及与其他设备和服务的集成。Flock 应用程序可以帮助远程团队经理组织所有对话,并在一个地方跟踪您团队的工作。Flock 有一个内置的视频和语音通话系统,可以让您的团队在所有设备上保持互动。

环中心 MVP

RingCentral MVP 是一款统一的远程视频协作工具,可让全球员工在任何地方使用任何设备工作。借助这款一体化应用,用户可以发送消息、主持视频会议,并与队友通话,以便更有效地进行协作。它的高级 VoIP 功能允许他们管理、记录和转发呼叫。不仅如此,他们还可以在视频会议中共享文件和使用白板功能来阐述想法。

乌尔塔特尔

对于远程软件开发团队来说,Ultatel 是一个很好的工具,因为它提供了一套全面的功能,使团队不必在同一个物理空间就可以轻松地保持联系、协作和高效工作。使用 Ultatel,远程团队可以拨打和接听电话,发送和接收短信,甚至主持视频会议。它还提供了许多其他功能,如语音邮件、呼叫转移、自动助理等,可以帮助远程团队保持有序和高效。Ultatel 为各种类型和规模的远程团队提供解决方案,帮助您的团队保持联系和高效工作。

项目管理工具用于规划项目,可以帮助远程软件开发团队共享一个虚拟空间来协作和交换信息。

发表在《国际项目管理杂志》上的一项研究发现,使用包含数据库管理组件的项目管理信息系统(PMIS)可以提高项目管理的效率和效果。研究发现,具有数据库管理能力的 PMIS 可以为项目经理提供对项目数据的实时访问,这可以帮助他们做出更明智的决策,提高项目绩效。据一位匿名的软件开发人员称,“当其他软件开发人员推荐最可靠的对象浏览器、oracle 的最佳 SQLite 编辑器、重要命令、Oracle 的最佳管理工具等等时,生产率就会提高。”这位开发者进一步解释说,搜索引擎经常把他带进兔子洞,与其说是帮助的来源,不如说是分散注意力。

一些流行的项目管理工具包括:

Oracle Primavera

Oracle Primavera 是由 Oracle 设计的基于 web 的项目管理工具,用于计划、安排和管理各种规模和复杂程度的项目。该工具提供了一个用户友好的界面和许多功能,包括资源管理、任务跟踪和项目协作。此外,Oracle Primavera 可以与其他 Oracle 产品集成,如 Oracle 电子商务套件、Oracle 云以及 Oracle 自治数据库。远程开发团队也可以为 Oracle 使用第三方管理工具。一些很好的例子包括 SQL plus、Beekeeper studio、Toad、SQL Developer 和 SQL Navigator。

俏皮话

Nifty 是一款屡获殊荣的项目管理和团队协作解决方案,可为各种类型和规模的团队提供支持。通过将任务组织成里程碑,在任务完成时自动进行进度报告,您的计划将完美地落入范围、成本和时间的项目管理三角形中。Nifty 的易用性意味着您团队中的每个人都将最大限度地发挥 Nifty 对您工作流程的影响,即使之前没有任何项目管理经验。

阿萨纳

Asana 是一个基于网络的移动应用程序,可以帮助远程团队组织和管理他们的项目。借助 Asana,远程团队经理可以跟踪单个任务并定义工作流程。Asana 是为各种团队打造的,包括软件开发。然而,如果你特别想管理一个远程软件开发团队,吉拉是比 Asana 更好的选择,我们将在下面讨论。

吉拉

吉拉是一个软件开发工具,可以帮助远程软件开发团队在不同的任务上进行协作。您可以使用它来计划、跟踪和管理软件开发项目。作为远程团队领导,您可以通过分配任务、监控进度和审查每个团队成员完成的工作来轻松管理团队。

特雷罗

Trello 是一个可视化的项目管理工具,可以帮助经理组织他们的工作流程,并自动执行和跟踪任务。Trello 允许您安排团队成员的工作并检查谁需要帮助,从而帮助提高远程团队的工作效率。你可以让你的团队在应用上集思广益,从而保持联系。

Nifty 是一款屡获殊荣的项目管理和团队协作解决方案,可为各种类型和规模的团队提供支持。通过将任务组织成里程碑,在任务完成时自动进行进度报告,您的计划将完美地落入范围、成本和时间的项目管理三角形中。Nifty 的易用性意味着您团队中的每个人都将最大限度地发挥 Nifty 对您工作流程的影响,即使之前没有任何项目管理经验。

成功的软件开发团队使用时间管理工具来计划、监控、组织和优先化他们的项目和任务。

越来越多的证据表明,使用敏捷项目管理工具,比如 Scrum,可以通过提供明确的目标和截止日期,并允许更频繁地检查和调整项目计划,来改善开发团队的时间管理。另一项研究发现,使用自动化时间跟踪和分析工具可以帮助团队识别和解决工作流程中的低效问题。

下面列出的是可以提高软件开发团队生产力的时间管理工具的例子。

时间医生

时间医生是一款时间和项目管理工具,用于随时随地监控员工的工作效率。使用时间医生应用程序,您可以查看团队成员的任务时间摘要。Time Doctor 还允许远程团队经理根据每个团队成员的需要定制功能。

触发器

Toggl 是另一款时间跟踪应用,可以帮助远程团队经理跟踪团队的日常活动,并确定需要改进的地方。通过准确跟踪任务花费,您可以最大限度地提高远程团队的工作效率。Toggl 的时间跟踪应用程序优先考虑隐私,因为这些功能是非侵入性的。

时钟化

Clockify 是一款时间追踪应用,用于跨项目追踪工作时间。经理可以使用 Clockify 来跟踪员工的生产率、出勤和计费时间。对于不同地理区域的远程团队成员,Clockify 允许您跟踪时间,而不受时区的限制。自定义域允许您创建时间表、周报告和时间条目。

一些人力资源管理(HRM)工具可以用来支持软件开发团队。

使用申请人跟踪系统(ATS)可以自动跟踪简历和申请,并允许招聘经理和候选人之间进行更有效的沟通,从而提高开发团队招聘流程的效率和有效性。

此外,绩效管理系统可以帮助软件开发团队识别和解决与员工绩效相关的问题,通过提供一个标准化的过程来设定目标、跟踪进度和提供反馈。

此外,人力资源管理工具,如员工自助服务门户、员工日程安排系统和员工调查工具,也有助于提高团队内部的效率和沟通。

需要注意的是,对于软件开发团队来说,没有一种通用的解决方案。远程领导者需要评估不同的可用选项,并选择最能满足其特定需求的工具。

为了简化这项任务,我们列举了人力资源管理工具的例子。

腺苷二磷酸

一款基于云的人力资源和薪资软件,为小型、中型和大型企业提供解决方案。ADP 提供各种人力资源服务,包括人才管理、薪资、福利和合规。该应用程序提供了一个有效的工资系统,因为您可以轻松计算您的远程团队员工的工资。

Agentnoon

Agentnoon 是一款自动化人力资源工作流程的劳动力规划软件。该软件帮助组织有效地计划和管理他们的劳动力。它允许企业识别和预测他们的劳动力需求,并做出有关招聘、培训和发展的战略决策。

Agentnoon 通常包括以下功能:

劳动力分析和报告:允许组织跟踪劳动力数据,如人数、人员流动和技能组合,以确定趋势和预测未来的劳动力需求。

需求预测:帮助组织根据历史数据、趋势和业务计划预测未来的劳动力需求。

供应预测:帮助组织根据退休、晋升和预期的外部聘用来预测其劳动力的可用性。

方案计划:允许组织测试不同的劳动力计划方案,如需求或供应的变化,以了解它们将如何影响组织。

继任计划:帮助组织确定关键角色,并为当前员工的发展和晋升制定计划,以填补未来的空缺。

工作日

基于云的人力资源软件解决方案,提供各种服务,包括人才管理、财务管理和规划。 Workday 有一个集成的劳动力调度功能,允许您通过检查出勤情况并在他们错过里程碑时通知他们来管理您的团队。

SAP 成功因素

SAP SuccessFactors 是一款人力资源软件,为员工参与和招聘提供各种服务。它结合了多种软件功能,帮助您管理团队成员的出勤、时间和福利。SAP SuccessFactors 允许管理人员创建一个空间,让他们的团队成员能够找到提高工作效率所需的一切。

Oracle HCM 云

一个全面的、基于云的人力资本管理解决方案,包含人才管理、薪资、福利和合规性平台。该软件具有远程系统管理功能,可帮助您支持您的远程团队。 Oracle HCM 云还提供了一个人力资源平台,用于管理和满足远程团队的期望。

终极软件

这款基于云的人力资源和薪资软件具有人才管理、薪资、福利和合规性功能。它为小型、中型和大型企业提供解决方案。 Ultimate Software 可以让您的团队轻松访问他们的工资、福利和其他个人信息,从而改善他们的工作体验。

员工自助服务门户

  • 员工自助服务是许多人力资源信息系统(HRIS)的一部分。远程工作人员可以访问许多与工作相关的信息,如工资单、个人数据、联系人和银行业务详情。这些解决方案允许远程员工访问他们的工资单、福利信息和其他人力资源相关文档。

  • Movavi 视频编辑器

  • Movavi 视频编辑器是一款功能强大且易于使用的软件,用于制作专业和高质量的视频。软件远程团队领导可以使用 Movavi 视频编辑器等视频编辑工具,通过创建和共享高质量的培训视频来培训员工。使用 Movavi,您可以使用各种强大的功能,如背景替换效果、运动跟踪技术、对象动画和慢动作选项。您可以创建交互式内容,为远程员工提供有价值的信息。

有许多工具可以简化 Git 的使用,使它更容易访问和用户友好。这些工具通过提供可视化帮助、协作特性和其他便利来增强 Git 的功能。在接下来的段落中,我们将探索其中的一些工具,以及它们如何改善开发人员和团队的 Git 体验。

gitkraken 客户端

GitKraken 客户端是 Windows、Mac 和 Linux 的最佳 Git 客户端。它是一个 GUI 客户端工具,允许您以一种用户友好的方式与 Git 存储库交互,而不是简单地使用 Git 的命令行界面。GitKraken 提供了库的可视化表示,简化了导航和理解代码结构的过程。它还包括一些功能,如内置的合并工具、文件管理器和便于与团队成员协作的团队功能。该工具对公共回购是免费的,并为私人回购提供付费选项

在本2023 年最佳 Git GUI 指南 中查看 GitKraken 客户端与其他 Git GUI 工具的比较。

VS 代码的 GitLens

GitLens 是一个流行的 Visual Studio 代码(VS Code)扩展,它直接在代码编辑器中添加了强大的 Git 功能。它为 Git 操作提供了一个可视化的界面,比如查看 Git 责备注释、探索存储库历史以及从代码编辑器中执行 Git 操作,从而使 Git 更容易使用。GitLens 还提供付费功能,如提交图、交互式 Rebase 编辑器、可视化文件历史等,帮助开发人员和团队简化他们的 Git 工作流程并增强 Git。

吉拉的 Git 集成

吉拉 Git 集成是一个将 Git 与流行的项目管理软件集成在一起的工具。吉拉。这个工具使管理员和开发人员更容易跟踪他们在关键项目上的进展。该集成直接在吉拉内部提供了 Git 信息的综合视图,消除了在工具之间切换的需要。管理员可以实时看到重要任务和代码更改的状态,从而更容易管理项目时间表和依赖关系。对于开发人员来说,集成通过将 Git 信息直接链接到吉拉问题节省了时间,使得跟踪工作和与团队成员协作变得更加容易。

最后的想法

互联网使世界变成了地球村。只要这种趋势继续下去,一些软件开发团队就会更愿意为采用远程工作模式的公司工作。商业领袖应该找到提高他们软件开发团队生产力的方法。这就是远程作业机具的用武之地。

远程工作工具允许开发人员在任何地方工作,这可以改善工作与生活的平衡并提高工作效率。有了合适的人力资源和劳动力规划软件,公司可以从世界任何地方雇佣顶尖人才。总的来说,远程工作工具可以帮助公司和开发人员提高效率和生产力,同时也提高了开发人员的生活质量。

一个全面的、基于云的人力资本管理解决方案,包含人才管理、薪资、福利和合规性平台。该软件具有远程系统管理功能,可帮助您支持您的远程团队。 Oracle HCM 云还提供了一个人力资源平台,用于管理和满足远程团队的期望。

终极软件

这款基于云的人力资源和薪资软件具有人才管理、薪资、福利和合规性功能。它为小型、中型和大型企业提供解决方案。 Ultimate Software 可以让您的团队轻松访问他们的工资、福利和其他个人信息,从而改善他们的工作体验。

员工自助服务门户

员工自助服务是许多人力资源信息系统(HRIS)的一部分。远程工作人员可以访问许多与工作相关的信息,如工资单、个人数据、联系人和银行业务详情。这些解决方案允许远程员工访问他们的工资单、福利信息和其他人力资源相关文档。

Movavi 视频编辑器

Movavi 视频编辑器是一款功能强大且易于使用的软件,用于制作专业和高质量的视频。软件远程团队领导可以使用 Movavi 视频编辑器等视频编辑工具,通过创建和共享高质量的培训视频来培训员工。使用 Movavi,您可以使用各种强大的功能,如背景替换效果、运动跟踪技术、对象动画和慢动作选项。您可以创建交互式内容,为远程员工提供有价值的信息。

Movavi Video Editor

有许多工具可以简化 Git 的使用,使它更容易访问和用户友好。这些工具通过提供可视化帮助、协作特性和其他便利来增强 Git 的功能。在接下来的段落中,我们将探索其中的一些工具,以及它们如何改善开发人员和团队的 Git 体验。

gitkraken 客户端

GitKraken 客户端是 Windows、Mac 和 Linux 的最佳 Git 客户端。它是一个 GUI 客户端工具,允许您以一种用户友好的方式与 Git 存储库交互,而不是简单地使用 Git 的命令行界面。GitKraken 提供了库的可视化表示,简化了导航和理解代码结构的过程。它还包括一些功能,如内置的合并工具、文件管理器和便于与团队成员协作的团队功能。该工具对公共回购是免费的,并为私人回购提供付费选项

在本2023 年最佳 Git GUI 指南 中查看 GitKraken 客户端与其他 Git GUI 工具的比较。

VS 代码的 GitLens

GitLens 是一个流行的 Visual Studio 代码(VS Code)扩展,它直接在代码编辑器中添加了强大的 Git 功能。它为 Git 操作提供了一个可视化的界面,比如查看 Git 责备注释、探索存储库历史以及从代码编辑器中执行 Git 操作,从而使 Git 更容易使用。GitLens 还提供付费功能,如提交图、交互式 Rebase 编辑器、可视化文件历史等,帮助开发人员和团队简化他们的 Git 工作流程并增强 Git。

吉拉的 Git 集成

吉拉 Git 集成是一个将 Git 与流行的项目管理软件集成在一起的工具。吉拉。这个工具使管理员和开发人员更容易跟踪他们在关键项目上的进展。该集成直接在吉拉内部提供了 Git 信息的综合视图,消除了在工具之间切换的需要。管理员可以实时看到重要任务和代码更改的状态,从而更容易管理项目时间表和依赖关系。对于开发人员来说,集成通过将 Git 信息直接链接到吉拉问题节省了时间,使得跟踪工作和与团队成员协作变得更加容易。

最后的想法

互联网使世界变成了地球村。只要这种趋势继续下去,一些软件开发团队就会更愿意为采用远程工作模式的公司工作。商业领袖应该找到提高他们软件开发团队生产力的方法。这就是远程作业机具的用武之地。

远程工作工具允许开发人员在任何地方工作,这可以改善工作与生活的平衡并提高工作效率。有了合适的人力资源和劳动力规划软件,公司可以从世界任何地方雇佣顶尖人才。总的来说,远程工作工具可以帮助公司和开发人员提高效率和生产力,同时也提高了开发人员的生活质量。

Git Integration for Jira

Git Integration for Jira is a tool that integrates Git with the popular project management software. Jira. This tool makes it easier for administrators and developers to track their progress on key projects. The integration provides a comprehensive view of Git information directly within Jira, eliminating the need to switch between tools. Admins can see the status of important tasks and code changes in real-time, making it easier to manage project timelines and dependencies. For developers, the integration saves time by linking Git information directly to Jira issues, making it easier to track work and collaborate with team members.

Final Thoughts

The internet has made a global village of the world. And so long as this trend continues, some software development teams will prefer to work for companies that have adopted the remote working model. It behooves business leaders to find ways to increase the productivity of their software development teams. This is where remote work tools come in.

Remote working tools allow developers to work from anywhere, which can lead to improved work-life balance and increased productivity. With the right human resources and workforce planning software, companies can hire top talents from anywhere in the world. Overall, remote working tools can help companies and developers to be more efficient and productive while also improving the quality of life of the developers.

学生应该使用 Git 和 GitKraken 的 3 个理由

原文:https://www.gitkraken.com/blog/3-reasons-students-git-gitkraken

除非你第一次就能完美的写出一个东西,否则你需要有一个版本控制系统。版本控制系统(VCS)是一种帮助跟踪文件或文件组的版本变化的工具。

对大多数人来说,他们的第一个 VCS 是用不同的文件名复制文件。如果您正在编写一个文档,这可能看起来像是有不同的文件命名为outline.docxdraft.docxdraft-v2.docxfinal-draft.docx。这是一个非常有效的 VCS,它适用于简单的工作流。然而,生活并不总是简单的,通过强大的 VCS,复杂的工作流程变得不那么繁琐。

虽然没有一个放之四海而皆准的文件组织解决方案,但 Git 是许多工作流的绝佳选择。Git 可能不会改变你的生活,但它会改变你的硬盘!

Git 已经成为最受欢迎的 VCS。尽管它非常有用,但它还没有进入高中课程,学生们也没有在他们的学术工作流程中使用这个神奇的工具。

虽然 Git 对于门外汉来说具有挑战性,但是如果用户安装了像 GitKraken 这样设计良好的 Git 图形用户界面(GUI ),他们几乎可以很快上手并运行。

我喜欢 GitKraken 提供的视觉树。

我从高中就开始使用 Git,尽管有多年的经验,我仍然发现自己在使用 GUI 来简化我在研究生院使用的许多工作流。我正在斯坦福大学攻读电子工程博士学位,研究激光如何用于飞机的惯性导航。我的研究旨在让光纤陀螺仪更精确、更便宜。

在本文中,我将分享三个 Git 工作流,Git 和 GitKraken 已经简化了这些工作流。虽然人们可以为这些工作流使用任何 Git 客户端,但是根据我的经验,GitKraken 是跨平台版本控制最优雅的解决方案。

1。研究实验的版本代码

如果你是研究生,你做研究的可能性很大。如果你是一名研究生,并且正在阅读这篇博客,你很可能会为你的研究编写代码。

我的研究项目涉及一个反复使用的算法。该算法的 MATLAB 代码是由一名研究生在五年前编写的,后来被其他研究生改进过。偶尔,当我们将实验结果与以前的结果进行比较时,我们会问这样一个问题:“哪个版本的代码创建了这些图并得到了这些数字?”

有一段时间,当学生更新算法时,他们会在文件顶部添加一条注释,比如:

% Title: Allan Variance Calculator
% Author: Grad Student A
%
% Modified to allow for different types of optical sources. – Grad Student B, 8 April 2014.
% Optimized nested-loop for faster performance with large datasets. – Grad Student C, 21 October 2016.

func foo(bar)
...

这种方法的问题是,如果出现问题,您会丢失原始代码并且无法恢复。人们可以将原始代码保存在另一个文件中,比如script.mscript_v2.mscript_v2_grad_student_a_edits.m,但是这种方法很快变得难以操作。

这是 Git 大放异彩的一个用例。假设我正在查看 2013 年创建的数据集,并希望使用 2013 届研究生使用的相同代码来重现该图。

我可以在我的终端上输入git log,找出 2013 年使用的提交名称,然后输入git checkout <commit name>,暂时使用那些学生使用的代码。之后,我可以输入git checkout HEAD来恢复到当前版本。这个工作流程要简单得多,并且可以轻松地比较一个脚本的所有不同版本的输出。

GitKraken 对于调试复杂的学校作业程序、挑选樱桃和提交文件是必不可少的。[/blockquote]

GitKraken 不支持检查旧的提交,但它确实使得查看整个目录中的更改——在单个文件中——比记住几十个git log参数更容易。

2。LaTeX 出版物的版本代码

有很多理由在研究生院使用乳胶写作。如果你正在写一个简短的文档,谷歌文档通常就足够了。但是对于更复杂的文档,LaTeX 在支持矢量图、方程和引用管理方面是无与伦比的。

因为 LaTeX 是一种编程语言,它特别适合于版本控制——以至于流行的 LaTeX 托管站点如 Overleaf 为每个 LaTeX 项目提供了 Git 存储库。

当我写作时,我讨厌在修改过程中扔掉段落。很长一段时间,我会删除 Word 文档中的大部分内容,或者将编辑时删除的段落保存在单独的文件中,以防我在以后的版本中需要它们。

在 LaTeX 文档中,情况甚至更糟:我的代码中充满了大量被注释掉的段落,只有偶尔出现的未注释部分。

当我将 Git 引入到我的工作流中时,我发现我可以从我的文档中删除这些未使用的段落,并且如果我需要返回它们,它们将位于之前的提交中。随着我的草稿的混乱减少,可读性增加了,如果需要的话,我总是有信心在几秒钟内恢复以前的“工作草稿”。

对于协作编写,当您想要合并来自不同用户的更改时,Git 工作得很好。

对于文本文件,Git 会自动为您完成大部分合并工作。唯一需要用户干预的时候是对同一个段落进行了两次编辑,在这种情况下,用户不能自动合并这两次编辑。在这些情况下,使用 GUI 可以节省大量时间。GitKraken 有一个漂亮的应用内合并工具,可以轻松解决合并冲突。

3。在 GitHub 上构建您的代码简历

最终,学生毕业并进入劳动力市场。我在硅谷中心的斯坦福大学学习,毕业时在简历中加入编程技能对该地区的大多数大公司来说是至关重要的。

GitHub 已经成为向潜在雇主展示编码项目的首选平台。因此,考虑到这一点,我尽量在 GitHub 上发布学校项目的代码(家庭作业除外,因为这违反了学术诚信政策)。

知道我的代码将在公共网站上发布,迫使我写更好的代码。

我发现我倾向于写描述性的注释,使用最佳实践,并且养成了以小的提交来组织我的变更的习惯。这使得每个学校项目都是一个机会,不仅可以在班上获得高分,而且如果我想沿着这条路走下去,还可以为成功的编码职业生涯而练习。

我发现只有大约一半的个人代码审查发生在我在编辑器中的时候。当我写完我的修改,并且代码按照我想要的方式运行时,我将启动我的 Git GUI 并阅读提交的内容。

正是在这一点上,我开始看到所有的样式错误和不清楚的注释,我回去修正我的代码。我还会发现有时一个提交会被分成两个不同的提交。例如,我将把来自“固定按钮和更新算法”提交的更改分成“固定按钮”提交和“更新算法”提交。

为什么研究生应该使用 Git?

如果您符合以下任何一个条件,我建议您使用 Git:

  1. 您管理一个正在进行的实验或项目的代码库。
  2. 您用 LaTeX 编写了许多复杂的或协作的文档。
  3. 将来你可能需要一个编码项目组合。

Git 是一个强大的工具,但是它的学习曲线非常陡峭。使用 Git GUI 简化了工作流程,使 Git 的使用更加直观。

在比较了不同的 GUI 之后,我在自己的所有项目中都选择了 GitKraken,不管是操作系统还是之前的 Git 经验,这都是我推荐的 GUI。它还不支持分离头或问题跟踪,但这并不妨碍它成为版本控制代码的最佳 Git GUI 无论是在研究生院还是在研究生院。

我通过学生开发者包开始使用 GitKraken ProGitHub 。有了这个包,学生可以免费获得最好的开发工具!GitKraken Pro 包括所有常规的 GitKraken 功能,以及像应用内合并冲突输出编辑器和多个配置文件这样的东西。GitHub 提供无限的私有和公共存储库。最终,我将探索 Stripe 和 Travis CI,它们是 GitHub 的学生开发者包中的其他有价值的工具。

你需要尝试的 5 款电子应用

原文:https://www.gitkraken.com/blog/5-electron-apps

你可能已经知道了, GitKraken 将跨平台体验的一致性归功于它是建立在电子基础上的。

电子是一个强大的框架,允许开发者通过基于网络的技术创建操作系统本地的应用程序;本质上是将 web 应用程序打包到本机桌面应用程序中,这些应用程序在各种操作系统中具有一致的外观和行为。该框架在相对较短的时间内获得了巨大的吸引力,基于 Electron 的官方应用程序列表持续增长。

有一些电子应用程序是我最喜欢的,包括:

  • GitKraken(当然!)
  • 原子
  • Slack 的桌面应用

我在之前的一篇文章中讨论了上面的应用程序,没有你就不能工作的 10 个应用程序,所以我在这里不再重复。相反,我想提供一些基于 Electron 的鲜为人知的应用程序,你可能没有听说过,可能想尝试一下。所有这些应用程序都列在电子的电子应用程序的扩展页面上。

I discussed the apps above in an earlier post, 10 Apps You Can’t Work Without, so I won’t repeat them here. Instead, I want to offer up a handful of lesser-known apps built on Electron that you might not have heard of and might want to try out. All these apps are listed on Electron’s extensive page of Electron apps.

你应该尝试的 5 款电子应用

1。GIF 制作者

GIF Maker 是一个从各种视频服务中创建 GIF 的工具。例如,您可以在 URL 字段中插入一个 YouTube URL,点击“创建”按钮,GIF Maker 将为您生成一个工作 GIF 文件。在那里,您可以进行一些编辑来修剪文件、应用平衡调整以及调整视频大小。

该网站声称你可以从 200 多个网站上下载(尽管我在网飞测试时运气不好),你也可以选择一个本地视频文件进行转换。

GIF Maker 有免费版和专业版。Pro 选项更多;例如视频过滤器和更高级的编辑功能。但最明显的区别是,pro 版不会对你输出的 GIF 进行水印处理。

2。ndm

ndm 提供了一个 GUI 来管理您的节点包。它有一个逻辑树视图,用于区分全球安装的模块和每个项目的模块。一眼就能看出:

您为当前项目/全局安装的模块。

已安装模块的当前版本。

每个模块是否有可用的更新。

  • The modules you have installed for the current project/globally.
  • 你也可以安装新的软件包,甚至通过应用程序更新 npm 本身。
  • 虽然不如像 CodeKit 这样的应用程序功能全面(除了为包管理提供 GUI 之外,它还可以通过客户端而不是命令行运行编译任务),但在包管理方面的体验是相似的。这可能是一个真正的节省时间的内务节点模块,看到清晰的清单,你有哪些版本的软件包,并看到软件包更新存在。

3。Kap(仅限 MacOS】

我用截屏软件已经很多年了。在我自由职业的日子里,我会制作一些简短的视频作为教育资源;迷你教程展示如何做出某些改变。然而,从来没有涵盖我所有用例的最佳功能点。启动捕获通常需要设置许多选项,例如:压缩设置、帧速率等。–坦白地说,我宁愿在压缩应用程序中录制后看到这些选项。为较短的捕获创建 GIF 甚至不是一个选项,尽管我们现在有像 LICEcap 这样的功能应用程序,但 Kap 涵盖了所有基础,提供了简单的 MP4/WebM 格式,或来自同一应用程序的 GIF 捕获选项。定义你的捕捉区域,点击记录,你就上路了。

这款应用的真正优势在于它的简单性,我认为这比功能更丰富或选项更多的屏幕录制应用更有助于完成工作。它坚固、稳定,而且像最好的餐馆一样,菜单上不会有太多妨碍你开始的东西。

4。超级

Hyper 是一款基于 HTML、CSS 和 JavaScript 的终端 app。它是可检查的,这意味着你可以在应用程序中查看和操作用户界面。比如像这样:

您可以修改应用程序的配置文件,以根据您的需求和喜好对 UI 进行更改。在这方面,Hyper 在可攻击性方面与 Atom 相似,并且与 Atom 一样,它也有一个插件系统(Hyper 的插件管理使用 npm)。

Hyper 也是开源的。

5。Google Play 音乐桌面播放器

如果你像我一样,使用 Google Play 作为你的音乐服务选择,你会知道你唯一真正的官方桌面解决方案是在你的浏览器中打开 web 应用程序。Google Play 音乐桌面播放器(他们是怎么想出这个名字的?)是一个第三方应用程序,作为一个独立的应用程序,为您的 Google Play 音乐播放提供了一个类似素材的界面。

它不提供离线播放功能,但可以让你把听和浏览分开。它还允许更深层次的定制,比如通知、热键和最小化回放,这是从浏览器中很容易实现的。它还允许您自定义应用程序的外观。

另外,Google Play 音乐桌面播放器是开源的!

5. Google Play Music Desktop Player

If, like me, you’re using Google Play as your music service of choice, you’ll know that your only real official desktop solution is opening the web app in your browser. Google Play Music Desktop Player  (how did they think of that name?) is a third-party app offering a material-like interface for your Google Play music playback, as a discrete application.

It doesn’t offer offline playback, but it does allow you to keep your listening separate from your browsing. It also allows for deeper levels of customization than would otherwise be easy to achieve from the browser, such as notifications, hotkeys, and minimized playback. It also allows you to customize the look of the app.

Additionally, Google Play Music Desktop Player is open source!

6 个流行的 Atom 包

原文:https://www.gitkraken.com/blog/6-atom-packages

毫不奇怪,在 Axosoft,最常用的工具之一是不起眼的文本编辑器。不管你是哪种类型的开发人员,你都有自己的编辑器设置:主题、键盘快捷键、插件;一切都按照你喜欢的方式配置。

在 Axosoft,迄今为止最受欢迎的编辑器是 Atom : GitHub 的功能性、灵活性、开源、跨平台编辑器。开箱即用,Atom 是一个非常有能力的应用程序,不需要很长时间就能感觉到熟悉。但是它真正的优势在于它的可扩展性和可攻击性。对于有自己独特需求、语言、偏好和习惯的开发者来说,这是一个真正的福音。如果需要,您可以调整配置文件,或者创建整个插件来扩展 Atom 的基本功能。

如今,有很多适用于 Atom 的软件包,它们很容易在应用程序中浏览和安装。以下是 Axosoft office 中一些最常用的软件包的综述。

我们最常用的 6 个 Atom 包

1。linter/linter-eslint

https://atom.io/packages/linter https://atom.io/packages/linter-eslint

我们开发的最流行的插件,是两个林挺代码插件的组合。linter 是一个程序,它评估代码中可能存在的错误,并强制执行一致的编码风格。基础 linter 与安装在基础之上的 JavaScript linter 相结合,是 Axosoft 开发人员的首选组合。语法错别字滚蛋!

2。高亮选择

https://atom.io/packages/highlight-selected

你可能已经猜到了,“高亮选择”包高亮你的选择;事实上,它突出显示了文档中该选择的所有实例。简单,但如果您需要快速引用一个字符串的所有可见实例,这是非常有效的。

3。颜料

https://atom.io/packages/pigments

如果你正在处理颜色和变量,颜料是一个不可缺少的包。颜料突出显示所有颜色值(十六进制、rgb、rgba)以及该值所代表的颜色。在其他设置中,您可以选取“标记类型”,例如,选择颜色值旁边的颜色点,而不是用该颜色高亮显示它。

Pigments 也支持预编译器,所以您可以使用 Stylus、Less、Sass 或 Scss,它会突出显示代表颜色的函数和变量。需要例子?嗯,我们都知道 Chuck Norris 的十六进制值是#bada55,但这里有几个手写笔建议给你:

4。迷你地图

rocky                  = #ba1b0a
ringo-starr            = alpha(#bea71e, 0.5)
whats-that-smell       = #badc0d
whats-that-other-smell = #faece5 

https://atom.io/packages/minimap

Minimap 提供了当前文档全部源代码的一目了然的图形预览。该软件包的主页显示了丰富的配置选项,但即使没有设置这些选项,Minimap 也提供了一种非常简单的方法来找出您在代码中的位置,并快速到达您需要的位置。

将此包与小地图高亮选择包结合,查看您在地图中的所有选择!

Minimap offers an at-a-glance graphical preview of the current document’s entire source code. The package’s home page shows the copious configuration options, but even without setting those, Minimap offers a really easy way to work out where you are in your code, and quickly get to where you need to be.

5。铁路图

https://atom.io/packages/regex-railroad-diagram

正则表达式是否让你对牙科手术、高中同学聚会、去车管所,或者在当地车管所由你的一个高中老朋友进行牙科手术充满恐惧?如果是这样,Regex 铁路图可能是你祈祷的答案。这个包提供了正则表达式的可视化视图,因此更容易调试它们的行为。

6 .规则制定者

https://atom.io/packages/rulerz

我的光标去了哪里?我在这一排的什么位置?我很害怕!如果屏幕上有一个小竖条跟随我的光标,巧妙地给我一个我在哪里的视觉参考就好了!

啊,这有个包裹。Rulerz 给你一个简单的垂直规则,帮助你知道你在哪里。更重要的是,由于 Atom 的样式表,它是可定制的。这里有一个简单的例子:

给你:

啊,这样好多了。非常欢迎你。

Ah, there’s a package for that. Rulerz gives you a simple vertical rule to help you know where you are. What’s more, it’s customizable, thanks to Atom’s stylesheet. Here’s a modest example:

atom-text-editor.is-focused::shadow {
    ruler-view.rulerz {
        border: 10px solid #5234d4;
        width: 500px;
        box-shadow: 0px 0px 10px 10px #ff0, 0px 0px 100px 10px #f00;
        background-image: url('http://i.amz.mshcdn.com/AMO_a36WMI0rtWvQfnvIO8M_PZA=/1200x627/2012%2F12%2F04%2Fa9%2Fnyancatstar.aDm.jpg');
        background-size: contain;
    }
}

Gives you:

Ah, that’s better. And you are most welcome.

7 大 DevOps 播客|面向开发者的播客

原文:https://www.gitkraken.com/blog/7-best-devops-podcasts

现在,使用开发运维方法的企业比以往任何时候都多。因此,你会想更多地了解它是如何工作的,以及你如何能最大限度地利用它。与 DevOps 保持同步的最好方法之一是找到最好的播客来听,因为他们会提供最新的新闻和建议。这里有一些你现在应该听的最好的 DevOps 播客。

1。 软件定义对话

聆听软件定义的对话

这个每周一次的节目涵盖了 DevOps、安全、编码、云计算等领域发生的一切。正如他们在自己的网站上所说,他们不会太把自己当回事。这对你来说是个好消息,因为这让他们很容易倾听。

最近几集报道了 Twitter 最近发生的事情、云增长率以及 DevOps 的明显“死亡”。它们还涵盖了所有适用的主题演讲和研讨会,因此您可以随时了解最新动态。

值得注意的一集: 德沃普斯之死
特色:安德鲁克莱谢弗
概要:德沃普斯的想法再次被宣布“死亡”,所以主持人和谢弗讨论这对整个德沃普斯来说究竟意味着什么。

2。 Azure DevOps 播客

收听 Azure DevOps 播客

顾名思义,这个节目关注的是 Azure 平台。这很有道理,因为它们是由 Clear Measure 公司赞助的。“他们不仅仅报道 Azure”Gerard Davies 说,他是 DevOps 的作家,拥有论文研究员论文服务。“它们还涵盖了许多不同的工具,着眼于它们如何在开发运维过程中提供帮助。”

DevOps 中有许多对杰出人物的采访,因此您将能够了解他们的工作以及他们发现的使您的业务流程更加顺畅的技术。

值得注意的一集: 演进中的云架构
特色: Jeff Fritz
总结: Jeff 和主持人谈论微软的新功能,以及他们如何使用云架构来创建他们的解决方案。

3 .JavaScript Jabber

听 JavaScript Jabber

这个播客是 Devchat.tv 节目的一个分支,专注于 DevOps,希望能为你提供可行的建议。我们经常采访行业领袖,所以你可以学到更多,改进你的工作。

如果你是 DevOps 新手,需要更多的建议,这个节目是一个很好的听众。它提供了一些工具来帮助您理解系统的工作方式,这样您就可以充分利用它。如果你在寻找建议或想法,这就是你要听的播客。

值得注意的一集: 万事打字稿

特色: Maina Wycliffe
摘要: Wycliffe 谈论他的打字通讯《所有打字的事情》,以及为什么他是这个系统的爱好者。

4。新的堆栈播客

收听新的堆栈播客

该展览面向开发人员,他们正在创建 DevOps 系统的基础。因此,在这里你会找到许多有用的、可行的建议,你可以把它们运用到自己的工作中,并使之有所不同。

例如,现在你可以找到最近关于开源材料、云计算和特性管理的文章。在这个播客中有很多东西要学,所以一定要听。

值得注意的一集: Redis 着眼于缓存之外的一切数据
摘要:主持人探索 Redis 平台,以及它如何在 DevOps 的世界中演变。

5。 德沃普斯和码头工人谈话

听 DevOps 和 Docker 的对话

正如你所料,这个播客主要关注 Docker,但是你也可以在这里看到其他 DevOps 工具。例如,最近的几集涵盖了 Kubernetes、Slim.ai 和 GitOps。这个节目包含了丰富的信息,听起来很有趣。

来自写我的文章定制文章的科技博客作者蒂娜·哈里斯说:“这些剧集要么采访专家,要么指导 DevOps 的某些方面。”。"因此,许多人在研究 DevOps 时发现它们是一个有用的起点."

值得注意的一集: 纤毛和 eBPF
特色:莉丝赖斯
摘要:赖斯让我们深入了解纤毛和 eBPF 如何工作,以及它们如何与您的工作相关。

6。DevOps 的人类

聆听 DevOps 的人类

虽然 DevOps 通常专注于技术方面,但主持人 Eveline Oehrlich 将对话带到了人性的一面。毕竟,如果没有人的干预,即使最好的 DevOps 技术也不会像预期的那样发挥作用。她旨在研究如何从 DevOps 团队中获得最大收益,从而从整体上改善公司。

最近几集涵盖了危机时期的职业导航、DevOps 中的思想领袖和行业领导力等主题。

值得注意的一集: 在危机时刻导航你的职业
特色:林赛·波拉克
总结:波拉克在 DevOps 的范围内,就如何导航因 COVID 而变化的工作世界提出建议。

7 . 运吧!

听船吧!

正如本播客的标语所述,他们着眼于如何让你的想法走进世界,看看会发生什么。他们致力于将技术工具和人类开发团队结合起来,共同努力实现这一目标。

在最近几期节目中,您可以看到对行业领导者的采访,如何部署生产权,以及 DevOps 世界中常用技术的更新。

值得注意的一集: 红帽走近 SRE
特色:纳拉亚南 Raghavan
概要: Raghavan 讲述红帽如何使用 SRE 管理云服务。

快乐聆听!

这些是目前最好的 DevOps 播客。听听他们的意见,看看你是否能得到一些有用且可行的建议。

珍妮·韩是一位作家用 写我的研究论文 做我的课程作业 。她介绍 DevOps 及其在工业中的应用。她也是 廉价散文 博客的作者。

管理远程开发团队的 7 个策略

原文:https://www.gitkraken.com/blog/7-strategies-for-managing-remote-development-teams

本帖由客座作者, Chioma Iwunze 撰写。Chioma 对写作充满热情,无论是创意写作、内容写作还是内容营销。Chioma 是康奈尔大学的一名研究生,目前正在撰写她的论文。她拥有并管理creativewritingnews.com

在疫情之前,远程工作很少见。尽管一些软件开发公司雇佣远程工作人员,但这种趋势一直被嗤之以鼻,直到疫情彻底改变了工作的性质。

越来越多的研究人员研究了软件开发人员中普遍存在的远程工作。在 GitLab 的 2021 年调查中,82%的受访者表示他们相信远程工作是未来的趋势,而 Stack Overflow 的另一项 2022 年调查发现,85%的开发人员在至少部分远程的组织中工作。软件开发平台 Terminal.io 发布了 2023 年版的远程工程状况报告,其中 66%的工程师报告称他们一直远程工作,80%的受访者报告称他们更喜欢至少 80%的时间远程工作。

up work2021 年的一项研究发现,在新冠肺炎疫情开始时,80%的技术招聘经理已经聘用了远程网络移动和软件开发人员,这些招聘经理打算继续这一趋势。这些研究表明,远程工作在软件开发人员中越来越普遍,许多公司将其作为员工的可行选择。

2023 年,问题不再是“拥有远程软件工程团队的可能性有多大?”。相反,企业高管正试图找出如何从在传统办公室管理软件开发团队过渡到远程管理他们。

在本文中,我们将列出并列举 7 个有效管理远程软件开发团队的万全之策。

设定明确的目标和期望

因为远程软件开发团队在不同的地点和环境中工作,团队成员必须在目标和期望上保持一致。

有效传达的目标应该有助于远程员工在对组织重要的事情上保持一致,并满足期望。

作为一个远程团队的领导者,你在向你的成员传达软件开发目标的时候一定要清楚。你可以通过以下方式实现清晰的沟通:

  • 明确定义您希望团队实现的具体且可衡量的目标,这样就不会有人对成功的含义一无所知。
  • 阐明目标的益处和目的。您的远程团队成员必须知道为什么这些目标对公司至关重要,以及他们将从他们的成就中获得什么。
  • 确保您的团队成员了解他们的个人任务如何有助于实现公司目标。
  • 通过让团队充分了解原始目标的变化来避免意外。
  • 确保每个人都知道既定的截止日期和里程碑,并努力实现它们。

鼓励公开透明的沟通

你能为你的远程团队做的最好的事情之一就是在你的团队中建立并鼓励开放的沟通。

越来越多的证据表明,有效的沟通是远程软件开发团队生产力的关键驱动力。定期签到、透明沟通和虚拟面对面会议是保持远程团队生产力的有效方式。

发表在《哈佛商业评论》上的研究表明,闲聊有助于人们建立情感联系,促进合作和创造力。

走进办公室,我们很多人都不愿意闲聊,这是有充分理由的。除了改善软件开发人员的心理健康之外,定期交流有助于人们感受到情感上的联系,促进合作和创造力。

鼓励开放式交流的一个好方法是留出特定的时间,让团队成员定期与同事交流,讨论与工作相关的目标,并建立团队士气和兼容性。

专业提示:确保这些会议的目标明确,这样团队成员就能确切知道每次会议的期望。

承认有效内部沟通的重要性

此外,有效的内部沟通对于任何软件开发团队的成功都是至关重要的,组织和分割电子邮件列表可以成为促进这种沟通的有效工具。创新领导力中心的一项研究发现,经常与经理和同事沟通的远程员工工作满意度更高,也更有可能留在当前的雇主身边。

越来越多的证据表明,健康的电子邮件列表可以有效地传播信息,协调活动,并在组织内建立一种社区意识。此外,一些研究发现,定期使用内部电子邮件列表可以改善团队成员之间的沟通,提高协作和生产率,并增强组织的整体绩效。

展示对软件开发团队成员的信任

信任,或者缺乏信任,是远程工作环境中的一个大问题。许多远程软件工程师觉得他们需要得到领导更多的信任。

作为远程软件开发团队的领导者,您应该学会如何信任、尊重和相信您的团队有能力做正确的事情。

信任团队成员的一些好处包括:

  • 当你信任你的团队成员时,你的士气和满意度就会提高。
  • 您的远程团队成员将感到更有能力掌控自己的工作,从而提高工作效率。
  • 信任给员工带来信心,鼓励他们接受新的挑战。
  • 信任会激励你的团队成员在工作中更有创造力。
  • 提高员工保留率。员工喜欢呆在信任和重视他们能力的公司里。

不断质疑团队成员执行任务的能力会降低他们的自信心。

您可以通过以下方式培养团队成员的信任:

  • 认可并感谢他们为实现公司目标所做的贡献。
  • 当团队成员面临挑战时,表现出灵活性和同情心。
  • 奖励好的工作和成就。
  • 当问题出现时,给予团队成员采取主动的空间。

培养对远程团队成员的信任和尊重将会带来一个更加成功和高效的工作环境。信任你的团队给了他们扩展技能、证明自己的机会,也让经理们有机会发现和奖励有抱负的团队成员。

跟踪团队的进展

远程团队领导应该定期检查以监控团队的进展并解决可能出现的问题。

让问题拖延会阻碍您的远程团队的进展。快速识别并消除任何挑战将会提高生产力。

跟踪团队进展的其他好处包括:

  • 一些远程工作人员有时觉得对自己的工作不太负责,因为他们不在办公室环境中。定期检查有助于保持他们的责任感。
  • 定期检查您的远程团队可以通过确保软件开发人员不过度工作来防止精疲力竭。
  • 跟踪团队的进展可以防止沟通中断,并促进协作。
  • 跟踪团队的进展可以让远程团队成员保持警觉,从而提高工作效率。

远程团队领导必须灵活

作为远程团队领导的灵活性意味着你乐于接受新的想法,并愿意尝试新的机会。

在《工作场所灵活性的定义和概念化》一书中,研究人员指出,灵活的工作环境是一个组织实现工作与生活充分平衡的绝佳机会。

展示你作为远程团队领导的灵活性的一个方法是展示你适应不同技术交流方法的能力。

尝试使用一种以上的技术交流方法。对即时消息、视频会议和其他项目管理工具保持开放,与您的团队保持联系。

你也可以表现出灵活性,准备好适应与团队合作和支持团队的新方式。

作为远程团队领导的另一种灵活方式是通过有效地委派任务来展示强大的领导技能。

团队领导也可以通过允许团队成员按照他们自己的节奏、时间和空间工作而变得灵活。当团队成员可以在他们感觉最舒适的时间和地点工作时,他们的工作效率会更高。

与你的远程软件开发团队成员保持联系是必要的。做到这一点的最佳方式是利用技术工具,这将使您能够连接并帮助团队成员协作。

虽然技术工具可以帮助远程员工相互协作和交流,但最近的一项研究表明,太多的技术工具会扼杀生产力。根据 Qatalog 和康奈尔大学 Ellis Ideas 实验室的联合研究,太多的科技工具会损害员工的注意力和创造力。

例如,许多远程经理使用多种工具来跟踪和检索日志,并监控他们的远程团队使用的注册设备的数量,而不是使用一个统一的可观察性平台。

远程软件开发团队经理必须评估并确定哪个远程工具最适合团队成员的需求。

有效管理

总的来说,管理一个远程软件开发团队与管理一个在传统办公室工作的团队需要不同的方法。为了提高远程开发团队的生产力,领导者需要采用促进沟通、协作、责任和团队建设的策略。为了建立一个成功和高效的远程团队,积极主动和有目的是很重要的。

总的来说,管理一个远程软件开发团队与管理一个在传统办公室工作的团队需要不同的方法。为了提高远程开发团队的生产力,领导者需要采用促进沟通、协作、责任和团队建设的策略。为了建立一个成功和高效的远程团队,积极主动和有目的是很重要的。

注册 GitLens+ -是免费的!

原文:https://www.gitkraken.com/gitlens/ama-vscode

“我加入 GitKraken 的主要动机是确保 GitLens 有一个光明的未来。GitLens 拥有比以往更多的开发人才和资金,允许我们为所有用户创造更好的功能和体验,包括没有帐户的免费用户。​"

发布 GitKon 面板| Git 提示和技巧以及 GitKraken 产品

原文:https://www.gitkraken.com/blog/announcing-gitkon-panels

GitKon 即将于 2021 年 9 月 22 日至 23 日举行,我们非常兴奋地宣布这些令人难以置信的 GitKon 小组和小组成员。

GitKon 的主要目标之一是提供一个活动,延续 GitKraken 的承诺,帮助来自各种背景的 Git 用户进行自我教育并扩展他们的技能。我们的专家聚集在世界各地,分享他们最喜欢的掌握和利用世界上最流行的版本控制系统的技巧和诀窍。


不管你使用 Git 多久了,总有一些事情你希望能早点知道。我们支持你。我们聚集的每一位 Git 专家都准备分享他们在各自领域学到的技巧和诀窍。凭借多年的实际应用和经验,这个专家小组为您提供了一个增加专业知识的绝佳机会。


作为 Kanopi Studios 的高级运营架构师,Sean 不仅致力于帮助客户克服托管障碍和技术问题,还致力于帮助他们实现个人目标。

Sean 是开源社区的坚定信仰者,协作是创建优秀项目的最佳方式。他的社区工作扩展到维护和建立 BADCamp 网站,以及帮助维护 T2 docks al,这是一个基于 T4 Docker T5 的网络开发环境,适用于 macOS、Windows 和 Ubuntu Linux。


Rob Richardson 是 Cyral 的一名开发者倡导者。Rob 也是一名软件工匠,在 ASP.NET 和 Node、React 和 Vue 构建 web 属性。

Rob 是 Microsoft MVP,已出版的作者,经常在技术会议、用户组和社区活动中发言,是高质量软件开发的勤奋教师和学生。


Nick 是 LinearB 的开发团队倡导者。Nick 拥有 30 多年的领导经验,是一位受人尊敬的开发技术专家,擅长开发和指导多样化的开发团队。

在海军服役期间,他自学了 Delphi 编程,最终成为一名频繁的作者、技术会议演讲者和杰出的社区成员。一路走来,Nick 爱上了开发软件和领导他人的过程。他的目标是结合这两种技能来管理软件开发人员和软件开发过程。


Meriem 是 Enova 的前端开发人员,在前端技术方面拥有丰富的经验。她还是一名兼职软件工程教师,帮助下一代开发人员。

在她剩下的一点时间里,梅里姆领导并参与了摩洛哥和非洲的各种社区活动,并作为 GitKraken 大使参与其中。


Carl Alexander 是来自加拿大蒙特利尔的 PHP 开发人员。他是 WordPress 的无服务器开发平台尤弥尔的创始人。

他还有一个网站,在那里他定期发表文章,目的是帮助 PHP 社区解决较难学习的主题。继续他帮助 PHP 社区的热情,他也将在 Longhorn PHP 演讲。

除此之外,自 2010 年以来,他一直是 WordPress Montréal 的组织者。在这一年中,他还帮助组织其他 WordPress 活动。你可以在推特GitHub 上找到他。


GitKon 也期待呈现 GitKraken 产品团队面板!你有没有想过 GitKraken 的起源?你想知道为什么跨平台的 GitKraken Git GUI 会这样工作吗?

你对 GitKraken 的未来感到好奇吗?接下来你可以期待享受哪些功能?然后你会想要参加这个小组讨论!

收听建造 GitKraken 的团队的故事和经验。您还将有机会听到团队回答社区提交的问题。


自 2013 年以来,Jonathan 一直是一名经验丰富的 GitKraken 员工,亲眼目睹了 GitKraken 产品的发展。

你也可能从我们的学习 Git with GitKraken YouTube 系列和我们的 GitKraken 发布视频中认出他的声音。

乔纳森是克莱尔·萨菲茨的甜点人的忠实粉丝,经常与团队分享他的烘焙食品。


Jeff Schinella 是 GitKraken 的产品总监。在过去的 10 年里,他作为产品所有者、设计师、前端开发人员和用户体验研究员,致力于提供多学科和多方面的专业知识。

Jeff 喜欢与开发人员合作,为 GitKraken 及其相关产品和功能提供高质量的用户体验和创新想法。

Jeff 喜欢与开发人员合作,为 GitKraken 及其相关产品和功能提供高质量的用户体验和创新想法。


Dan 开发和部署应用程序已经超过 20 年了。他目前是 GitKraken 的 CTO,在那里他授权他的团队开发人人喜爱的传奇 Git GUI。

当他有时间时,Dan 仍然参与设计和维护运行支持 GitKraken 的服务的基础设施。

贾斯汀·罗伯茨(Justin Roberts)是 GitKraken 的产品总监,指导该公司开发者工具的设计和开发。他学习成为一名建筑建筑师,但最终过渡到制作有意义的数字产品,并从早期就开始为 GitKraken 客户端工作。


贾斯汀在关岛的海洋和丛林中长大,但现在生活在遥远的亚利桑那州的沙漠中。

贾斯汀·罗伯茨(Justin Roberts)是 GitKraken 的产品总监,指导该公司开发者工具的设计和开发。他学习成为一名建筑建筑师,但最终过渡到制作有意义的数字产品,并从早期就开始为 GitKraken 客户端工作。

我们迫不及待地希望您加入我们的 GitKon

GitKon 的所有参与者,包括这些小组成员,都坚信通过 Git,生产力、协作和进步,正如我们所知,能够并将会达到新的高度。这些面板代表了构建 Git 知识的绝佳机会,无论您对该工具的熟悉程度如何。

抓住这个机会,加入我们的 GitKon,学习利用 Git 的新方法,了解 GitKraken 激动人心的未来!


立即免费注册!👇

我们迫不及待地希望您加入我们的 GitKon

GitKon 的所有参与者,包括这些小组成员,都坚信通过 Git,生产力、协作和进步,正如我们所知,能够并将会达到新的高度。这些面板代表了构建 Git 知识的绝佳机会,无论您对该工具的熟悉程度如何。

抓住这个机会,加入我们的 GitKon,学习利用 Git 的新方法,了解 GitKraken 激动人心的未来!

立即免费注册!👇

宣布 GitKraken 组曲

原文:https://www.gitkraken.com/blog/announcing-gitkraken-suite

我们一直专注于创造工具,使开发团队更有生产力。在 2014 年,我们推出了 GitKraken,这是一个传奇的跨平台 Git GUI:一个直观的工具,以某种方式可视化 Git 引擎下正在发生的事情,使版本控制对个人开发人员来说不那么可怕,对组织来说更具可扩展性。

接下来是 Glo Boards,一个面向项目经理和开发人员的看板工具。这个工具已经发展到包括一些重要的特性,比如双向 GitHub 问题同步、工作流自动化、Slack 集成,以及其他许多改善团队间沟通和协作的特性。

组织在开发团队和部门之间交流高层项目目标和里程碑所需的工具集仍然缺少一样东西。进入 GitKraken 时间轴,这是同类工具中的第一个,旨在以连续的线条表示时间来显示主要项目里程碑。该工具允许产品团队将多个时间表重叠在一起,以避免规划期间的能力冲突,并便于在公司范围内共享发布时间表,以便从营销到客户支持的每个人都知道即将发生的事情。

当我们开始在我们自己的组织中一前一后地使用这些工具时,我们亲身体验了开发团队和软件公司如何通过一起使用这一套工具来更有效地交流、更好地协作以及总体上更有生产力。

介绍 GitKraken 套件

https://www.youtube.com/embed/5E7MO9OiAxU?feature=oembed

视频

新产品名称

随着软件套件的引入,自然的演变是更新我们的产品名称以提供清晰性。

我们的 Git GUI,以前叫做 GitKraken,现在是 GitKraken Git GUI

我们的问题和任务跟踪工具,以前叫做 Glo Boards,现在叫做 GitKraken Boards

我们的在线时间线制作者将继续被称为 GitKraken 时间线

一套规划工具&编码

可以说 DevOps 生命周期中最重要的两个阶段是计划和代码。GitKraken 套件为您提供了在一个生态系统中连接这两个阶段所需的一切。

项目管理&问题跟踪

不管您的开发团队是否实践 Scrum、看板或混合敏捷方法,项目管理和问题跟踪都是开发运维计划阶段的基础。GitKraken Boards 是一个任务和问题跟踪系统,允许开发团队在看板、日历、仪表板或时间线中可视化任务。

GitKraken Boards 直接与 GitHub 集成,以减少开发团队完成任务并朝着里程碑前进时的上下文切换。GitHub 问题和里程碑的双向同步功能使项目经理能够在开发人员更新卡状态后立即了解当前的项目进度。

高水平的开发人员依靠自动化他们的工作流程来提高生产力,这就是为什么我们让 GitKraken 板的工作流程自动化变得如此容易。使用 GitHub Actions 或内置的列自动化来消除重复的过程,例如在工作流列中移动卡片、更新标签、分配用户、添加相对到期日等。

此外,将卡链接到拉取请求提供了进一步的自动化。当在 GitHub 中更新拉取请求状态时,你板上的卡片将根据你选择的映射自动前进到另一列。

GitKraken Boards 与 Git kraken Git GUI 完全集成,因此开发人员可以直接从他们的编码环境中查看、编辑和创建新问题,或者创建与问题相关的分支,并立即在 GitKraken Boards 中看到它们。

对于全球 60%使用 Slack 作为主要沟通方式的软件团队来说,GitKraken Boards 的 Slack 集成让您的团队能够预览卡片、根据 Slack 消息创建新卡、更新卡片受托人、标签和列,而无需离开 Slack。此外,当有人在 GitKraken 论坛上提到他们时,可以设置 Slack 通知来提醒团队成员。

这些自动化功能和集成非常符合 DevOps 战略,可减少上下文切换并提高效率。

GitKraken Timelines 增加了一个规划层,这是目前大多数团队的项目管理工具所缺少的。它允许团队在更高的层次上计划和交流项目目标和里程碑。它允许项目经理只传达最重要的特性或目标,而不是看到几十个甚至几百个日常项目任务。

在会议中,您可以使用演示模式将注意力集中在每个里程碑标志上。

时间线上的每个里程碑都可以有一个图像或 gif 以及相关的子项。很容易将多个时间线叠加起来,以比较项目或团队的截止日期。随着项目的进展,使用自动转换日期功能来调整一个截止日期,所有其他截止日期都会相应地自动调整。

开发人员可以将 GitKraken 时间表中的里程碑链接到 GitKraken 板上的单个任务卡,或者来自 GitKraken Git GUI 的 pull 请求。GitKraken 时间轴可以直接从 GitKraken Git GUI 或在浏览器中访问。

编码

版本控制——特别是 Git 是开发团队工作的基础。为了使用 Git 进行项目协作,您需要为您的存储库提供托管服务;尽管您可以选择将它们托管在内部服务器上,以更好地满足您组织的安全或部署需求。不管您的存储库托管在哪里,您都会想要一个 Git 客户机,比如 GitKraken Git GUI。

连续四年被选为第一开发工具,GitKraken Git GUI 是 GitKraken 工具套件中的旗舰产品。它允许开发人员在一个彩色的图形中可视化他们的 Git 库的历史,并且它将复杂的 Git 命令简化为拖放动作。GitKraken Git GUI 具有内置的合并冲突编辑器、交互式 rebase 模式、内置的代码编辑器、集成等等,为有经验的开发人员简化了 Git 工作流程,并减少了 Git 新手的陡峭学习曲线。

它通过紧密连接各种代码工具在 DevOps 工作流中发挥着关键作用:Git 客户端、托管服务和 IDE(它内置了来自 VS 代码的 Monaco 代码编辑器)。

GitKraken Git GUI 集成了所有顶级 Git 托管服务:GitHub、GitLab、Bitbucket 和 Azure DevOps 及其自托管产品(不包括 TFS ),以便在 GitKraken 内部直接实现以下功能:

在您的托管帐户上创建存储库,包括。git 忽略和许可

  • 自动生成一个 SSH 密钥对并添加它
  • 分叉仓库
  • 将验证保存到配置文件中
  • 从回购列表中克隆
  • 添加用于回购的遥控器
  • 创建带有添加的受分配者、审阅者和标签的提取请求
  • 查看拉式请求的构建状态
  • 查看拉式请求的构建状态

GitKraken Git GUI 通过连接计划和代码步骤支持无缝的 DevOps 工作流。GitKraken Git GUI 内置了 GitKraken 板和 GitKraken 时间表等规划工具。它与吉拉云/服务器和 GitKraken 板集成,因此您可以查看、过滤、创建、编辑和评论问题,甚至创建与问题相关的分支。

为了增强任务管理,GitKraken Git GUI 中的存储库可以与 GitKraken 电路板上的卡片相关联。创建新的 GitHub pull 请求时,只需链接一张卡;这将自动更新 GitHub 中的拉请求描述。

为了增强任务管理,GitKraken Git GUI 中的存储库可以与 GitKraken 电路板上的卡片相关联。创建新的 GitHub pull 请求时,只需链接一张卡;这将自动更新 GitHub 中的拉请求描述。

立即入住 GitKraken 套房

一个成功的 DevOps 工作流是关于实现工具和过程的,这些工具和过程通过自动化和集成来提高代码质量和最大化生产力。GitKraken 套件是一套免费工具,可以帮助您的组织左移并优化开发运维的规划和编码阶段。

如果您需要付费 GitKraken 计划提供的高级功能,我们现在提供仅 79 美元/用户/年的 GitKraken Pro 套件!投资于一套优先考虑用户体验、效率和互连性的工具,你将看到你的开发团队和组织的生产力提高。

如果您需要付费 GitKraken 计划提供的高级功能,我们现在提供仅 79 美元/用户/年的 GitKraken Pro 套件!投资于一套优先考虑用户体验、效率和互连性的工具,你将看到你的开发团队和组织的生产力提高。

发展中的人工智能| GitKon 2022 | Eran Yahav,Tabnine

原文:https://www.gitkraken.com/gitkon/artificial-intelligence-eran-yahav

https://www.youtube.com/embed/6YQX0LGaNy8?feature=oembed

视频

在未来十年,所有软件都将在人工智能(AI)的帮助下创建,无论这意味着代码本身是在人工智能的帮助下开发的,还是使用人工智能进行测试和部署。

这意味着,如果你是一名工程师或工程经理,可以放心地假设你未来拥有人工智能。

人工智能迫在眉睫

人工智能有助于解决所有开发团队目前面临的共同挑战:有限的资源,以及雇佣和聘用新开发人员所需的成本和时间。人工智能使团队能够利用他们已经拥有的资源更快地移动。

此外,人工智能引入了自动化任务的机会,特别是对于高度重复的常见编码任务。

近年来,强大的机器学习(ML)模型不断涌现,这些模型经过大量数据的训练,可用于使用简单的提示生成文本和图像,如下图所示,其中的提示是用文本编写的。

工程团队可以利用这些 ML 模型来训练从开源仓库或您组织的 repos 中保留的代码,改变您对软件开发的思考方式。

人工智能加快创新速度

在过去的几十年中,组织已经意识到拥有一个可靠的源代码控制和 CI/CD(持续集成和持续交付)管道对于交付高质量的软件是必不可少的。

当您和您的团队通过管道时,您积累了大量的信息和软件记录。首先,您有代码库,希望它包含经过测试和评审的代码,以确保它包含您组织的编码模式和最佳实践。您还拥有历史上运行在各种版本的代码上的测试用例,这些代码或者崩溃或者成功通过,以及来自过去的测试执行和过去的代码评审和注释的大量信息。您拥有所有这些丰富的信息,那么为什么不从中获益并学习以加速软件开发生命周期的所有阶段呢?

你可以认为这是你系统中的另一层:一个人工智能层,它从你在软件开发生命周期的各个阶段积累的所有数据中学习,以确定加速每个阶段前进的机会。

人工智能+人工引导

如果你让人工智能和机器学习模型拥有人类指导,那么模型可以捕捉超越它从评估代码库中学到的东西,并理解人类专家已经知道的东西来传播专家指导。

即使代码已经写好了,人工智能也可以推荐一些方法来改进代码,比如自动重构。测试生成允许机器从代码库和先前的测试中学习,以生成更多的单元测试,或更大的测试,等等。AI 代码审查可以在合并或拉取请求中完成,或者直接在 IDE 中实时完成。

用人工智能自动化代码

在加速编写代码的过程方面,人工智能是第一个真正的创新。生成式人工智能模型,特别是在数百万开源项目上训练的大型语言模型,可以预测代码,可以在所有 ide 和所有语言中工作。

通常,生成式人工智能模型可以自动化多达 30%的代码。这有助于开发人员更高效、更快乐,并提高他们的编码能力,因为人工智能会建议通用模式,有助于减少错误。此外,开发人员不再需要根据他们工作的生命周期的状态切换到另一个解决方案。

AI 让开发人员更高兴,因为它自动化了编码的平凡部分——很少有开发人员真正喜欢的工作部分——并给他们更多的时间和精力来创造性地思考和编码以解决问题。

开发人员的快乐会带来更高的生产力

正如人工智能和自动化代码可以带来更好的开发体验一样,升级技术堆栈中的工具也是如此。GitKraken 开发了三个工具,帮助开发人员和团队更高效地使用 Git: GitKraken 客户端、VS 代码的Git lens和吉拉的 Git 集成

吉拉数据中心版本的 Git 集成:吉拉自动化

原文:https://www.gitkraken.com/blog/automation-for-jira-git-integration-for-jira-data-center

吉拉数据中心的 Git 集成在上一个季度有了一些重大更新,包括新的吉拉支持自动化:让您对存储库触发操作有更多的控制和权力。

让我们深入了解一下针对吉拉数据中心的 Git 集成的新特性和改进:

吉拉触发器的自动化

希望在用户创建拉取请求时自动创建吉拉问题?或者当一个拉取请求被合并时触发一封电子邮件呢?安装了吉拉 Git 集成和吉拉自动化应用程序的用户现在可以在吉拉自动完成所有这些操作。

当管理员导航到项目自动化并创建规则时,以下 DevOps automation for 吉拉触发器现在可用:

  • 分支已创建
  • 提交已创建
  • 已创建拉式请求
  • 拒绝拉取请求
  • 已合并拉取请求

在选择吉拉触发条件的自动化后,用户可以选择以下自动发生的问题操作之一:

分配问题:选择要向其分配问题的用户

克隆问题

  • 对问题的评论
  • 创建问题
  • 创建子任务
  • 删除评论
  • 删除问题
  • 删除问题链接
  • 编辑问题
  • 链接问题
  • 为了在吉拉的 Git 集成中利用吉拉的自动化,需要来自 Atlassian 的吉拉应用程序的付费自动化。 Atlassian 已经宣布他们将在 2022 年吉拉 9 出货时为吉拉数据中心免费提供该应用。吉拉的 Automation 服务器销售也将在那时结束,因此如果您想将吉拉的 Automation 用于吉拉服务器,您需要在销售结束前购买吉拉的 Automation 应用程序。
  • 链接问题

吉拉用例的自动化

对于吉拉触发器组合的所有可能的自动化,这里有一些常见的使用案例供考虑:

用例

触发

发布动作

| 创建提交时,将吉拉问题状态更新为“进行中” | 提交已创建 | 编辑问题 |
| 创建拉式请求时创建吉拉问题。 | 已创建拉式请求 | 创建问题 |
| 创建分支机构时,将吉拉问题状态更新为“进行中” | 分支已创建 | 编辑问题 |
| 当请求合并被拒绝时,关闭吉拉问题。 | 拒绝拉取请求 | 编辑问题 |
| Git 存储库面包屑 | 执行远程操作时,存储库名称现在将显示远程所有者或组的名称。这个面包屑应该帮助用户更好地识别要采取行动的正确回购协议,特别是对于拥有主存储库分支的团队。 | 编辑问题 |

亚特兰蒂斯数据中心安全&性能评估

每年,Git Integration for 吉拉团队都会进行一整套数据中心就绪性测试,以满足 Atlassian 市场对数据中心应用程序的性能和规模测试要求。这包括 Atlassian 数据中心安全审查和 Atlassian 性能审查。

代码分析扫描器是任何应用程序安全程序的重要组成部分,因为它们为开发人员提供了一种低成本的选择,可以在常见错误到达最终用户之前识别它们。

我们自豪地报告,我们的测试结果得到了 Atlassian 的认可,证实我们已经满足了以下要求:

对其容量相当于数据中心客户的主机执行性能测试。测试环境是影响测试结果的关键点,它显示了对软件本身的性能影响。

使用预加载到主机的大型数据集运行测试。基础数据集必须模仿数据中心应用性能工具包附带的数据集。

代码分析扫描器是任何应用程序安全程序的重要组成部分,因为它们为开发人员提供了一种低成本的选择,可以在常见错误到达最终用户之前识别它们。

为 GitHub 吉拉集成实施 Git 服务许可

使用吉拉 GitHub 集成的吉拉管理员现在可能要求吉拉用户提供 GitHub 个人访问令牌(PAT)来验证存储库权限。这使得管理员能够查看 Git Integration for 吉拉应用程序提供的所有开发信息。

  1. 启用安全模式后,用户需要吉拉 GitHub 权限才能查看:
  2. 仓库

承诺

分支

拉取请求

标签

  • GitHub Permission Enforced标签表示启用了安全模式,并且为当前用户配置了有效的 PAT。
  • 分支
  • 拉取请求
  • 即将推出:支持 GitLab、Azure DevOps 和 AWS CodeCommit 上的回购。
  • 即将推出:支持 GitLab、Azure DevOps 和 AWS CodeCommit 上的回购。

吉拉 Git 集成的更多改进

通过为节点编制索引和 SSH 配置提供大量新选项,吉拉数据中心 Git Integration 中的集成管理变得更好。

通过为节点编制索引和 SSH 配置提供大量新选项,吉拉数据中心 Git Integration 中的集成管理变得更好。

吉拉数据中心专用索引节点

用户现在可以指定数据中心节点来为吉拉索引作业执行 Git 集成。要访问此选项,请导航至常规设置菜单。

吉拉 Git 集成的更多改进

通过为节点编制索引和 SSH 配置提供大量新选项,吉拉数据中心 Git Integration 中的集成管理变得更好。

支持 SSH 配置文件

对于通过 SSH 使用存储库进行身份验证的用户,吉拉数据中心的 Git 集成现在支持 SSH 配置文件,以便更好地为您连接的每台远程机器存储不同的 SSH 选项。

用户现在可以指定数据中心节点来为吉拉索引作业执行 Git 集成。要访问此选项,请导航至常规设置菜单。

更新吉拉数据中心的 Git 集成,享受此次发布

要访问所有这些新特性和更多特性,请将您的 Git Integration for 吉拉数据中心实例更新到最新版本!

支持 SSH 配置文件

对于通过 SSH 使用存储库进行身份验证的用户,吉拉数据中心的 Git 集成现在支持 SSH 配置文件,以便更好地为您连接的每台远程机器存储不同的 SSH 选项。

For users authenticating with repositories over SSH, Git Integration for Jira Data Center now supports the SSH Config File to better store different SSH options for each remote machine you connect to.

更新吉拉数据中心的 Git 集成,享受此次发布

要访问所有这些新特性和更多特性,请将您的 Git Integration for 吉拉数据中心实例更新到最新版本!

To access all these new features and more, update your Git Integration for Jira Data Center instance to the latest version!

GitHub 针对 AWS CDK 自动化 CI/CD 部署的行动

原文:https://www.gitkraken.com/gitkon/aws-cdk-github-actions-ci-cd-deployment

https://www.youtube.com/embed/ah2X8689ny8?feature=oembed

视频

开发人员都必须处理部署。您可以手动处理这些问题,也可以通过 CI/CD 自动化来解决。大多数开发人员和组织从手动部署开始。然而,手动部署可能是一个痛苦的过程。这些棘手问题分为几个类别。

手动部署的痛苦

首先,手动部署通常意味着部署不一致。不一致地一次发布许多变更,而不是不断地部署较小的提交,会使回滚成为非常痛苦的经历。它还引入了文件有时被遗忘的风险,或者甚至应用程序的整个部分被放弃。

手动进行部署通常也意味着较少的测试。由于测试也是手动的,因此在推向生产之前,很可能不会在所有特性上统一进行测试。

环境之间的功能滞后是手动部署的另一个常见陷阱。由于生产环境配置落后于开发环境,开发团队必须考虑不断增长的相关问题。这导致开发周期越来越长。如果部署是痛苦的,许多人会尝试拖延,直到有更多的部署或者事情更完整。

最后,手动部署需要一定的部落知识。如果只有少数人或特定的个人知道如何在您的环境中成功部署,那么员工流动将成为更具破坏性的事件。管理部署的团队越小,通常意味着许多小步骤不会被记录,只有那些团队成员知道。当一个人离开公司,或者他们正在度假,而其他人需要部署时,只有到那时,您才发现信息丢失了,这可能导致部署失败。

自动化 CI/CD 的优势

在部署范围的另一端,您拥有完全自动化的 CI/CD 部署。这种方法有利于提高生产时间和代码质量。这也为每个团队成员和整个团队带来了好处。

对于开发人员来说,自动化部署带来了一键式开发环境设置。当引入新的开发人员或替换旧的开发环境时,您可以使用一个命令启动新的环境,从而更快地开发新的功能和改进。

自动化环境构建步骤也允许您自动化测试。每一次提交都可以触发构建过程,并自动运行任何已定义的测试。然后,该流程的日志和输出就变成了只有在某些东西失败时才需要查看的东西,而不是用于执行手动测试的 UI。

自动化部署和相关的自动构建步骤带来了跨环境的更大一致性。保持开发、测试、试运行和生产环境的一致性为开发人员省去很多麻烦。一致性给开发者信心;如果代码和配置在一个环境中工作,那么它也应该在生产环境中工作。

自动化 CI/CD 部署带来了外部化的配置。什么是外部化配置?当您的推送发生时,系统可以从秘密管理器或代码库之外的其他地方获取特定环境所需的规范和秘密。这使开发人员不必担心代码中包含的配置,并且可以将您从关注特性中解放出来,而不是手动处理部署细节。

这种方法将基础设施作为代码。自动化流程和所需的基础设施意味着您很可能将配置作为代码库的一部分来维护。任何人都可以看到代码库,包括审计员和经理,这使得自动测试每个设置更加容易。它还允许您轻松地对 CI/CD 流程进行版本控制。

这种方法的另一个好处是,它允许您将自动触发器添加到流程中,一直到生产。例如,当您提交代码、创建新标签或创建新版本时,自动触发器就会触发。每个动作都可以触发一个特定环境的推送,或者启动一组测试。

如果您对优化您的工作流和 Git 中项目合作者的系统化流程感兴趣,GitKraken 将帮助您更快地执行操作,提供更多的控制和更少的上下文切换。

光盘行业的现状

86%的组织表示速度对他们的应用程序至关重要。对于他们的业务来说,速度和能够以更快的方式做事至关重要。然而,只有 77%的公司实际上在使用 DevOps 并实现自动化。77%的人说他们正在使用它,只有 10%的人说他们成功了。

那么为什么不是每个人都在做,而且做得很成功呢?在使用 DevOps 的公司中,49%的公司认为遗留应用程序及其遗留代码库和流程是采用更好的 DevOps 实践的最大挑战。在同一组中,71%的人说他们使用容器。这并不意味着他们只使用容器,只是他们使用容器作为他们 DevOps 策略的一部分。在 CapitalOne 上可以看到一些真实世界中的例子,它每天部署大约 50 次。另一方面,在极端规模下,像亚马逊、谷歌和网飞这样的公司每天部署数千次。如果没有自动化,这些公司将无法以这样的频率进行部署。但是,他们如何着手自动化他们的 CI/CD 流程呢?

自动化 CI/CD 的 GitHub 动作

一种自动化 CI/CD 的方法是利用 GitHub Actions ,这给了开发者自动化你的工作流程的机会,从想法到生产。好的一面是,完成 GitHub 动作所需的所有代码都在 GitHub 的代码库中。GitHub Actions 非常容易使用,并且走上了自动化的道路。它还为您提供了一条通往基础设施和代码的便捷之路。

GitHub 操作是基于项目的,这意味着创建的工作流的配置存储在单独的项目报告中。这减少了任何给定工作流需要管理的文件和流程的数量。GitHub Actions 中也有一个非常方便的市场。如果你担心开始,公司和个人开发人员已经分享了他们的工作流程,这提供了一个快速启动和工作的快速方法。很有可能已经有与你想做的事情相关的东西了。

GitHub 动作有助于在所有环境中实现一致性。无论是开发、测试还是生产,或者需要什么依赖关系,自动化过程都可以很容易地被监控和调整。这也意味着执行需要人工干预的事情,如代码审查,执行 Git 分支策略,以及处理问题,都可以在 GitHub 的单一平台中完成。

GitKraken 强大的 GitHub 集成使您能够通过 GitHub 操作自动化 Git 工作流程!直接在 Git 客户端中轻松创建和编辑 GitHub 操作工作流。

亚马逊弹性容器服务(AWS ECS)

工作流程中要考虑的下一件事是生产方面的事情。亚马逊的弹性容器服务(AWS ECS)让用户能够管理亚马逊上的容器,并在其中部署代码。像亚马逊的大多数东西一样,AWS ECS 的好处是安全性是“零工作”。他们确实在 ECS 的安全性方面花了很多心思,并使将安全规则添加到您的工作流程中变得很容易。

AWS ECS 是完全托管的,这意味着您不必担心管理容器背后的基础设施。你所需要做的就是使用容器,让 Amazon 处理它的后端。作为一种容器编排服务,它为您省去许多繁重的工作。

AWS ECS 与大多数其他 AWS 服务集成,如 AWS 身份&访问管理亚马逊 S3 ,让您在容器中使用所有这些服务。在亚马逊上没有服务器通常意味着利用亚马逊 Fargate 。所有这些服务都有助于快速轻松地部署和扩展所有类型的应用程序。

亚马逊云开发套件(AWS CDK)

AWS ECS 所有自动化的核心是亚马逊云开发套件 (AWS CDK)。CDK 基本上是作为代码的基础设施的核心,它为您提供了一种创建代码的方式来构建和提升您的基础设施。它是开源的,在 GitHub 上有。它允许您使用自己选择的编程语言进行构建,比如 JavaScript、TypeScript、Python、Java、C#、甚至 GoLang。

由于亚马逊 CDK 基于您的代码进行调用,甚至这部分工作流程也可以使用版本控制进行跟踪。当您添加或更改内容时,您会在源代码控制中跟踪这些更改。您还可以测试进行这些调用的代码,就像您测试用您喜欢的编程语言编写的任何其他代码一样。

AWS CDK 还有一个方便的命令行界面。您可以直接访问系统并运行许多不同的命令,如deploydestroydoctor

GitKraken CLI 提供了 Git 增强的终端体验,具有强大的功能,如 Git 命令的自动完成和自动建议、CLI 差异视图等。

亚马逊代码构建

Amazon CodeBuild 是代码管道的一部分,用于构建将与 AWS CDK 一起部署的包。CodeBuild 编译源代码,并准备好发布和部署到某个地方,将它生成的工件作为归档交付给您,以便于存储和传输。也可以设置 CodeBuild 来运行您的测试。

与许多其他亚马逊服务一样,CodeBuild 非常具有可扩展性。它允许您从应用程序中创建多个构建。您可以根据需要创建任意多的构建,也可以让它们同时运行,这通常是大型项目所需要的。

CodeBuild 是完全可定制的。由于您可以添加任何所需的自定义代码,因此您的部署的每一部分都可以根据您的确切需求进行定制。

用 GitHub 动作把它们绑在一起

那么,我们如何从将代码推送到 GitHub,到在 AWS 上使用 CodeBuild 进行构建呢?点击这里观看一个使用 GitHub 库的例子,社交拯救者

在每个 GitHub repo 中,你都可以找到一个 GitHub Actions 标签页。在您的任何存储库上打开此选项卡,您只需单击一个按钮即可开始设置您的工作流。你还会看到一个市场就在你的指尖。你可以通过 GitHub.com 的界面完成所有需要的设置。该服务在您的存储库中为您创建一个文件,因为 GitHub 操作是 repo 特定的。

您可以利用 GitHub Actions marketplace 中的工作流模板。这些预先制作的模板可以与任何 AWS 服务进行交互,以部署到 Amazon ECS。如果您想使用 GitHub Actions 做任何事情,可能会有一个由公司或个人创建的模板供您使用。

从市场中选择一个模板将在您的代码库中的.github目录下创建工作流文件。在该文件夹中,您将找到一个 workflows子目录,您将在其中保存您的工作流。工作流以.yml文件的形式存在,是版本控制存储库的一部分。

在工作流的.yml文件中,您定义了工作流所需的元素。首先是事件的触发器,从像on:这样的东西开始。.yml文件还定义了工作流应该部署的环境。在声明触发事件和目标之后,您需要定义操作步骤。这些步骤可以定义诸如签出代码、配置 AWS 凭证、登录 Amazon ECS 以及完成工作流所需的任何事情。

你可以也应该为你正在使用的任何服务使用一个秘密管理器。您不必将您的秘密和密钥直接添加到代码中,而是声明秘密存储的位置。在这种情况下,它们被安全地存储在 AWS 的安全层之后。

声明任务定义

完成这个工作流还需要 Amazon CodeBuild 的任务定义。这一点非常重要,因为task-definition.json文件定义了如何设置工作流程。这超出了您的.yml文件中的工作流程中的步骤。这些任务定义创建资源和所需容器的名称,设置端口映射,定义要使用的机器映像,以及其他类似的事情。

当 Amazon CodeBuild 运行时,您应该得到一个 AWS ECS 集群,它实现了您指定的所有细节和测试定义。如果你想使用 Kubernetes 而不是 Amazon 风格的容器,你可以定义它来实现。同样,每个细节和选项都是完全可定制的。与此同时,GitHub 正在等待构建过程的结果。一切执行完毕后,GitHub 工作流会更新,告诉你事情进展如何。如果您看到绿色复选标记,那么您知道事情按预期进行。您可以单击这些复选标记来查看流程任何部分的详细信息。日志记录非常深入,显示了每个单独步骤的细节。

开始使用 GitHub Actions 和 AWS CDK

观看此视频,了解 Learning A-Z 的高级首席软件架构师 Adam Culp 如何利用 GitHub Actions 和 AWS CDK 从 GitHub 部署到 AWS 的示例,以及 2021 年 GitKon Git 大会的现场问答

Axosoft 捐赠 GitKrakenPro 收入支持 ACLU

原文:https://www.gitkraken.com/blog/axosoft-donates-gitkraken-pro-revenues-to-support-aclu

从旨在帮助软件开发人员集中精力编写代码的播放列表中进行选择。播放列表包括流行的音乐剧、视频游戏曲目、棕色噪音等等。

Axosoft 向美国公民自由联盟捐赠 17,000 美元

原文:https://www.gitkraken.com/blog/axosoft-donates-to-aclu

从旨在帮助软件开发人员集中精力编写代码的播放列表中进行选择。播放列表包括流行的音乐剧、视频游戏曲目、棕色噪音等等。

gitkraken v1.0 在这里

原文:https://www.gitkraken.com/blog/axosoft-gitkraken-v1-0

对于 GitKraken 来说,这是多么疯狂、不可思议的几个月啊!二月初,我们发布了 v0.6,GitKraken 进入了公测。在那个版本发布之前,我们有一个专门的、可靠的开发人员池,他们通过发现各种各样的错误和问题来帮助我们,并为我们提供有价值的 UI/UX 反馈。

随着我们进入公开测试阶段,直到今天,用户对 GitKraken 的采用率一直是惊人的。

短短三个月不到,GitKraken 的日活跃用户增长了 2200%!(说真的,那个第二个零不是错别字。)

因此,当我们兴奋地宣布我们的1.0版本时,我们想以一句响亮的“谢谢你”开始给所有下载并试用 GitKraken 的开发者,特别是那些花时间给出反馈的人。没有你们的帮助,我们不可能如此迅速和全面地继续完善和改进 GitKraken。

我们很自豪地分享我们收到的非常积极的反馈:

  • 接受调查的 GitKraken 用户中有 90%表示他们会向朋友或同事推荐 git kraken
  • 92%的人表示【GitKraken 在他们的日常运营中很有用或非常有用
  • 许多用户报告说 GitKraken 已经通过一个直观的 UI 帮助他们学习 Git** ,该 UI 提供可视化的“提示”来指导他们。**

**事实上,你的一些赞美如此感人,以至于我们几乎根据你的一些推文替换了我们的网站标语:

特性和修复

以下是我们自 v0.6 以来在每个主要版本中实现的一些突出特性和修复。当然,您也可以查看我们的发行说明以获得更全面的概述。

0.7

右键单击图形中的参考标签以更改上游。

  • 将一个本地分支拖放到一个远程节点上,以推送到该远程节点(即使目标远程节点不是上游节点)。
  • 现在,您可以右键单击图中的提交条目来恢复该提交。
  • 32 位和 64 位版本的 Windows 内部版本都已更新,可以流畅运行。
  • 应用程序中的“关于”菜单会告诉你更多信息,而不会过度分享。
  • 0.8

文件历史:在比较面板中右键单击一个文件来显示提交的时间线。使用键盘快捷键导航,或单击短提交 SHA 快速跳转并显示差异。

责备修改:你逃脱了这么久,但你不能再躲了。查看文件是如何、何时以及由谁更改的!

  • 从应用程序中发出 GitHub/Bitbucket pull 请求。
  • 0.9
  • 子模块!

1.0

就是它了!大的那个!

我们已经努力提高应用程序的可靠性,我们很高兴为您带来 GitKraken 的第 1 版。以下是亮点:

固定

有时,当在 GitKraken 中重置 diffs 时(如果您的工作目录中有一个新文件),您会收到一条错误消息,提示您为一个不存在的文件更新 diffs。这个信息本身就是一个错误,让整个经历变成了一个噩梦,现在我们已经解决了。

责备视图:如果你重命名一个文件,责备会在以前的名字下显示“未知”。我们应该为此受到责备,我们现在已经对命名进行了分支,这样你就可以跟踪命名历史,并再次将矛头指向你的开发伙伴。

775b3d237e52df5b11e1f3f346b13fc7dbd80e39

哦,你看不懂沙哈希?我们已经更新了子模块冲突,使人类可以理解更多的冲突信息。

如果拖放最新的合并失败,它不再无声地尖叫。你会收到一条信息告诉你。

白屏:当你启动 GitKraken 时,它应该做点什么而不是什么都不做。我们已经把触角伸到了骨头上,以确保白屏死亡不会在尽可能多的平台和配置上发生。

已知问题:我们正在努力为 GitKraken 添加代理支持,但目前,通过代理的用户可能会遇到问题。

  • Occasionally, when resetting diffs in GitKraken (if you have a new file in your working directory), you’d receive an error message about updating diffs for a file that does not exist. This very message was an error, making the whole experience a meta nightmare that we have now resolved.
  • 随着每个主要版本的推出,我们一直在添加新的功能,使 GitKraken 变得更好——但我们也一直在努力提高稳定性和性能。
  • 我们的目标是:
  • @GitKraken 加载仓库时还是死机!!啊啊啊!!GIT 客户端是怎么回事?源代码树..gitkraken #gitClientFAIL
  • —保罗(@ majic code)2016 年 2 月 27 日
  • 变成:

@GitKraken 万岁!谢谢大家!终于可以开回购了!!我以为这一天永远不会到来..#真正快乐

—保罗(@ majic code)2016 年 3 月 22 日

Our aim has been to turn:

亲自去看看 GitKraken立即在您的操作系统上免费下载!请让我们知道你在推特上的想法。

附注:您的 Twitter 请求已得到回复;您现在可以在我们的新店获得 GitKraken 赠品

— paul (@majiccode) February 27, 2016

window.addEventListener('DOMContentLoaded', function() {

into:

@GitKraken hurrah! thank you! finally i can open repo’s!! i thought this day would never come.. #trulyHappy

— paul (@majiccode) March 22, 2016

Check out GitKraken for yourself; download it now for free  on your OS! And please, let us know what you think on Twitter.

P.S. Your Twitter requests have been answered; you can now get GitKraken swag in our new store!**

Axosoft 为慈善机构举办 Smash Bros 锦标赛

原文:https://www.gitkraken.com/blog/axosoft-hosts-smash-bros-tournament-charity

2019 年,Axosoft 为当地凤凰城科技社区举办了两场#AXOSMASH 视频游戏锦标赛,其中包括 Super Smash Bros. Ultimate。比赛分别在三月和九月举行,所有的收入都捐给了我们的非营利组织,为女性进入科技行业提供奖学金。

查看我们三月锦标赛的精彩部分!

https://www.youtube.com/embed/Ffo-8s7c37k?feature=oembed

视频

现在看

警告:视频可能导致 FOMO

故事开始……

我们听说你们玩 Smash。如果你想战斗,请告诉我们。

这是我们的克拉肯人从美国运通的一个软件开发团队同事那里收到的一封信的结尾。我们的开发团队每天在午餐时间玩超级粉碎兄弟。他们喜欢它。

所以我们想🤔我们的开发者玩 Smash,美国运通的开发者玩 Smash……这是一种趋势吗?!果然是。

我们首先让 Amex 团队接受了他们的挑战,然后直接从凤凰谷周围寻找更多的开发团队,这些团队将成为值得尊敬的敌人。

冠军联赛

在两次#AXOSMASH 锦标赛之间,我们接待了来自硅谷顶级科技公司的总共 20 支球队和 87 名球员。

来自亚马逊、美国运通、Nextiva、McKesson、GitKraken、查尔斯·施瓦布、好事达、DriveTime、通用动力、Pagely 等公司的优秀竞争对手在一场双淘汰赛、1v1 锦标赛中一展身手,争取赢得声誉和荣耀的机会。

相信我们…事情变得很紧张。不要被拳头的撞击所迷惑。

当然有奖品!有趣的是,在两场比赛中,我们以同样的顺序进入了完全相同的三强。来自 OSIsoft 的第一名获胜者总共获得 300 美元奖金;第二名,来自的华丽,带回家 150 美元;第三名来自的 GitKraken ,带回家 75 美元现金。

所有收益都支持技术领域的女性

从#AXOSMASH 筹集的所有收益都捐给了 Axosoft 的非营利组织 #ItWasNeverADress ,该组织为女性提供科技奖学金。2019 年 8 月,我们从计算机科学训练营毕业了首批三名奖学金获得者,并希望在未来几年资助更多奖学金。

在 Scottsdale Airpark News 的这篇文章中,了解更多有关我们为什么决定举办一场惠及科技女性的慈善视频游戏锦标赛的信息。

阅读文章

#新闻中的 axos mash

当地社区对# AXOSMASH 议论纷纷。我们甚至让一些新闻站出来,了解更多关于我们袖子里的东西。📹🤩

Fox 10 参观了 Axosoft 的办公室,体验了一下锦标赛的氛围,并发现#ItWasNeverADress 任务对我们的组织有多么重要。

https://www.youtube.com/embed/VQvn6QmMKxM?feature=oembed

视频

第三频道新闻 &记者凯莉·克鲁兹也来了——她甚至跳出来和我们的球员比赛!

https://www.youtube.com/embed/jerbgrKfCnE?feature=oembed

视频

Axosoft 脸书页面查看更多来自2019 年 3 月# AXO mash2019 年 9 月# AXO mash的照片。

Axosoft 更名为 GitKraken 雇佣新的首席执行官| GitKraken

原文:https://www.gitkraken.com/press/axosoft-rebrand-gitkraken-new-ceo-matt-johnston

美国亚利桑那州斯科茨代尔,2021 年 12 月 8 日——Git 工具 的领先供应商 GitKraken,今天宣布创业高管Matt Johnston加入公司,出任新 CEO。这一举措是在一年的重大里程碑事件之后做出的,包括从 Resurgens Technology Partners 获得战略投资,并获得一对顶级 Git 工具:【Git lens】Git Integration for 吉拉

该公司还宣布已正式将名称从 Axosoft 改为 GitKraken。这一转变反映了该公司作为整个 Git 生态系统中几个顶级、最常用的开发工具的提供商的现在和未来。GitKraken 的产品套件现在为 100,000 个组织的 1000 多万名开发人员提供服务。这包括像微软、谷歌和苹果这样的技术领导者;像亚马逊、特斯拉和网飞这样的颠覆性创新者;以及美国运通、Bose 和霍尼韦尔等行业领头羊。

执行主席韦恩·威廉姆斯(Wayne Williams)说:“马特是带领 GitKraken 走向未来的不二人选。“他作为领导者、企业家和社区建设者的记录与我们在 GitKraken 建立的以及我们在未来几年想要建立的东西非常吻合。”

就产品使用和收入而言,GitKraken 正处于强劲增长期。最近的收购使公司规模扩大了一倍多,从 40 名员工增加到 90 多名。到 2022 年底,GitKraken 还将在亚利桑那州和偏远地区招聘 30 多名新员工,特别是在产品管理、工程和开发工作方面。

“对 GitLens 和 Git Integration 的收购使 GitKraken 能够在任何他们想工作的地方为开发人员服务——在 IDE 中、在桌面上或在他们的问题跟踪系统中, 约翰斯顿 说。“Git 功能强大,但天生复杂且有风险。GitKraken 通过使 Git 更容易学习和使用更安全,每天为全球 1000 多万开发人员解决这个大问题。”

此前,Johnston 曾在赫曼米勒、plateau 和 Acquia 等知名品牌担任电子商务、营销和战略主管,并担任开源营销自动化公司 Mautic 的首席执行官和联合创始人。

Fred Sturgis 说:“Matt 作为首席执行官和营销主管的经验使他非常适合整合这些战略要素,并推动 GitKraken 向前发展。复兴科技合伙人的常务董事。“他建立了迎合技术受众的高增长公司,他的专业知识补充了 GitKraken 现有的产品和工程优势。”

关于 GitKraken: GitKraken 提供了一套顶级的 Git 工具,帮助数百万开发人员每天都有更高的工作效率——世界各地的团队也能更紧密地合作。我们的产品为开发人员服务,无论他们在哪里,无论他们在哪里编码,无论是在他们的 IDE 中,在他们的桌面上还是在他们的问题跟踪系统中。来自全球 100,000 家公司的 1000 多万开发人员依靠 GitKraken 的工具让 Git 为他们工作。更多信息请点击

Axosoft 更名为 GitKraken 并宣布新的首席执行官

原文:https://www.gitkraken.com/blog/axosoft-rebrand-to-gitkraken-new-ceo-matt-johnston

从旨在帮助软件开发人员集中精力编写代码的播放列表中进行选择。播放列表包括流行的音乐剧、视频游戏曲目、棕色噪音等等。

Azure DevOps 集成|使用 Azure DevOps 和 GitKraken Git GUI

原文:https://www.gitkraken.com/git-client-integrations/azure-devops

GitKraken 将使用 SSH 默认设置中的本地 SSH 配置来执行 Git 获取和 Git 推送操作,除非您设置了特定的 Azure DevOps SSH 密钥,或者启用了本地 SSH 代理。将 Azure DevOps 连接到 GitKraken 后,您可以轻松生成 Azure DevOps SSH 密钥并将其添加到您的帐户。要开始生成您的 Azure DevOps SSH 密钥,您将导航到PreferencesIntegrations。接下来,你将点击Generate SSH key and copy to clipboard按钮,非常方便地将你的 SSH 密钥添加到你的 Azure DevOps 帐户。

学习 Git 的最佳课程

原文:https://www.gitkraken.com/blog/best-courses-learn-git

访问我们更新的 2022 年最佳 Git 课程列表。

这是来自 Mobilunity 的一篇客座博文。

无论你是编程新手,考虑去学校成为一名熟练的工程师,一名希望提升的远程软件开发人员,还是一名希望更新你的工具带的行业兽医,理解 Git 都是至关重要的。 Git 是一个版本控制系统,最早开发于 2005 年。它完全免费使用,其独特的分支模型使其成为最受欢迎的系统之一。

为什么学习 Git 很重要?

Git 是当今市场上最受欢迎的源代码控制管理工具,所以招聘经理应该期待遇到新的开发人员,他们不仅知道如何使用 Git,而且也希望使用 Git。

另一方面,任何希望在当今市场找到工作的程序员都会希望自己的简历中有 Git。雇主会希望你能够快速起步并投入运营;你需要了解你的团队成员正在工作的系统,这样你就可以在没有不必要的牵手的情况下成功地合作。

好消息是,有无数的 Git 在线学习平台,以及无数免费学习 Git 的课程。此外,痴迷于 Git 的开发人员,如 GitKraken 的传奇团队,正在创建现代工具,使学习和使用 Git 变得更加容易。

通过我们的在线资源中心开始学习 GitKraken 的 Git:

学习去

学习 Git 的最佳课程

有很多选择去哪里寻找在线学习 Git 的课程,但是知道从哪里开始投入时间可能是困难的部分。以下建议是由一些最受欢迎的在线技术教育平台提供的,这些平台的课程即使不是免费的,也是高效且负担得起的。

这里是我们学习 Git 和版本控制基础的前 5 门课程。

成本:10.99 美元到 19.99 美元

预计承诺时间 : 1 小时

如果您想快速了解 Git 的所有知识,这可能是适合您的课程。它是由拥有 20 多年编程经验的贾森·泰勒创建的。杰森设计了许多课程,这是他最受欢迎的课程之一。

除了其他有用的资源之外,本课程还有一个一小时的视频和 10 篇文章可供下载。如果你想了解如何快速实现基础,这个课程很棒。然而,如果你正在寻找更深入的指导和实践,这可能不适合你。本课程将带您从头到尾了解整个 Git 工作流程,向您展示如何为认证配置 SSH,以及如何在 GitHub 上创建远程存储库

我们同意,一个 30 分钟的学习 Git 的速成课程是理想的,但是在一个小时内适应所有这些信息是非常棒的!

费用:免费

预计时间承诺 : 10 小时

Codecademy 在教授不同形式的代码方面享有盛誉,他们教授 Git 的方法也不例外。这是一门非常受欢迎的长达 10 小时的课程,已有超过 500,000 名希望了解 Git 的学生参加了该课程。

有些人抱怨这个课程太基础太慢,但是如果你是 Git 的新手,并且想确保你涵盖了所有内容,那么这个课程对你来说可能是完美的。它涵盖了使用 Git 的所有方面;您将了解工作流工具,如何保存项目的多个版本,以及如何撤销更改。此外,本课程还包括分支

费用:免费

预计时间承诺 : 4 周(自定进度)

讲师 Richard Kalehoff 将陪您完成六个主要课程,向您展示使用 Git 和版本控制所需了解的一切。按照您自己的进度完成本课程大约需要 4 周时间。

本课程结束时,您将能够创建新的 Git 存储库,提交更改,并查看现有存储库的提交历史。学生们还可以学习如何使用标签来组织提交,如何创建分支,以及通过“粉碎”合并冲突来合并变更的艺术。了解 GitKraken 的冲突编辑器如何轻松解决 Git 中的合并冲突。

讲师 Richard Kalehoff 将陪您完成六个主要课程,向您展示使用 Git 和版本控制所需了解的一切。按照您自己的进度完成本课程大约需要 4 周时间。

学习 Git 和 GitHub 的最佳课程

GitHub 是一个基于云的 Git 托管服务,你可以上传你的库并与你团队的其他成员或者网站上的 4000 万公众用户分享代码。许多企业、教育机构和独立程序员依赖 GitHub 进行数据存储和项目协作。

如果你作为一名开发人员学习 Git,你会希望熟悉 GitHub。在你职业生涯的某个时刻,你有 100%的可能会接触到这项服务。

GitHub 是一个基于云的 Git 托管服务,你可以上传你的库并与你团队的其他成员或者网站上的 4000 万公众用户分享代码。许多企业、教育机构和独立程序员依赖 GitHub 进行数据存储和项目协作。

费用:10.99-199.99 美元

预计时间承诺 : 12.5 小时

本课程由拥有 25 年软件开发经验的 Bibhash Roy 教授。本课程包含 12.5 小时的视频和 13 篇可下载的文章,内容极其全面,涵盖了基础知识,即使是新手也能很快掌握。

该课程详细介绍了从基本的 Git 命令到分支和使用 GitHub 的全部潜力。不要匆忙完成本课程;有很多东西需要吸收和学习!

本课程由拥有 25 年软件开发经验的 Bibhash Roy 教授。本课程包含 12.5 小时的视频和 13 篇可下载的文章,内容极其全面,涵盖了基础知识,即使是新手也能很快掌握。

https://www.youtube.com/embed/AMFoJoNh3V4?feature=oembed

视频

费用:免费

预计时间承诺 : 30 分钟

这个短视频将教观众如何借助市场上最流行的跨平台 Git GUIGit kraken来增强他们的 Git 和 GitHub 之旅。您将学习如何使用图形用户界面(GUI)来更好地与您的 Git 存储库交互,增加项目历史和提交的可见性,并对使用 Git 和 GitHub 更加自信。

GitKraken 有更多关于与 GitHub 配合使用其产品的教程和资源:

GitKraken Pro 通过 GitHub Student Developer Pack 对学生和教师免费开放,因此如果您属于这些类别之一,请务必查看 GitKraken 的在线教育资源:

GitKraken Pro 学生版

教师用 GitKraken Pro

GitKraken Pro 学生版

你的雇主想让你知道 Git

很少有现代招聘经理会聘用对 Git 缺乏全面了解的工程师。生产高质量软件的成本可能会很高,因此团队中的每个人都可以做出贡献并遵循团队流程而无需大量的入职培训,这一点至关重要。

让已经掌握必要 Git 技能的开发人员加入团队,将确保每个人都了解如何使用相同的工具有效地协同工作。

现在去 Git 学习吧!

让已经掌握必要 Git 技能的开发人员加入团队,将确保每个人都了解如何使用相同的工具有效地协同工作。

现在去 Git 学习吧!

2023 年最佳 Git GUI 客户端比较

原文:https://www.gitkraken.com/blog/best-git-gui-client

Git 是一个版本控制系统(VCS ),它允许你随着时间的推移跟踪项目的开发。在 2005 年 Git 诞生的时候,开发人员必须使用命令行界面(CLI)来管理 Git。然而,对于许多开发人员来说,学习和使用命令行通常是一项极其困难的任务,在某些情况下,对于那些寻求利用 Git 能力的人来说,这是一个巨大的入门障碍。

进入图形用户界面(GUI),也称为 Git 客户端。Git GUI 是一个工具,可以帮助开发人员可视化他们的 Git 库,并通过简单的鼠标点击或键盘快捷键来运行 Git 操作。

对于新的和经验丰富的开发人员来说,在他们的常规工作流程中利用 Git GUI 是很常见的。随着您对 Git 和相关社区中的交互的了解越来越多,您可能会注意到有些人对使用 GUI 而不是 CLI 有非常强烈的看法。这两种工具都有很大的好处,重要的是要记住,您应该选择有助于您编写值得骄傲的代码的工具。世界上数以百万计的开发人员使用 Git GUIs 来简化他们的工作,提高他们的编码水平。

在本文中,我们将比较顶级的 Git GUI 客户端,以确定哪一个是最好的 Git GUI。为了比较每个 Git 客户机,我们将使用以下参数:OS 支持、价格和特性目录。

最佳 Git 客户端对比

为了提供市场上最好的 Git 客户端的综合比较,我们在这些文章中探究了 GitKraken 相对于每个 Git GUI 客户端的表现:

https://www.youtube.com/embed/w3jiY-UKW6I

VIDEO

最佳 Git GUI 获奖者


最佳 Git GUI 为团队: GitKraken 客户端

GitKraken 客户端路线图

价格:公开回购免费,专业版每位用户 4.95 美元,团队版每位用户 8.95 美元,企业版每位用户 18.95 美元

操作系统支持: Windows,Mac,& Linux

评论: G2 GitKraken 客户端评论偏 GitKraken 客户端评论

GitKraken Client 是一个跨平台的 Git 客户端,它使 Git 变得更快、更容易、更强大。GitKraken Client 是最流行的 Git GUI,主要是因为它漂亮的视觉效果、直观的 UI 以及内置的集成和工具。GitKraken Client 允许用户直接从应用程序本身执行日常工作流程中的几乎所有事情,这使它与其他 GUI 有所不同。需要编辑你的代码吗?没问题,用内置编辑器。想更新吉拉问题的状态吗?您也可以从 GitKraken 客户端执行此操作。GitKraken 客户端还包括一个内置的 CLI ,这意味着它不仅提供了方便的 Git 视觉效果,还允许喜欢 CLI 优先方法的开发人员以他们想要的方式利用 Git。

GitKraken 客户端的用户界面简单易用,让你在组织中加入新成员变得异常简单。GitKraken Client 不仅使基本的 Git 操作变得快速而简单,而且它还是大大小小的开发团队的最佳 GUI。

GitKraken 客户端工作区允许团队跨多个回购采取行动,快速查看状态详情,并与队友分享。GitKraken 的工作空间以及与吉拉和特雷罗等流行问题跟踪工具的丰富集成,是许多团队在日常工作流程中利用 GitKraken 客户端的绝佳例子。

使 GitKraken Client 成为最佳 GUI 的其他功能包括多种不同的视图、拖放功能、多种配置文件管理自动完成 Git 命令功能、预测合并冲突警报和直观的交互式 rebase 工具

“GitKraken 客户端可在所有平台上使用,具有每个开发人员许可,一看就知道存储库的状态。胜过所有其他解决方案!”

Holger Flick, Software Developer at FlixEngineering LLC

GitKraken Client 提供不同的价格选项,旨在满足任何团队的需求,以最佳价值提供最佳功能。


价格:一次性购买 49.99 美元,免费评估期

操作系统支持: Windows & Mac

评论: Sourceforge 叉评论偏叉评论

Fork 由 Dan Pristupov 和 Tanya Pristupova 这对夫妻二人组建造并继续维护。Fork 最初是两人合作的一个附带项目。随着 Fork 越来越受欢迎,他们开始在这个项目上投入更多的时间,直到他们最终开始全职开发这个工具。

Fork 以其标签风格的导航而闻名,这使得管理多个 repos、图像差异、合并冲突工具、cherry pick 功能、Git LFS 和交互式 rebase 功能变得容易。虽然它缺少一些其他 GUI 所具有的更复杂的特性,但这个 Git GUI 在执行基本的 Git 操作方面非常出色,并且易于学习和使用。

Fork 的一些缺点包括它无法管理来自应用程序的拉请求,缺乏与吉拉等流行问题跟踪工具的集成,缺乏灵活的许可证管理等企业/团队功能,以及缺乏支持材料。


最佳免费 Git GUI:source tree

价格:免费

操作系统支持: Windows & Mac

评论: G2 Sourcetree 评论偏 Sourcetree 评论

Sourcetree 是一个免费的开源 GUI,由 Atlassian 制作。使 Sourcetree 成为流行的 Git GUI 的显著特性包括它处理大型 repos 的能力、交互式 rebase 工具以及它的本地提交搜索,该搜索允许用户快速找到文件更改、提交和分支。

虽然这是一个很好的免费选择,但是 Sourcetree 也有一些明显的缺点。开发人员经常为 Sourcetree 在 Mac 和 Windows 之间的不同平台体验而苦恼。跨平台的不一致性使得团队成员和项目贡献者很难帮助使用不同操作系统的人。同样值得注意的是,Sourcetree 的 UI 还有很多不足之处。与这个列表中的其他客户端相比,Sourcetree 的图形用户界面相当乏味,它的三个分割视图导致更多的点击和繁琐的导航。

“我曾经使用 Sourcetree,但它的 DX 对我来说不够用,尤其是在使用多个回购时。我几年前就换了 GitKraken,太神奇了!”

Robbie Cook, full stack web developer & app engineer at Ambit


塔式路线图

价格:基本每位用户 69 美元,专业每位用户 99 美元(按年计费)

操作系统支持: Windows & Mac

点评: G2 塔点评斜塔点评

Tower 是市场上功能更丰富的 Git GUIs 之一。Tower 成立于 2010 年,旨在让开发人员、设计人员和非技术人员能够访问 Git 的强大功能集。

Tower 的一些显著功能包括多配置文件支持、拖放以启动推或拉的能力、交互式 rebase、用于更快导航的命令面板和键盘快捷键、应用内拉请求管理和合并冲突工具。基于它的特性列表,很明显 Tower 是一个健壮的 Git 客户端。这是一个很好的 GUI,可以帮助成千上万的开发人员在世界各地发布优秀的项目。

虽然 Tower 有一系列令人印象深刻的功能,但学习如何利用这些功能可能需要大量的时间投资,因为 Tower 的界面可能很难破译。此外,Tower 不支持 Linux,这使得它很难在您的团队中实现标准化。它也缺乏与许多最常见的问题跟踪器的集成,如吉拉、GitHub Enterprise、GitLab Self Managed 等。最后,无论你如何削减,月复一月还是年复一年,Tower 都是这个列表中最昂贵的 Git 客户机。

“在大学使用 GitHub Desktop,并在专业上使用了 2 年多之后,在体验了 GitKraken Client 令人惊叹的文件合并冲突解决工具后,我改用了它。使用 Tower,我的雇主必须向 Kaleidoscope(一个文件比较应用程序)支付单独的许可证,才能获得 GitKraken 可以单独完成的工作。当处理合并大分支时,GitKraken 分别向我展示了每个冲突,允许我选择本地或远程块,甚至是双方每行的组合。太神奇了!”

GitHub 桌面

Bruce Gomes, Software Engineer at IntelliTect


GitHub 桌面路线图

价格:免费

操作系统支持: Windows & Mac

点评: Sourceforge GitHub 桌面点评偏 GitHub 桌面点评

GitHub Desktop 是一款免费的开源工具,对于使用 GitHub 来托管远程 Git 库的开发者来说,它是一款受欢迎的 Git 客户端。许多开发人员喜欢这个 Git GUI,因为它的语法建议、拉请求管理、对图像差异的支持、语法突出显示和编辑器集成。GitHub 是最受欢迎的存储库托管服务,所以如果你已经在使用这个平台,GitHub Desktop 可能是一个有吸引力的选择。

然而,GitHub Desktop 与 GitHub 的无缝集成是一把双刃剑。一方面,它与 GitHub 的资源配合得非常好,但另一方面,它在 GitLab 等其他流行的存储库托管平台上完全不可用,这严重限制了可以使用该 GUI 的开发人员的数量。它还缺乏正式的支持基础设施。GitHub 桌面用户没有一个集中的地方让他们的问题得到及时的回答。他们确实有一个健康的开发人员社区,愿意在时间允许的情况下提供帮助,但是如果你正在做一个时间敏感的项目,并且需要立即的帮助,你可能就没那么幸运了。最后,GitHub Desktop 没有内置的合并冲突编辑器,这一功能如今几乎已经成为大多数 GUI 的标准。

“在使用 GitHub Desktop 两个月之后,我可以肯定地说 GitKraken 是 Git 客户端的不败冠军。句号。”

“在使用 GitHub Desktop 两个月之后,我可以肯定地说 GitKraken 是 Git 客户端的不败冠军。句号。”

Ahmed Musallam, Senior AEM Consultant at Adobe

SmartGit


价格:一次性购买 264 美元,按年计费 59 美元,按月计费 5.90 美元

操作系统支持: Windows,Mac,& Linux

评论: 备选为 SmartGit 评论偏 SmartGit 评论

SmartGit 是比较流行的跨平台 Git GUIs 之一。它包含了一些有用的特性,比如便于代码审查的多个视图、一个合并工具、SSH 客户端、文件比较功能、复杂的 Git 分支管理,以及用于提交合并、重新排序和重新排序的拖放功能。一些开发人员和团队也使用 SmartGit 来管理 Subversion (SVN) 仓库。

在开发人员可以开始使用 SmartGit 的所有功能之前,需要一个陡峭的学习曲线,这使得新用户很难加入。虽然 SmartGit 拥有许多出色的功能,但因为它没有全局搜索选项,所以很难识别和记住该工具实际上能做什么。此外,SmartGit 没有与吉拉等流行的问题跟踪器集成,这限制了开发团队对时间敏感或任务关键型项目的可见性。

“我的第一个 Git GUI 是 OSX 上的 SmartGit。当我被允许在工作中使用 Linux 作为我的主要操作系统时,我开始寻找一个合适的替代品。我听说过一个交叉兼容的 GUI,叫做 GitKraken Client。从此再也没有回头。”

“我使用 SmartGit 有一段时间了,但当我换工作时,我发现很难管理我的各种 Git 配置文件。取而代之的是 GitKraken Client,我发现了一个更漂亮的 UI 和更好的配置文件管理,只需点击几下,我就可以轻松地切换我的 Git 配置。我喜欢 GitKraken Client 的另一点是它与 JIRA 的完美融合!”

William Penton, PHP Developer

最佳 Git 客户端

David Imola, DevOps Engineer at Milkman Technologies

我们已经看了一些最流行的 Git GUIs,并根据它们的价值、操作系统支持和特性集对它们进行了评估。既然你对每种图形用户界面都有了很好的了解,那么在你选择图形用户界面的过程中,下一个最好的步骤就是尝试它们。我们涵盖的所有客户都有某种试用期或免费版本。为了充分利用贵由 re 测试的试用期,请确保测试了它的高级特性以及基本的 Git 操作,如提交、分支和合并。当然,我们建议先下载 GitKraken 客户端,为自己节省一些时间。你不会失望的。

免费试用 GitKraken 客户端

我们已经看了一些最流行的 Git GUIs,并根据它们的价值、操作系统支持和特性集对它们进行了评估。既然你对每种图形用户界面都有了很好的了解,那么在你选择图形用户界面的过程中,下一个最好的步骤就是尝试它们。我们涵盖的所有客户都有某种试用期或免费版本。为了充分利用贵由 re 测试的试用期,请确保测试了它的高级特性以及基本的 Git 操作,如提交、分支和合并。当然,我们建议先下载 GitKraken 客户端,为自己节省一些时间。你不会失望的。

免费试用 GitKraken 客户端

学习 Git 的最快方法| 2022 年软件开发人员最佳 Git 培训

原文:https://www.gitkraken.com/blog/best-git-training

学习 Git 从未如此简单。从在线学习平台到免费的 Youtube 课程,可以有很多选择,这取决于你的预算和你喜欢如何学习新的编码技能。本文旨在为您提供一份报酬最高的免费 Git 培训课程列表。

为什么要 Git 培训?

Git 被认为是最流行的版本控制系统。Git 不仅跟踪您的项目历史并防止错误,而且它还使团队协作成为可能。在 GitKraken 最近的一项开发者调查中,95%的受访者在他们当前的项目中积极使用 Git。很明显,Git 是初学者和经验丰富的软件开发人员在 2022 年要掌握的一个基本工具。

在我们继续之前,这里有几个问题可以帮助您确定哪种类型的 Git 培训最适合您:

你的预算是多少?

  1. 你喜欢怎样学习?
  2. 你想奉献多少时间?
  3. 是需要培养一个团队,还是这只是为了自己?
  4. 需要认证或者结业证书吗?
  5. 需要认证或者结业证书吗?

下面是针对独立程序员和大型开发团队的 Git 培训和认证项目列表。

学习 Git 的最佳付费课程

Udemy

**## Udemy 是一个开放的在线课程提供商,拥有来自 57,000 名专家讲师的 130,000 门在线课程。课程由一系列模块组成,包括视频课程和评估测试。视频课程只能在线观看,但 Udemy 移动应用程序确实允许离线观看课程,并采用“播客模式”。对于那些喜欢在大屏幕上观看的人来说,Udemy 可以在 Apple TV 和谷歌 Chromecast 上观看。

对于团队,Udemy for Business 提供基于订阅的 5000 多门课程以及基于数量的价格结构。如果你是一个更大的组织的一部分,想要训练一个开发团队,这个选项可能适合你。

我们推荐的 Udemey 课程是“Git 快速发展:一小时 Git 速成班”,导师是贾森·泰勒。该课程目前标价 19.99 美元,包括 1.5 小时的教学视频、4 份可下载指南、一份结业证书,以及使用 Udemey 平台带来的所有好处

该课程已有超过 95,000 名学生,评分为 4.4 分(5 颗星)。在最近对该课程的回顾中,一名学生说:

“Jason 掌握了与观众(学生)互动的技巧,就像你实际上正在听他的讲座一样!10 分 10 分强烈推荐!”

查看本课程

我们推荐的 Udemey 课程是“Git 快速发展:一小时 Git 速成班”,导师是贾森·泰勒。该课程目前标价 19.99 美元,包括 1.5 小时的教学视频、4 份可下载指南、一份结业证书,以及使用 Udemey 平台带来的所有好处

该课程已有超过 95,000 名学生,评分为 4.4 分(5 颗星)。在最近对该课程的回顾中,一名学生说:

CodeWithMoshT3

很难找到其他上过 Mosh 课程的开发者的差评。Mosh Hamedani 的终极 Git 掌握课程是从初学者到专家最值得推荐的 Git 课程之一。

在他的网站上,Mosh 以非常合理的价格提供了总共 42 门课程,超过 260 小时的视频。他的课程分为 4 个不同的学习路径,包括基础、前端开发、后端开发和移动开发。

Mosh 以良好的一步一步的视频教程而闻名,没有绒毛。迄今为止,已有 48,600 人参加了他的 Git 课程。这门课程目前标价 19 美元。还有每月 29 美元的订阅费,可以访问所有 CodeWithMosh 课程。

如果你是 Mosh 的粉丝,但是没钱花在他的培训课程上。他的一小时 YouTube Git 教程是对 Git 基础知识的极好概述

查看本课程

在他的网站上,Mosh 以非常合理的价格提供了总共 42 门课程,超过 260 小时的视频。他的课程分为 4 个不同的学习路径,包括基础、前端开发、后端开发和移动开发。

Mosh 以良好的一步一步的视频教程而闻名,没有绒毛。迄今为止,已有 48,600 人参加了他的 Git 课程。这门课程目前标价 19 美元。还有每月 29 美元的订阅费,可以访问所有 CodeWithMosh 课程。

领英

LinkedIn Learning 为软件工程师提供了多种学习途径。主题包括编程语言、开发工具、数据库开发、游戏开发和编程基础。

LinkedIn 在过去几年里对他们的学习平台进行了大量投资。他们提供 18,000 门专家课程,最近宣布将提供 Meta、Oracle 和 IBM 的专业认证。

对于 Git 的优秀基础,我们推荐凯文·斯克格隆的“Git 基础训练”课程。这个大约 3 小时的课程包括 2 个项目文件,8 次测验,一个结业证书,以及继续教育学分的可能性。这门课程的学习人数惊人地达到了 219,000 人,评分为 4.7 分(满分 5 分)。

如果你正在寻找一个更高级的 Git 培训课程,凯文·斯克格隆主持了另一个叫做“ Git 中级技术”的课程。本课程侧重于分支管理技术和其他概念,以帮助您更有效地使用 Git。

LinkedIn Learning 会员资格每月起价 39.99 美元。您可以无限制地使用由他们的专家教授的所有 18,000 门课程。LinkedIn 学习平台允许仅通过音频和离线查看他们的内容。你还可以完全访问 LinkedIn Premium,获得额外的薪水和工作见解。

查看本课程

最佳免费 Git 培训

GitKraken 的 Git 课程

GitKraken 最近发布了一个免费的,按照你自己的节奏,git 课程,涵盖了关键的 git 概念,包括分支,合并和重新基础,分叉,拉请求,以及情景工具,如 stashing,cherry picking,squashing,使用 git 钩子,等等。

概念用文字内容和运动图形的混合来解释,然后用使用 CLI、GitKraken 客户端或 GitLens 的示例来支持。

参与者有机会通过沙盒报告练习、测验以及最后的认证考试来练习他们的技能。通过认证考试的人将获得 GitKraken 颁发的 Git 认证,他们可以与自己的团队、同事或 LinkedIn 网络分享该认证。

还没准备好接受一门课程?(看到我们在那里做了什么吗?)然后查看 GitKraken Learn Git Library ,其中包含演示初级到高级 Git 命令和操作的视频和书面内容。

为了获得最佳效果,我建议免费下载 GitKraken 客户端,并通过 GitKraken 社区创建的一些教程进行学习。

GitKraken 的 Git 课程


FreeCodeCamp 是一个非营利组织,由一个交互式学习网络平台、一个在线社区论坛、聊天室、在线出版物和当地组织组成,旨在使任何人都可以访问学习网络开发。

FreeCodeCamp 的真正价值在于他们庞大的 YouTube 库。拥有超过 600 万订户的 FreeCodeCamp youtube 频道是教程、课程和职业指导的宝库。

还没准备好接受一门课程?(看到我们在那里做了什么吗?)然后查看 GitKraken Learn Git Library ,其中包含演示初级到高级 Git 命令和操作的视频和书面内容。

为了获得最佳效果,我建议免费下载 GitKraken 客户端,并通过 GitKraken 社区创建的一些教程进行学习。

学习分支

LearnGitBranching 是一个 Git 存储库可视化工具、沙箱和一系列教育教程和挑战。它的主要目的是通过可视化的力量帮助开发人员理解 Git(这是在命令行上工作时所没有的)。这是通过不同级别的游戏来熟悉不同的 Git 命令来实现的。

您可以在 LearnGitBranching 中输入各种命令。在处理命令时,附近的提交树将动态更新,以反映每个命令的效果。如果你是一个实践学习者,这是一个提升你 Git 技能的好网站。

学习 Git:快速

事实是你可以在网上学到任何东西。这个过程中最耗时的部分是寻找那些能为你提供真正价值的资源,并且不需要你投入太多的时间和金钱。不管您的环境如何,我们上面提到的资源中至少有一个应该适合您的需求。

祝你在学习 Git 的征途上好运!事实上,您可以通过观看这个免费的 Git 教程来立即开始:什么是 Git 库

学习分支

LearnGitBranching 是一个 Git 存储库可视化工具、沙箱和一系列教育教程和挑战。它的主要目的是通过可视化的力量帮助开发人员理解 Git(这是在命令行上工作时所没有的)。这是通过不同级别的游戏来熟悉不同的 Git 命令来实现的。

您可以在 LearnGitBranching 中输入各种命令。在处理命令时,附近的提交树将动态更新,以反映每个命令的效果。如果你是一个实践学习者,这是一个提升你 Git 技能的好网站。

学习 Git:快速

事实是你可以在网上学到任何东西。这个过程中最耗时的部分是寻找那些能为你提供真正价值的资源,并且不需要你投入太多的时间和金钱。不管您的环境如何,我们上面提到的资源中至少有一个应该适合您的需求。

祝你在学习 Git 的征途上好运!事实上,您可以通过观看这个免费的 Git 教程来立即开始:什么是 Git 库

Good luck on your quest to learn Git! In fact, you can get started right now by watching this free Git tutorial: What is a Git Repository.**

Linux | 2023 最佳 Git GUI

原文:https://www.gitkraken.com/blog/best-linux-gui

本文由客座作者 Nahla Davies 撰写。Nahla 自 2010 年以来一直在软件领域工作,自 2019 年以来一直是一名技术作家。她曾在一家拥有 5000 家公司的体验式品牌机构担任首席程序员,该机构的客户包括三星、时代华纳、网飞和索尼。

Git 是一个开源版本控制系统,用于在存储库中存储代码和 web 内容。Git 旨在促进开发人员之间的协作项目。

但是通过命令行利用 Git 的强大功能可能很难掌握,所以许多开发人员选择使用 GUI 客户端来使使用 Git 命令和操作更加直观和简单。

然而,正如这篇最佳 Git GUI 文章中所提到的,并不是所有的 Git 客户端都是一样的。如果你在市场上寻找一个 Linux 的 GUI 客户端,那么你很幸运!在本文中,我们将介绍 2023 年 Linux 的 10 大 Git GUI 客户端。

git krak 客户端

图片来源

价格 : GitKraken 客户端在公开回购上是免费的,并为希望在私人回购上使用它的开发者和团队提供了多种付费选项。面向个人开发人员和小型团队的 Pro 软件包的价格为每个用户每月 4.95 美元,teams 软件包的价格为每个用户每月 8.95 美元,企业软件包的价格为每个用户每月 18.95 美元。所有计划都是按年付费的,还有一个免费版本,附带 7 天的 Pro 捆绑包试用。

评论: G2 GitKraken 客户端评论偏 GitKraken 客户端评论Sourceforge GitKraken 客户端评论

GitKraken Client 使用直观的用户界面使 Git 更易于访问,能够在终端或 GUI 之间切换,并集成开发人员克隆、派生和添加远程设备所需的功能。此外,通过时尚的设计和简单的导航,可以轻松创建、查看和管理拉式请求。 GitKraken 客户端与一些最受欢迎的 Git 平台的集成,如 GitHub、GitLab、Bitbucket 等,使得开发团队可以轻松地处理远程回购、发出拉请求,以及执行代码审查

数以百万计的团队和开发者使用 GitKraken Client,因为它的惊人特性,如工作区漂亮的提交图各种集成合并冲突工具。想知道最精彩的部分吗?GitKraken 客户端可以在 Mac、Windows 和 Linux 上运行,这使得它成为整个团队的一个简单选择。

“当我被允许在工作中使用 Linux 作为我的主要操作系统时,我开始寻找合适的 Git 客户端。我听说过一个交叉兼容的 GUI,叫做 GitKraken Client。从此再也没有回头。”–PHP 开发人员威廉·彭顿

Gitg

图片来源

价格:免费

点评: Slashdot Gitg 点评Sourceforge Gitg 点评

Gitg 是一个很棒的 GUI 客户端,适合那些寻找查看 Git 库的简单方法的 DevOps 团队。直观的 UI 易于使用,该工具附带了几个实用程序来帮助管理存储库和提交。当然,您还可以使用 Gitg 执行日常 Git 任务,如浏览提交和预览文件。

Gitg 运行在 GNOME 桌面上,这意味着它是免费的、开源的,并且附带了一个很好的开发人员社区。它非常直观,所以即使初学者也可以使用 Gitg for GNOME。

GitForce

图片来源

价格:免费

点评: Sourceforge GitForce 点评Slashdot GitForce 点评

GitForce 以其漂亮的视觉效果和直观的界面而闻名,对初学者来说非常棒。其独特的拖放工具极其简单,使用 GitForce 不需要命令行 Git 工具。使用它来创建和管理 Git 存储库和分支,以及扫描本地存储库。

尽管 GitForce 易于使用,但它有许多通用的工具选项,即使是有经验的开发人员也会对其印象深刻。Git GUI 客户端的主要目标是为常见操作提供一个可视化的前端,为大量复杂的命令行操作留出空间。

SmartGit

图片来源

GitForce 以其漂亮的视觉效果和直观的界面而闻名,对初学者来说非常棒。其独特的拖放工具极其简单,使用 GitForce 不需要命令行 Git 工具。使用它来创建和管理 Git 存储库和分支,以及扫描本地存储库。

价格:免费下载供个人使用,支持 SmartGit 的商业许可证每年花费 88.80 美元,或者你可以花 299 美元获得终身许可证。他们还提供低至每月 5.90 美元的包月服务。

评论: 偏 SmartGit 评论Sourceforge SmartGit 评论

SmartGit 有一个智能界面,无论您是在 Windows、macOS 还是 Linux 上工作,它都是一样的。该工具有一个独特的功能,让你比较,合并和编辑文件并排,以及解决冲突与点击一个按钮。

SmartGit 的一些特性使开发变得更简单、更快速,包括拖放式重新排序、合并和基于提交,以及在一次刷新中加载大型存储库的能力。

看看 GitKraken 客户端如何对抗 SmartGit

去可乐

图片来源

价格:免费

评论: Sourceforge Git 可乐评论偏 Git 可乐评论

Git Cola 是一个开源的 Git GUI,适用于 Linux,可以与 macOS 和 Windows 交叉兼容。该工具使用 Python 开发,提供了几种不同的语言选项,还支持自定义 GUI 设置。

它还带有一个 Dag 可视化工具,用于提交和分支,一个键盘快捷键列表,用于提高工作流效率,以及多个窗格,使开发人员能够从多个角度查看他们的工作。另外,Git Cola 会记住你的工作布局,这样下次你打开它的时候,你最有效率的设置就会被恢复。

获得 GitKraken 客户端与 Git Cola 的详细对比。

GittyUp

图片来源

价格:免费

点评: Softpedia GittyUp 点评

GittyUp 是最近退役的 GitAhead GUI 的延续。它是一个平台,可以初始化或克隆存储库,以及协作、管理分支、提交和其他任何与 Git 相关的事情。

GittyUp 的目标是帮助开发人员更有效地理解和管理源代码历史。这包括无缝协作,包括跟踪提交变更;编辑修订;以及创建、配置和合并分支,所有这些都是实时进行的。GittyUp 可以在 Linux、Windows 和 macOS 上运行。它正在积极开发中,所以很快就会看到增强的特性和新的版本。

崇高合并

图片来源

GittyUp

价格:免费下载,但需要许可证才能继续使用。个人执照 3 年 99 美元,营业执照每年 75 美元。

点评: Sourceforge 崇高合并点评偏崇高合并点评Slashdot 崇高合并点评

Sublime Merge 是一个跨平台的 GUI 工具包,为性能设立了标杆。它具有诸如逐行分段、提交编辑、语法高亮引擎和定制 Git 阅读库等特性。

提交您想要的代码很容易,您甚至可以将大块代码分成多个变更。卓越的文本语法突出显示非常适合轻松无误地进行更改。

Ungit

图片来源

价格:免费

评论: 偏 Ungit 评论

Ungit 是一个开源项目,旨在解决通过命令行使用 git 的常见问题。它可以在任何平台上运行,只要 node.js 和 Git 支持它,并且它是基于 web 的。基于 web 的 GUI 的好处在于,您可以在纯 shell 机器或云机器上运行它,同时从浏览器与它进行交互。

Ungit 还致力于解决对其他 Git GUI 客户端的常见抱怨。一些 Git GUI 客户端可以限制开发人员使用所有的命令行特性,但是 Ungit 为使用 Git 带来了一点额外的用户友好性,并且没有损害它的通用性。

魔法

图片来源

价格:免费

点评: 偏 Magit 点评

Magit 试图填补 CLI 和 GUI 之间的空白,让开发人员能够使用一些方便的快捷方式来执行简单的命令和复杂的版本控制。它可以在任何支持 Emacs 的平台上运行,包括 Linux。

您可以选择让 Magit 在后台运行 git 命令,或者您可以查看正在运行的命令。这样,初学者也可以使用 Magit 来学习 git 命令行。但是有经验的 dev 不会觉得自己无聊。屏幕上可见的每一条信息也是可操作的。

发现 GitKraken 客户端与 Magit 的主要区别。

傻笑

图片来源

价格:免费

评论:【Alternativeto.net 傻笑评论

咯咯笑是 GNOME 团队的另一款应用。尽管这款 GUI 工具不如其他一些工具流行,但 glugh 将在 2023 年引起轰动。傻笑的目的是让浏览修订树变得简单直观。您可以使用它来创建和管理新的提交,并查看提交和修订历史。

对于查看显示诸如过去的修订和差异等信息的可视化效果来说,傻笑也是很棒的。此外,您还可以创建和应用补丁、短日志,以及执行其他重要的提交功能。

魔法

【Linux 最佳 Git GUI】

对于需要快速编码的经验丰富的开发人员和希望学习开发过程而不需要记住设置环境所需的所有命令的新手来说,Git GUI 客户机是极好的工具。有了这个指南,Linux 开发人员应该可以毫不费力地找到满足他们需求的客户机。

确定哪个 Git 客户端最适合您的最好方法之一是,列出您和您的团队需要的“必须拥有”的特性,然后列出“最好拥有”的特性,然后试验 GUI 客户端,直到找到适合您的用途、预算和环境的客户端。每个人都有一个 Linux GUI,但是我们建议你从试用 GitKraken 客户端开始,这可能会节省你一些时间😉。

点评: 偏 Magit 点评

Magit 试图填补 CLI 和 GUI 之间的空白,让开发人员能够使用一些方便的快捷方式来执行简单的命令和复杂的版本控制。它可以在任何支持 Emacs 的平台上运行,包括 Linux。

您可以选择让 Magit 在后台运行 git 命令,或者您可以查看正在运行的命令。这样,初学者也可以使用 Magit 来学习 git 命令行。但是有经验的 dev 不会觉得自己无聊。屏幕上可见的每一条信息也是可操作的。

发现 GitKraken 客户端与 Magit 的主要区别。

傻笑

图片来源

价格:免费

评论:【Alternativeto.net 傻笑评论

咯咯笑是 GNOME 团队的另一款应用。尽管这款 GUI 工具不如其他一些工具流行,但 glugh 将在 2023 年引起轰动。傻笑的目的是让浏览修订树变得简单直观。您可以使用它来创建和管理新的提交,并查看提交和修订历史。

对于查看显示诸如过去的修订和差异等信息的可视化效果来说,傻笑也是很棒的。此外,您还可以创建和应用补丁、短日志,以及执行其他重要的提交功能。

Giggle is another app on our list from the GNOME team. Although this GUI tool is not as popular as some of the others, Giggle is set to make a splash in 2023. The goal of Giggle is to make browsing the revision tree simple to visualize. You can use it to create and manage new commits and review commit and revision history.

【Linux 最佳 Git GUI】

对于需要快速编码的经验丰富的开发人员和希望学习开发过程而不需要记住设置环境所需的所有命令的新手来说,Git GUI 客户机是极好的工具。有了这个指南,Linux 开发人员应该可以毫不费力地找到满足他们需求的客户机。

确定哪个 Git 客户端最适合您的最好方法之一是,列出您和您的团队需要的“必须拥有”的特性,然后列出“最好拥有”的特性,然后试验 GUI 客户端,直到找到适合您的用途、预算和环境的客户端。每个人都有一个 Linux GUI,但是我们建议你从试用 GitKraken 客户端开始,这可能会节省你一些时间😉。

Git GUI clients are excellent tools for seasoned developers who need to code fast and newbies who want to learn the development process without needing to remember all the commands required to set up their environment. Equipped with this guide, Linux developers should have no problem finding a client that meets their needs.

One of the best ways to determine which Git client works best for you is to make a “must have” list of the features you and your team need, then a list of “nice to have” features, and then play around with GUI clients until you find the one that suits your uses, budget, and environment. There is a Linux GUI for everyone, but we suggest you start by trying GitKraken Client, it may just save you some time 😉.

学生开发人员的最佳规划工具

原文:https://www.gitkraken.com/blog/best-planning-tools-students

无论你是刚刚开始学生生活的大一新生,还是准备在几个月后进入职场的大四学生,开始磨练你的时间管理技能永远不会太早。相信我们,作为一个经常雇用刚从学校毕业的新软件开发人员的团队,对项目管理有一个基本的了解会大有帮助。

为了充分利用你的学年,你需要利用一些工具来帮助你规划短期和长期的项目和目标。你会想要使用工具,让你、你的同学和你的老师之间的协作变得容易。

面向学生的项目管理工具

在评估您想要使用的项目管理工具时,您应该考虑一些事情:

  1. 价格:理想情况下,你选择的工具将是免费使用的。这将有助于你的钱包,并使其他学生更有可能使用它,或愿意使用它。
  2. 可访问性:与他人协作和共享的难易程度如何,您可以从哪些平台访问该工具?
  3. 市场认可度:你不应该因为大多数人在做某件事就去做它,但是拥有广泛使用的工具的经验是有价值的。
  4. 其他功能:根据您的需求,您可能会寻求自动化、导入/导出功能、数据报告等功能。

项目管理方法

大多数项目管理工具提供了对各种方法的可见性,比如敏捷、Scrum 和/或看板。

敏捷:虽然敏捷经常被称为一种方法论,但它更多的是一种以灵活性和迭代为中心的哲学。项目是由一系列任务定义的,这些任务是根据需要构思、执行和调整的。

Scrum:小型的、自我管理的团队合作以尽可能快的交付。交流是 Scrum 的关键。

看板(Kanban):团队增加他们在制品的可见性,并限制多任务处理以提高速度和质量。

适合学生的最佳看板工具

看板是当今软件开发团队使用的最流行的项目管理方法之一。 2020 年软件开发状态报告显示,三分之一(33.33%)的全球软件团队使用看板来组织他们的工作流。

  1. :这个免费的任务和问题跟踪工具拥有你所需要的一切,让你随时掌握你的课程和项目。

如果您正在使用 GitKraken 来处理您的 Git 库——您应该这样做!—您可以直接从编码环境中管理您的问题卡。

Get GitKraken Free for Students

2.:这个工具被许多人称为“吉拉的轻量级替代品”,也是免费的。

  • 据报道,19.89%的全球开发团队广泛采用和使用
  • 轻松浏览直观的界面
  • 从他们可爱的吉祥物——西伯利亚哈士奇塔可那里获得建议🐶 Ruff!

ProTip: GitKraken Boards 有一个导入工具,允许你导入带有完整细节的 Trello boards ,在 GitKraken 中创建新的电路板。

哪款看板工具适合你?看看 Trello 和 GitKraken 的棋盘有什么不同。

学生项目规划工具

除了可以帮助您管理团队成员的日常任务的项目管理工具之外,使用高级规划工具也有价值,它可以让您洞察长期目标和里程碑。

git kraken 时间线:以线性视图创建项目的免费在线时间线。

规划迄今为止最好的学年

使用这些为计算机科学学生设计的项目规划工具,为自己的成功做好准备,并为未来的劳动力做好准备。

Psst:除了 GitKraken Git GUI Pro(一个用于可视化和管理 Git 库的图形用户界面)之外,您还可以免费获得 GitKraken Boards 和 GitKraken Timelines 的 Pro 许可证。

Git 的最佳工具

原文:https://www.gitkraken.com/blog/best-tools-git

在深入 Git 之前,从高层次理解版本控制的概念是很重要的。虽然不是所有的软件开发人员都使用版本控制,也不是只有软件开发行业使用版本控制,但它每年都变得越来越主流。你可以打赌,作为一名开发人员,如果你曾经在一个 workplace 团队或开源项目中与其他人合作,你将会面临版本控制。

版本控制是一种跟踪文件和文件集随时间变化的系统,目的是重新调用特定版本以供审查。需要时,您还可以恢复到文件的以前版本。感觉就像回到了过去。

此外,使用版本控制系统 (VCS)可以让您看到谁在什么时间对哪个文件做了什么更改。这使得它在开发团队工作或与同学合作项目时非常有价值。它增加了宝贵的透明度,提供了问责制和更好的组织。

有多种 VCS——本地的、集中式的和分布式的——但是出于本文的目的,我们将关注 Git,一种分布式版本控制系统(DVCS)。

Git 是什么?

最初由 Linux 内核的创造者 Linus Torvalds 开发,并于 2005 年发布,Git 已经成为当今世界上使用最广泛的 VCS。

使用 Git,开发人员的工作代码是一个精确克隆的存储库,包含了所有的变更历史,而不是像 Subversion 这样的集中式系统那样,只有一个地方存放项目的版本历史。

自 2005 年问世以来,Git 一直致力于改善全球开发人员的工作流程,因此越来越受欢迎。值得庆幸的是,痴迷 Git 的开发人员,比如 GitKraken 的 truly,近年来一直在努力工作,为您带来增强 Git 体验的软件工具。

Since its arrival in 2005, Git has continued to improve developers’ workflows worldwide, hence its ever-increasing popularity. And thankfully, Git-obsessed developers, like yours truly at GitKraken, have been working hard in recent years to bring you software tools to enhance your Git experience.

Git 的最佳开发工具

GitHub

在开始使用 Git 之前,您需要决定在哪里托管您的存储库。流行的托管服务包括托管和自托管版本的 GitHubGitLabAzure DevOpsBitbucket ,所有这些都由 GitKraken Git GUI 支持。

了解 Git 托管服务如何融入 DevOps 生命周期。

2020 DevOps 工具报告

你可能想知道为什么。正如行业专家 Jenny Bryan 在她的白皮书中解释的那样:

如果你不知道我在说什么,就把(你的托管服务)想象成 DropBox,但要好得多。

就像一个存放代码的安全地方。即使你一个人在做一个个人项目,通过将你的工作推到一个远程位置来备份你的代码仍然是一个好主意。

无论你或你的团队选择使用哪种托管服务进行日常工作,我们都鼓励任何使用 Git 的开发者拥有一个 GitHub 账户并参与到平台中,因为有大量的开源代码可用。基本上,如果你正在使用 Git,你将在某个时候使用 GitHub。

– Jenny Bryan, Happy Git and GitHub for the user

并且考虑暴露于全球开发者社区。如果有人需要审查你的作品,他们可以通过 GitHub 直接轻松访问。同样,假设你想评估一个受尊敬的影响者如何通过他们的公共项目工作;任何用户都可以在他们的 GitHub 个人资料上看到这些信息。或者,假设你想为 GitHub 上的一个开源项目做贡献;下载一个工作副本,提交一个拉取请求,然后开始协作。这就像一个软件开发的社交媒体平台。

需要注意的是,GitHub 也支持私有存储库,相关代码不公开。

去 GUI

贵由可能会问什么是饭桶?这是一个图形用户界面,它使使用 Git 的体验比在命令行上执行操作更加流畅。

看看 GitKraken 的 Git GUI 与命令行相比如何。

具体来说,使用 Git GUI 的视觉体验比 CLI 更吸引人、更直观。下面,你可以看到一个文件的工作项目历史的可视化比较,显示在命令行和 GitKraken Git GUI 中。

在 GitKraken 中,您可以清楚地看到哪些提交是由谁在哪个分支上进行的。您甚至可以清楚地看到每个提交的上下文,单个 gravatars 显示谁对什么更改负责;您可以在快速快照中获得所有信息,而无需剖析代码行。

Git GUIs 本质上是代表您执行 Git 操作,有些比其他的更健壮。GitKraken Git GUI 提供了拖放功能(对于不太喜欢使用鼠标的开发人员😉).您还可以在 UI 中获得重要的上下文,包括右边的 commit 面板和左边的面板,显示所有项目的远程、拉请求、子模块等等。

GitKraken Git GUI 受到全世界数百万开发人员的喜爱有很多原因,但 Git 爱好者尤其喜欢 GitKraken Diff 工具,它可以向用户显示随着时间的推移对文件做了哪些修改。

另一个粉丝的最爱,GitKraken 合并工具允许用户提交两个不同的分支并将它们合并。但是,假设两次提交对同一个文件有冲突的更改。不要害怕饭桶学徒!GitKraken 会提醒你冲突,并指导你如何最好地解决它。

g itKraken 是跨平台的,这意味着它可以在 Windows、Mac 和 Linux 上与 Git 一起使用。它还内置了与 GitHub、GitLab、Azure DevOps 和 Bitbucket 的集成,以简化存储库管理和工作流程。

立即免费下载 GitKraken Git GUI!

Another fan favorite, the GitKraken Merge Tool allows users to take commits on two difference branches and combine them. But, let’s say the two commits have conflicting changes to the same file. Fear not Git apprentice! GitKraken will alert you of the conflict and direct you on how best to resolve it.

发行跟踪板

与任何项目一样,使用 Git 时,组织和任务跟踪可以派上用场。虽然 Git 确实在帮助您组织您的文件历史和代码变更,但是您仍然需要一个工具来在高层次上跟踪特定的项目任务,以确保您在下一个发布截止日期前按时完成。

GitKraken issue boards 是同类软件中唯一的看板软件,专为开发人员和开发团队打造。与 GitHub 动作、拉请求和里程碑的集成使它成为使用 Git 和 GitHub 的开发人员的完美工具。开始使用 GitKraken 发布板来管理你的 Git 项目。

通过 GitKraken 与 GitHub Actions 的集成,你可以自动操作你的板上的卡片。例如,在 GitHub 中合并了一个 pull 请求后,您可以触发一张卡移动到您的 Deployed 列中。很酷,对吧?

类似地,您可以设置一个集成来将 GitKraken 板连接到 GitHub Pull 请求。您可以映射您的自动化流程,根据 GitHub 中的 PR 状态将卡片移动到特定的列,无论是打开、关闭&合并、关闭还是合并。

最后,将 GitHub 里程碑与 GitKraken 同步,以便根据项目里程碑的截止日期跟踪您的任务。当您在 GitKraken 或 GitHub 中关闭、编辑或删除您的里程碑时,您可以立即在两个系统中看到更新。

Through GitKraken’s integration with GitHub Actions, you can automate the manipulation of cards on your boards. For example, you can trigger a card to move into your Deployed column after a pull request is merged in GitHub. Pretty cool, right?

成为 Git Boss

当您刚刚开始时,Git 可能会让人不知所措,这些工具将帮助您在作为开发人员的日常工作流程中变得更加自信。

成为真正的#GitBoss,用这些推荐的 Git 工具提升你的开发水平。

Become a Git Boss

Git can be overwhelming when you’re just getting started, and these tools will help you become more confident in your daily workflow as a developer.

Become a true #GitBoss and level up your dev game with these recommended Git tools.

远程开发团队的最佳工具

原文:https://www.gitkraken.com/blog/best-tools-remote-dev-teams

本周早些时候,我们组织做出了一个重大决定。从周一到周二, Axosoft 一夜之间从一家面对面的公司转变为一家完全远程办公的公司。我们组织的领导层认为,在我们努力将冠状病毒疫情的影响及其对我们团队成员的影响降至最低的过程中,这是一项必要的先发制人的措施。

从明天开始,我的公司,Axosoft,将会在另行通知前关闭。这并不是因为我担心感染 #COVID 病毒,而是为了防止大规模#冠状病毒爆发,我们不得不采取比平常更极端的措施。

我们的内部公告:pic.twitter.com/USrwy3Acta

—哈米德·肖耶伊(@哈米德)2020 年 3 月 9 日

window.addEventListener('DOMContentLoaded', function() {

在完成这一关键转变后的几个小时里,我们发现了哪些目前由我们支配的软件工具将最终帮助我们实现远程成功。

无论您是一个正在考虑向远程工作过渡的开发团队,还是一个分布式团队的新员工,或者,也许您就像我们这些正在应对新冠肺炎公共健康危机的 Axosoft 员工一样,本文都将帮助您充分利用新的远程工作环境。

团队在做什么?

无论您的软件开发团队是在同一个房间一起工作,还是位于世界各地的家庭办公室,拥有一个向您展示您的团队成员所做工作的工具是至关重要的。

GitKraken Git GUI 是在团队协作的基础上构建的。我们的中央提交图允许开发团队中的每个人,从产品经理到初级开发人员,查看在任何给定的时间点谁对哪些文件做了什么更改。

下载 GitKraken Git GUI,连续四年排名第一的开发者工具,今天免费。

沟通是远程成功的关键!

当您的开发团队不在同一个地方时,沟通工具在参与、责任和生产中起着关键的作用。

Slack:远程团队的实时通信

Slack 是一个实时消息工具,被许多团队用作电子邮件的替代品,用于更快、更不正式的内部交流。该工具在【2020 年前 20 名开发者工具列表中排名第 13。

Axosoft started a #remote channel in Slack to discuss best practices for the transition.

Slack 团队继续开发这款工具,以包括更多功能来帮助远程团队,如搜索和归档功能,并提供与谷歌日历和 Glo 发布板等应用程序的无数集成,让您组织会议和任务。看看 Slack 如何与 Glo 发布板集成进行任务跟踪。

Google Meet:远程团队的会议和电话

即使是远程团队也需要召开会议和电话会议。令人欣慰的是,现代技术为此提供了许多解决方案,使得创建动手协作的数字空间变得容易且负担得起。

Google Meet 是一款价格实惠的网络会议工具,为团队安排和执行视频和语音通话提供了一个可访问的平台。用户可以简单地安排一个会议并分享链接。就这么简单!

远程团队的项目管理

当您的开发团队远程工作时,责任可能更难实现。这就是项目管理工具可以发挥作用的地方,保持单个团队成员跟踪他们的个人任务,以及他们如何影响更大的项目里程碑和目标。

Glo 问题板:任务&问题跟踪

Glo 发布板允许远程开发团队在看板上可视化他们的项目任务;该工具还提供仪表板、日历和时间线视图。

例如,项目经理可以为他们的团队在即将到来的发布中需要完成的每项任务创建一个看板。每张卡都可以分配给一个单独的开发人员,并且可以添加标签来提供额外的上下文,以及卡描述和评论部分。

创建一个板后,很容易将您的团队成员添加为其他板用户。您甚至可以将您的讨论板组织成组,也许是针对您组织内的不同部门或工作组。组织的所有者和管理员可以在 Glo 中创建团队并分配用户。

注册 Glo 发布板,增强远程项目管理。

专为软件开发团队设计的 Glo 发布板继续增加新功能,如拉请求自动化,使该工具更加健壮和有价值。Glo 现在通过 Glo MarketplaceSlackGoogle CalendarGitHub Issue SyncGitHub Actions 等进行整合。

优化远程团队的工作效率

使用这些工具,您一定可以通过增强的协作、沟通和项目管理来优化远程开发团队的生产力。

您的远程开发团队利用哪些工具或策略来取得成功?使用 @GitKraken 和# RemoteWorking 标签在 Twitter 上告诉我们,分享你的最佳实践。

最佳 VS 代码扩展 2022-23

原文:https://www.gitkraken.com/blog/best-vs-code-extensions

很长一段时间以来,Visual Studio 代码一直是开发人员市场上领先的 ide 之一。这是毫无疑问的,因为 IDE 是精简的,可以支持许多现成的工具。

IDE 已经走过了漫长的道路,而且似乎不会很快放慢速度。许多人喜欢 VS 代码的一个主要原因是,开发人员可以安装工具,帮助他们提高工作效率,获得更好的代码,甚至是协作。

但是这些工具是什么呢?如果您是新手,您如何知道应该安装哪些组件呢?在这篇文章中,我们将会看到 top VS 代码扩展可以帮助你更快更好地编码。

什么是 VS 代码扩展?

在本文的上下文中,扩展是可以安装在您的 IDE 中以帮助您更好地工作的工具。这些工具可以包括多种语言的自动完成插件,一些特定的主题,或者只是帮助你写更好的代码(或者在某种意义上为你写代码)的插件。

我们已经搜索并发现了一些你可能需要的非常有趣的扩展。没有太多的延迟,这里有 15 个 VS 代码扩展,可以让你的工作流程超级简单。

走吧

GitLens 是一个扩展,可以帮助你查看代码细节,比如作者、历史、提交、分支等等。它可以帮助你在 ide 中使用 git,并且拥有相当多的超能力。它甚至向您展示了每一行代码的作者。

只需点击一下,就可以返回查看代码、远程分支和隐藏提交的先前和当前状态。

GitLens 是一个扩展,可以帮助你查看代码细节,比如作者、历史、提交、分支等等。它可以帮助你在 ide 中使用 git,并且拥有相当多的超能力。它甚至向您展示了每一行代码的作者。

只需点击一下,就可以返回查看代码、远程分支和隐藏提交的先前和当前状态。

一些流行的 GitLens+ 特性包括 GitKraken 提交图、工作树的详细视图和可视化文件历史视图。

使用提交图,您可以与您的分支和提交进行交互,快速检查分支,查看分支上相关的拉请求,等等!

小报

说到为你编写代码的工具, Tabnine 使用人工智能,在你开始打字时,根据语法给出下一行代码的建议。经过开源代码的训练,这个扩展通过自动化您编写的重复代码来帮助您提高生产率。Tabnine 是免费的,但它也有一个专业版,更像是完整的行,提供基于注释的代码片段,并为您编写函数。

较美丽

是一个代码格式化程序,帮助你以一种更好更有条理的方式编写代码。通过设置规则,更漂亮地重新格式化你的代码,使它看起来更整洁,更有结构。您可以添加或编辑括号间距和制表符宽度的设置,或者您可能希望整个文件中只有单引号。漂亮可以做更多的事情。

你可以查看他们的官方文件了解更多信息。

彩虹标签

有时,我们会情不自禁地在代码中添加标签。我发现在我的 HMTL 中很难看到一些巨大的 div 标签的边界。使用彩虹标签,给每个标签对涂上不同的颜色,这样您就可以快速看到开始和结束标签。您可以根据自己的喜好为每个标签对选择背景色或边框。

书签

代码文件有时会变得很长。随着这些文件变得越来越长,找到代码的特定区域变得越来越困难。书签是一个帮助你标记代码特定区域的扩展。轻松切换多个书签区域,添加和删除书签,并添加您喜欢的标签。你甚至可以在侧边栏上看到一个漂亮的标签,上面有你代码的所有书签区域,以便于查看。

实时服务器

直接从您的 IDE 启动一个轻量级的本地开发服务器。您可以在 VS 代码中并排显示您的代码和服务器。该页面会同时重新加载,并帮助您在工作时直接看到更改。

使…变成彩色

像十六进制代码、rgb 或 hsl 这样的东西通常很难预览,直到你看到页面上的颜色。在你的 CSS 文件中创建彩色背景。

自动重命名标签

重命名开始/结束标记,并且还必须重命名其对应的标记对,这一点都不好玩。使用自动重命名标签,一旦你重命名一个 HTML/XML 标签,它会自动重命名配对的标签。

项目管理人

要在我的工作区中打开一个新项目,我必须导航到我的文件浏览器并找到项目目录。这通常对我来说是一个麻烦。项目经理是一个有趣的扩展,可以在这方面提供帮助。您可以使用标签对项目进行分类,并将所有项目和存储库列在您的工作区中,这样您就可以在同一窗口或新窗口中打开它们,而无需离开 IDE。

项目管理器扩展在左侧栏中有自己的专用选项卡,这有助于快速访问。正如您在下面看到的,我有两个项目添加到我的项目管理器中,并且我总是可以在一个新窗口中打开其中一个,而无需离开我的 IDE。

降价预览

编写 markdown 而没有显示输出的面板听起来并不有趣。对于花时间使用 markdown 的开发者来说,VS Code 的 markdown preview 扩展是一个惊人的帮助。与 markdown 文件并排打开预览面板,并在您键入时查看实时更新。

迅雷客户端

迅雷客户端是针对 VS 代码的 Rest API 客户端扩展。想想邮递员,但是在你的脑海里。你不需要第三方应用来测试 API 端点。使用 thunder client,您甚至不需要了解任何关于脚本的知识就可以在端点上运行测试。GUI 可以帮助您通过点击按钮来实现这一点。

更好的评论

灰色的评论不会让评论看起来有趣。使用更好的注释,更好地突出显示待办事项、提醒和注释。他们获得了知名度,同时看起来有点丰富多彩和酷。该扩展支持多种语言,并为颜色、标签、背景等提供可定制的设置。

实时分享

需要跳上一个快速调用,并指出你的代码中的一些东西给同行?有什么比一起合作编写代码更好的方法呢? Live Share 支持结对编程等。同时与同事一起编辑和处理代码,并共享终端实例和本地主机等资源。

它还在侧边栏上提供了一个选项卡,您可以在其中轻松添加合作者,或者作为合作者加入。

GitHub 副驾驶

另一个工具像 Tabnine,它提供自动完成建议。GitHub Copilot 被描述为人工智能对程序员,因为它提供了智能的人工智能相关服务。根据注释和方法名,返回可能的代码建议。您可以浏览这些解决方案,选择最适合您应用的解决方案。Copilot 实时建议代码和功能,并在数百万个开源项目中接受过培训。
它对经过验证的学生、教师和流行开源项目的维护者是免费的。如果您不符合上述任何一项,您可以获得 60 天的免费试用,如果您希望继续,将会向您收取费用。要了解更多,请查看官方文件

代码快照

我们定期分享代码片段。无论是在社交媒体上还是在帮助论坛上。表现良好的代码通常更容易理解,而 CodeSnap 就是为此服务的。这个扩展帮助你截屏你的代码,同时保持语法高亮和缩进。它是免费的,并带有大量的设置,您可以根据自己的喜好进行定制。

如果你在 Linux 或 Windows 上,点击CTRL+SHIFT+P (Cmd + SHIFT + P for MacOS)并开始在搜索面板中输入CodeSnap。点击,另一个窗口将会打开。突出显示并拖动您想要捕捉的部分。

奖励扩展:vs code-宠物

如果你喜欢动物,但可能太忙而没有时间养真正的宠物,你可以养一只 IDE 宠物。vscode-pets 是一个可爱的扩展,可以让你将宠物添加到你的工作区。你可以养狗、猫或蛇。当你编码的时候,让他们呆在你身边,你就有了一个可以投球和接球的面板。

要在我的工作区中打开一个新项目,我必须导航到我的文件浏览器并找到项目目录。这通常对我来说是一个麻烦。项目经理是一个有趣的扩展,可以在这方面提供帮助。您可以使用标签对项目进行分类,并将所有项目和存储库列在您的工作区中,这样您就可以在同一窗口或新窗口中打开它们,而无需离开 IDE。

项目管理器扩展在左侧栏中有自己的专用选项卡,这有助于快速访问。正如您在下面看到的,我有两个项目添加到我的项目管理器中,并且我总是可以在一个新窗口中打开其中一个,而无需离开我的 IDE。

使用 VS 代码扩展提高您的工作效率

需要注意的是,本文中提供的扩展列表并不详尽。还有很多特别的扩展,可以让你在 VS 代码中的编码体验更加惊人。然而,我们希望我们在这里介绍的工具能够有所帮助,并简化您的工作流程。无论您是想下载本文中的某个扩展,还是细读众多选项,请前往 VS Code marketplace 开始吧。

降价预览

编写 markdown 而没有显示输出的面板听起来并不有趣。对于花时间使用 markdown 的开发者来说,VS Code 的 markdown preview 扩展是一个惊人的帮助。与 markdown 文件并排打开预览面板,并在您键入时查看实时更新。

迅雷客户端

迅雷客户端是针对 VS 代码的 Rest API 客户端扩展。想想邮递员,但是在你的脑海里。你不需要第三方应用来测试 API 端点。使用 thunder client,您甚至不需要了解任何关于脚本的知识就可以在端点上运行测试。GUI 可以帮助您通过点击按钮来实现这一点。

更好的评论

灰色的评论不会让评论看起来有趣。使用更好的注释,更好地突出显示待办事项、提醒和注释。他们获得了知名度,同时看起来有点丰富多彩和酷。该扩展支持多种语言,并为颜色、标签、背景等提供可定制的设置。

实时分享

需要跳上一个快速调用,并指出你的代码中的一些东西给同行?有什么比一起合作编写代码更好的方法呢? Live Share 支持结对编程等。同时与同事一起编辑和处理代码,并共享终端实例和本地主机等资源。

它还在侧边栏上提供了一个选项卡,您可以在其中轻松添加合作者,或者作为合作者加入。

GitHub 副驾驶

另一个工具像 Tabnine,它提供自动完成建议。GitHub Copilot 被描述为人工智能对程序员,因为它提供了智能的人工智能相关服务。根据注释和方法名,返回可能的代码建议。您可以浏览这些解决方案,选择最适合您应用的解决方案。Copilot 实时建议代码和功能,并在数百万个开源项目中接受过培训。
它对经过验证的学生、教师和流行开源项目的维护者是免费的。如果您不符合上述任何一项,您可以获得 60 天的免费试用,如果您希望继续,将会向您收取费用。要了解更多,请查看官方文件

代码快照

我们定期分享代码片段。无论是在社交媒体上还是在帮助论坛上。表现良好的代码通常更容易理解,而 CodeSnap 就是为此服务的。这个扩展帮助你截屏你的代码,同时保持语法高亮和缩进。它是免费的,并带有大量的设置,您可以根据自己的喜好进行定制。

如果你在 Linux 或 Windows 上,点击CTRL+SHIFT+P (Cmd + SHIFT + P for MacOS)并开始在搜索面板中输入CodeSnap。点击,另一个窗口将会打开。突出显示并拖动您想要捕捉的部分。

奖励扩展:vs code-宠物

如果你喜欢动物,但可能太忙而没有时间养真正的宠物,你可以养一只 IDE 宠物。vscode-pets 是一个可爱的扩展,可以让你将宠物添加到你的工作区。你可以养狗、猫或蛇。当你编码的时候,让他们呆在你身边,你就有了一个可以投球和接球的面板。

GitHub Copilot

使用 VS 代码扩展提高您的工作效率

需要注意的是,本文中提供的扩展列表并不详尽。还有很多特别的扩展,可以让你在 VS 代码中的编码体验更加惊人。然而,我们希望我们在这里介绍的工具能够有所帮助,并简化您的工作流程。无论您是想下载本文中的某个扩展,还是细读众多选项,请前往 VS Code marketplace 开始吧。

CodeSnap

We regularly share code snippets. Whether it be on social media or pasting it in help forums. Well-presented code is usually better understood, and CodeSnap serves this purpose. This extension helps you take screenshots of your code while keeping syntax highlighting and indentation. It is free and comes with a wide range of settings you can customize to your preference.

If you are on Linux or Windows, hit CTRL+SHIFT+P (Cmd + SHIFT + P for MacOS) and start to type CodeSnap in the search panel. Click and another window will open up. Highlight and drag over the section that you want to capture.

Bonus Extension: vscode-pets

If you like animals but are probably too busy to get a real-life pet, you could always have an IDE pet. vscode-pets is a cute extension that lets you add pets to your workspace. You could have a dog, cat, or snake. Have them hang around while you code, and you get a panel where you can throw a ball and play catch.

Extend Your Productivity with VS Code Extensions

It’s important to note that the list of extensions provided in this article is by no means exhaustive. There are many more exceptional extensions that can make your coding experience in VS Code even more amazing. We hope, however, that the tools we’ve covered here prove helpful and streamline your workflow. Whether you’re looking to download one of the extensions covered in this article or to peruse the many options, head to the VS Code marketplace to get started.

最佳与代码主题

原文:https://www.gitkraken.com/blog/best-vs-code-themes

开发人员总是在寻找个性化他们的工作环境并符合正确审美的方法。对于许多人来说,这是关于找到一个平衡,使他们的编码会话既有效率又舒适,特别是对于那些漫长的白天和/或夜晚。

我们已经为你做了大量艰苦的工作,筛选了几十个 VS 代码主题。这里是我们的 18 大 VS 代码主题,帮助你让你的 IDE 看起来很棒,让你长时间编码而不会让你的眼睛过度疲劳。最酷的是,除了 VS 代码本身,安装它们不需要任何额外的系统要求。

当你在细读各种各样的 VS 代码主题时,看看这个最佳 VS 代码扩展的汇编。

GitKraken 风格 VS 代码主题

我们都爱 GitKraken。以美丽的蓝绿色为主要品牌颜色,还有什么不喜欢的呢?但是你能把那种怪怪的感觉带进你的 IDE 吗?答案是“可以!”VS 代码主题市场有一些基于蓝绿色的主题,当你编码时,它们会让你愉快地想起我们的北海巨妖朋友。

一种深青色

如果你正在寻找一个主题,有 GitKraken 标志性的蓝绿色,加上其他保护眼睛的颜色,那么你会喜欢一个深蓝绿色。该主题针对 JavaScript、Python 和 JSON 等语言进行了优化(每个深度有不同的颜色),非常适合那些长时间工作的开发人员,因为它具有恰到好处的文本颜色对比度,不会给眼睛带来太大的压力。

微克

如果你在寻找更多蓝绿色的东西,那么 Gamma 是个不错的选择。这个扩展在工作空间上投射了一种蓝绿色,但不会妨碍你的工作。文本颜色对比看起来仍然很棒,你得到了更多的颜色,但不会冒犯任何不喜欢鲜艳颜色的人。

黑客的最佳与代码主题

深色背景上的绿色文字总是有不同的效果。当你在朋友或非编码人员之间编码时,需要一个完美的主题吗?我们抓住你了。

专业黑客主题

拿一件黑色连帽衫,因为黑色背景上的简单绿色可以帮助你进入你正在寻找的简单黑客氛围。专业黑客主题没有额外的主题或设置,这也是它开始如此简约的原因。

黑客风格主题

黑客风格主题讲黑客但强度较低。这是一个黑客主题,除了所有额外的绿色,但还是给人同样的感觉。IDE 上几乎蒙上了一层薄薄的色调。这个主题效果很好,因为它控制了对比度和文本高亮,而且使用起来并不费力。

夏季最佳对比代码主题

夏日夜晚和白天

对于主要用 C、C++、C#、LUA 编程的人来说,夏夜是你的主题。它有着惊人的好对比度,以及你所需要的语法高亮。这个主题给你的 IDE 带来了大胆的色彩,以确保编码时间是舒适和不费力的。它还提供了一个轻松的主题选择,夏日,同样很棒,也很容易处理。

夏天夜晚

暑假

夏季主题

夏日主题不仅酷,而且还相当被低估。这个主题带有漂亮的橘红色,以完美的方式传递夏日氛围。期待在语法突出中看到橙色和红色的暗示,在它真正深暗的背景上。

秋季最佳对比代码主题

秋季主题

秋天主题带出落叶的氛围,在编码时享受漂亮的文本高亮。主题主要应用于代码工作区,不会延伸到左侧栏。如果你足够努力,你甚至可以闻到一股热苹果酒的味道——或者馅饼!

深色秋霜

更多对比,有人吗?深色秋霜来得更厚更大胆。如果秋季主题没有带来足够的秋季精神,那么这个主题会用橙色和深棕色惊艳你的工作空间。这种大胆完美地带出了文本的颜色对比,这就是为什么这个主题看起来很友好,也很容易使用。

Summer Night

万圣节最佳对比代码主题

对于那些喜欢恐怖季节的人来说,这里有很多选择。我们策划了一些主题,让你的 IDE 少一些诡计,多一些乐趣。

万圣节前夜

凭借其深色背景和壮观的颜色,包括大胆的橙色和紫色,万圣节前夜加上非常适合万圣节,会立即让你想起发光的南瓜灯。

万圣节主题

万圣节主题提到了万圣节,但语气比较轻松。没有万圣节前夜那么厚重和大胆,但也一样好。代码工作区的背景是深灰色的,左侧边栏的颜色更深。我们仍然有橙色,但也有绿色,蓝色和浅灰色的文字突出。

冬季最佳对比代码主题

冬天来了

冬天来了是 VS 代码市场中最受欢迎的冬季主题,这是有充分理由的。它很好地处理了文本和语法突出显示,并以一种凉爽和平静的方式将冬天的蓝色、冰冷的氛围带到了你的工作空间。本赛季公认的冠军。

莫洛凯岛的冬夜

冬天也可以带着色彩到来。如果那是你想要的东西,那么你可能会喜欢莫诺凯冬夜。这个主题应该比最初的莫诺凯之夜主题更亮更蓝。它带有非常深的灰色背景、浅灰色文本、深粉色、绿色、黄色和一些其他颜色来突出语法。对于那些喜欢工作到深夜的开发人员来说,这使得文本的颜色对比既惊人又安全。

深色秋霜

更多对比,有人吗?深色秋霜来得更厚更大胆。如果秋季主题没有带来足够的秋季精神,那么这个主题会用橙色和深棕色惊艳你的工作空间。这种大胆完美地带出了文本的颜色对比,这就是为什么这个主题看起来很友好,也很容易使用。

圣诞节最佳对比代码主题

当你把灯放在你的树上时,不要忘记也可以点亮你的 IDE 工作空间。我们收集了一些圣诞主题,这些主题将使圣诞节的编码更加丰富多彩和有趣。

圣诞主题

圣诞节主题带有橙色、红色的装饰氛围,你不会轻易错过。文本颜色对比度刚好超过默认的深色模式,不会给眼睛带来太多负担。如果你想要一点节日色彩,那么这个主题可能适合你。

“当你在你的 VS 代码环境中有一个圣诞装饰时,没有什么事情看起来太糟糕、太困难或太悲伤”——圣诞主题创作者 Satyam Roy。

圣诞老人宝贝

Atom One Dark (将在本文稍后介绍)迎来圣诞节。有了圣诞老人宝贝,圣诞欢呼就应用到左边栏。你可以在你的代码工作区享受正常的黑暗和丝氨酸主题,同时圣诞节就在你身边。如果你发现彩色文本突出显示会分散注意力,那么这个主题非常好。

史上最受欢迎的 VS 代码主题下载

这些下一个主题有超过一百万的下载量,并且仍然在市场上名列前茅。大多数人在这里安顿下来,忘记尝试其他主题,因为它们在颜色对比和文本突出方面很好。而且因为下载量大,这些主题都有定期发布,而且一直在改进。

原子一暗

说到不断被开发的主题,对于开发者来说,atom one dark 似乎是一个首选主题。下载量超过 300 万,很容易看出它为什么如此受欢迎。乍一看,它可能与你看到的其他黑暗主题没有太大的不同,但惊人的语法突出击败了很多其他主题。无论你是白天还是晚上工作,文字的颜色都是可见的,对眼睛来说也是足够舒适的。如果你正在寻找一个黑暗的主题,那么这个可能正适合你。

一个黑暗职业

我们不能谈论市场上流行的黑暗主题而不提到一个黑暗职业。这是一个容易的最爱,原因有很多。它有一个默认的主题,以及很多你可能喜欢的其他附加元素,比如深色、复古、Gnome 等等。这个主题也给你调整颜色、字体大小和字体系列的选项,以适应你的喜好。如果你正在寻找一个可以坚持的主题,那么 One Dark Pro 是一个不错的选择,因为它正在被积极地维护和改进,以更好地适应开发者。

原子一光

肯定有开发人员仍然使用轻模式。Atom one light 由同一位创造者创造,作为 Atom One Dark 的光替代品,是一个非常好的开关。光线会吸引虫子(但愿这个主题不会),但有了完美的文字颜色对比,就一点也不难看出为什么它还被如此广泛地使用。

奖励主题:休斯顿

《休斯顿》在《阿童木》发行后没几天就成了个人最爱。它很新很酷,他们在左侧栏添加的名为休斯顿的小吉祥物只是让尝试变得更有趣。休斯顿主题主要采用霓虹、紫色和浅蓝色来突出文本,这些颜色在深色背景下效果很好,使其工作起来舒适而舒缓。从 gif 中,你可以看到当我在代码中引入错误时,休斯顿的表情发生了变化。虽然有些人可能会觉得这分散了注意力,但当语法得到纠正时,看到休斯顿的脸变得容光焕发真的很可爱。如果你想尝试新的东西,那就去休斯顿吧。

冬天也可以带着色彩到来。如果那是你想要的东西,那么你可能会喜欢莫诺凯冬夜。这个主题应该比最初的莫诺凯之夜主题更亮更蓝。它带有非常深的灰色背景、浅灰色文本、深粉色、绿色、黄色和一些其他颜色来突出语法。对于那些喜欢工作到深夜的开发人员来说,这使得文本的颜色对比既惊人又安全。

用 VS 代码主题让你的编码会话看起来更好

我们已经看到了一些主题,它们可以帮助你提升你的 IDE,同时,帮助你在季节变换时保持有序。我们希望这些主题证明对您有用,并帮助您使您的编码会议变得有趣和舒适。如果你想超越这篇文章,看看其他有趣的、对眼睛友好的主题,你可以随时查看 VS 代码 marketplace 来开始。

当你把灯放在你的树上时,不要忘记也可以点亮你的 IDE 工作空间。我们收集了一些圣诞主题,这些主题将使圣诞节的编码更加丰富多彩和有趣。

圣诞主题

圣诞节主题带有橙色、红色的装饰氛围,你不会轻易错过。文本颜色对比度刚好超过默认的深色模式,不会给眼睛带来太多负担。如果你想要一点节日色彩,那么这个主题可能适合你。

“当你在你的 VS 代码环境中有一个圣诞装饰时,没有什么事情看起来太糟糕、太困难或太悲伤”——圣诞主题创作者 Satyam Roy。

圣诞老人宝贝

Atom One Dark (将在本文稍后介绍)迎来圣诞节。有了圣诞老人宝贝,圣诞欢呼就应用到左边栏。你可以在你的代码工作区享受正常的黑暗和丝氨酸主题,同时圣诞节就在你身边。如果你发现彩色文本突出显示会分散注意力,那么这个主题非常好。

Santa Baby

史上最受欢迎的 VS 代码主题下载

这些下一个主题有超过一百万的下载量,并且仍然在市场上名列前茅。大多数人在这里安顿下来,忘记尝试其他主题,因为它们在颜色对比和文本突出方面很好。而且因为下载量大,这些主题都有定期发布,而且一直在改进。

原子一暗

说到不断被开发的主题,对于开发者来说,atom one dark 似乎是一个首选主题。下载量超过 300 万,很容易看出它为什么如此受欢迎。乍一看,它可能与你看到的其他黑暗主题没有太大的不同,但惊人的语法突出击败了很多其他主题。无论你是白天还是晚上工作,文字的颜色都是可见的,对眼睛来说也是足够舒适的。如果你正在寻找一个黑暗的主题,那么这个可能正适合你。

一个黑暗职业

我们不能谈论市场上流行的黑暗主题而不提到一个黑暗职业。这是一个容易的最爱,原因有很多。它有一个默认的主题,以及很多你可能喜欢的其他附加元素,比如深色、复古、Gnome 等等。这个主题也给你调整颜色、字体大小和字体系列的选项,以适应你的喜好。如果你正在寻找一个可以坚持的主题,那么 One Dark Pro 是一个不错的选择,因为它正在被积极地维护和改进,以更好地适应开发者。

原子一光

肯定有开发人员仍然使用轻模式。Atom one light 由同一位创造者创造,作为 Atom One Dark 的光替代品,是一个非常好的开关。光线会吸引虫子(但愿这个主题不会),但有了完美的文字颜色对比,就一点也不难看出为什么它还被如此广泛地使用。

奖励主题:休斯顿

《休斯顿》在《阿童木》发行后没几天就成了个人最爱。它很新很酷,他们在左边栏添加的名为休斯顿的小吉祥物只是让尝试变得更有趣。休斯顿主题主要采用霓虹、紫色和浅蓝色来突出文本,这些颜色在深色背景下效果很好,使其工作起来舒适而舒缓。从 gif 中,你可以看到当我在代码中引入错误时,休斯顿的表情发生了变化。虽然有些人可能会觉得这分散了注意力,但当语法得到纠正时,看到休斯顿的脸变得容光焕发真的很可爱。如果你想尝试新的东西,那就去休斯顿吧。

One Dark Pro

We can’t talk about popular dark themes on the marketplace without mentioning one dark pro. This is an easy favorite for numerous reasons. It comes with a default theme, as well as plenty of other side additions such as Darker, Retro, Gnome, etc that you may like. This theme also gives you the option of tweaking color, font size, and font family to suit your preferences. If you’re looking for a theme to stick to, One Dark Pro is a good choice, as it is actively being maintained and improved upon to better suit developers.

用 VS 代码主题让你的编码会话看起来更好

我们已经看到了一些主题,它们可以帮助你提升你的 IDE,同时,帮助你在季节变换时保持有序。我们希望这些主题证明对您有用,并帮助您使您的编码会议变得有趣和舒适。如果你想超越这篇文章,看看其他有趣的、对眼睛友好的主题,你可以随时查看 VS 代码 marketplace 来开始。

Atom One Light

Surely there are developers who still use light mode. Atom one light was created as a light alternative to Atom One Dark by the same creator and is a very good switch. Light attracts bugs (let’s hope this theme doesn’t), but with the perfect text color contrast, it’s not hard at all to see why it is still so widely used.

Bonus Theme: Houston

Houston became a personal favorite only a few days after it was released by Astro. It’s new and cool, and the little mascot called Houston that they added on the left sidebar only made it more fun to try out. The Houston theme comes with mostly neon, purple, and light blue colors for text highlighting, and these colors work well on the dark background to make it comfortable and soothing to work with. From the gif, you can see that Houston’s expression changes as I introduce errors into my code. While some might find that distracting, it’s really cute to see Houston’s face light up as the syntax gets corrected. If you’re looking to try something new, then go check out Houston.

Make Your Coding Sessions Look Better with VS Code Themes

We’ve seen a few themes that can help you level up your IDE, and at the same time, help you get in order as seasons change. We hope that these themes prove to be useful to you, and help you make your coding sessions fun and comfortable to work with. If you would like to go beyond this article and check out other fun, eye-friendly themes, you can always check out the VS Code marketplace to get started.

吉拉比特桶集成|比特桶+吉拉使用技巧

原文:https://www.gitkraken.com/jira-integrations/bitbucket-2

吉拉被开发人员用作项目管理工具来跟踪和区分工作项目的优先级,而 Bitbucket 被用作 Git 存储库管理解决方案来存储和管理源代码。通过集成这两个工具,开发人员可以从在一个地方跟踪代码更改和任务的能力中受益,从而改进他们的工作流和团队内部的协作。

将 Bitbucket 和吉拉无缝集成的最佳方式之一是与 GitKraken 开发的顶级 Atlassian marketplace 应用程序吉拉的 Git 集成。通过这种集成,开发人员可以专注于他们的核心职责,而不必经常在工具之间切换,并且项目经理可以获得对关键项目状态的额外洞察力。

在本文中,我们将讨论以下与将 Bitbucket 与吉拉集成相关的主题:

吉拉 Bitbucket 整合的好处

用吉拉连接比特桶

将 Bitbucket 与吉拉问题链接

在吉拉创建 Bitbucket 分支机构

在吉拉创建位桶拉取请求

吉拉 Bitbucket Webhooks

吉拉 Bitbucket 集成优势

通过针对吉拉的 Git 集成来集成 Bitbucket 和吉拉,为开发人员和项目经理提供了各自的优势。

开发人员的主要优势

消除上下文切换:集成 Bitbucket 和吉拉允许开发人员在一个中心位置跟踪代码变更和工作项目,消除了在不同工具之间切换的需要,并改善了他们的工作流程。

  1. 改进的协作:通过将这两种工具结合在一起,开发人员可以更容易地共享代码并与其团队合作,促进更好的交流和协作。

  2. 改进的协作:通过将这两种工具结合在一起,开发人员可以更容易地共享代码并与其团队合作,促进更好的交流和协作。

项目和产品经理的主要优势

提高关键项目状态的可见性:集成 Bitbucket 和吉拉为项目经理提供了每个项目状态的集中视图,使他们能够做出更明智的决策,更有效地跟踪进度。

  1. 更准确地项目交付时间和设置准确的截止日期:通过集成 Bitbucket 和吉拉,项目经理可以访问关于代码更改和工作项目状态的实时信息,这有助于他们更准确地估计交付时间和设置准确的截止日期。

  2. 将 Bitbucket 与吉拉连接

我们建议专门为集成创建一个 Bitbucket 用户。这样,Bitbucket 用户可以定义权限来执行给定的任务。确保该用户有权访问您希望与吉拉集成的存储库。

要继续您的 Bitbucket 吉拉集成,您需要从 Atlassian marketplace 安装用于吉拉的 Git 集成。像所有的 Atlassian marketplace 应用程序一样,你需要一个吉拉管理员来安装应用程序。一旦安装了 Git Integration for 吉拉,就可以开始将您的 Bitbucket 存储库与相关的吉拉项目连接起来。

在吉拉的顶部导航栏中,选择Apps,然后选择Git Integration: Manage integrations

选择右上方的Add Integration按钮

  1. 从选择 Git 托管服务页面,选择Bitbucket.org用于云
  2. 选择Bitbucket OAuth集成类型,点击Connect Bitbucket
  3. 您可以通过展开工作区来连接所有存储库或选择单个存储库
  4. 选择Bitbucket OAuth集成类型,点击Connect Bitbucket
  5. 在这一点上,该应用程序将索引您的存储库,并使它们可以在吉拉查看。

将 Bitbucket 与吉拉问题联系起来

要在 Git 提交和吉拉问题之间建立联系,开发人员必须在其提交消息中包含吉拉问题密钥。

Git 提交消息示例:GIT-4322 – Updated the plugin

要在 Git 提交和吉拉问题之间建立联系,开发人员必须在其提交消息中包含吉拉问题密钥。

在上面的例子中,GIT-4322是将提交消息链接到吉拉问题的吉拉问题密钥。只有当主分支没有提交时,才包含属于非主分支的提交。

专业提示:在处理子任务时,将父任务和子任务吉拉发布键放在提交消息中,以便提交在两个地方都显示。这样,子任务的提交就不会在父问题的多次提交中丢失。

在上面的例子中,GIT-4322是将提交消息链接到吉拉问题的吉拉问题密钥。只有当主分支没有提交时,才包含属于非主分支的提交。

在吉拉创建 Bitbucket 分支

在您的吉拉云实例上,打开一个吉拉问题。在吉拉 Git 集成开发面板上,点击Open Git integration,然后点击Create branch。这将打开一个对话框,可以在其中创建分支。

从列表中选择一个存储库。

下拉列表中显示了所有存储库的 git 主机服务徽标,以便于识别它们属于哪个 Git 服务

  1. 如果有几个存储库具有相同的名称,则列出的位存储库的名称将附加所有者名称。例如,johnsmith/second-webhook-test-repo
    • 使用下拉列表中的搜索框过滤显示的存储库
    • *可选-将存储库指定为当前吉拉项目的默认选定存储库
    • 选择源分支。
    • *可选-将分支指定为当前选定存储库的默认选定分支。
  2. 输入分支名称或保持不变(推荐)。
    • 点击Create branch完成该过程。
  3. 输入分支名称或保持不变(推荐)。
  4. 新创建的分支现在与“分支”下的“发展”面板中列出的吉拉问题相关联。对新创建的分支执行 commit,为合并做好准备。

在吉拉创建位存储桶提取请求

要从吉拉问题创建拉式请求,请打开所需的吉拉问题,点击Open Git integration,然后点击Create pull request。这将打开一个对话框,可以在其中提出合并请求。

从列表中选择一个存储库。

下拉列表中显示了所有存储库的 Git 主机服务徽标,以便于识别它们属于哪个 Git 服务

  1. 如果有几个存储库具有相同的名称,则列出的位桶存储库的名称将附加一个位桶组名称。例如,BigBrassBand/second-webhook-test-repo
    • 使用下拉列表中的搜索框过滤显示的存储库
    • *可选-将存储库指定为当前吉拉项目的默认选定存储库。
    • 选择新创建的分支作为源分支。
    • *可选-将分支指定为当前选定存储库的默认选定分支
  2. 将 main 设置为Target branch
    • 输入描述性标题或保持不变(推荐)
  3. 点击Create pull request完成该过程。请点击请购单链接进行审批
  4. 输入描述性标题或保持不变(推荐)
  5. 即使 PR 标题没有吉拉问题密钥,只要分支机构名称包含吉拉问题密钥,拉式请求仍然基于分支机构名称进行索引。预览允许您查看所选源分支与目标分支(通常是主分支)中当前变更的比较视图。

吉拉比特水桶网钩

默认情况下,存储库会按固定的时间间隔重新编制索引。如果您希望吉拉实时反映位桶更新,您必须设置 Webhooks。要将 webhooks 添加到您连接的 Bitbucket 存储库中,请完成以下步骤。

在吉拉,从顶部导航栏中选择Apps,然后选择Indexing triggers

选择Enable Indexing triggers

转到左侧面板上的Manage integrations

选择要添加 webhooks 的位存储桶集成

在左侧,选择Feature Settings

  1. 复制索引触发器下的 URL
  2. 选择Enable Indexing triggers
  3. 接下来,我们需要转到 Bitbucket 来完成集成。
  4. 在 Bitbucket 中,从您的项目中选择Settings,然后选择Webhooks
  5. 粘贴您之前复制的 URL
  6. 在触发下,选择Push eventsPull request eventsEnable SSL verification

选择Add webhook

您的 webhook 现已创建。与吉拉问题相关联的提交、分支和合并请求现在将在吉拉问题中实时可见。

  1. 在 Bitbucket 中,从您的项目中选择Settings,然后选择Webhooks

  2. 在触发下,选择Push eventsPull request eventsEnable SSL verification

  3. 今天整合吉拉和比特桶

集成吉拉和 Bitbucket 可以让开发者在更短的时间内完成更多的工作。通过将所有开发信息放在一个系统中,开发人员可以快速访问高效完成任务所需的数据。

当你节省了这么多时间,问题就变成了,你打算用这些额外的时间做什么?以下是我们的一些建议:

献身于最终击败你的朋友在超级粉碎兄弟

学习另一个 Javascript 框架

做个人项目

检查r/程序幽默

集成吉拉和 Bitbucket 可以让开发者在更短的时间内完成更多的工作。通过将所有开发信息放在一个系统中,开发人员可以快速访问高效完成任务所需的数据。

不管你选择如何来打发这段新的时间,我们都祝你好运,并祝你编码愉快。想要将吉拉与您的其他回购托管服务整合吗?看看这些相关的分步指南:

不管你选择如何来打发这段新的时间,我们都祝你好运,并祝你编码愉快。想要将吉拉与您的其他回购托管服务整合吗?看看这些相关的分步指南:

整合 JIRA 和 GITHUB

整合 JIRA 和 GITLAB

整合 JIRA 和 AZURE DEVOPS

Git 分支-如何分支|学习 Git

原文:https://www.gitkraken.com/learn/git/branch

在 Git 中,关于分支有一些常见的误解。例如,有些人假设一个分支是一组提交,或者一个分支必须在 Git 图中分叉。

事实上,分支只是一个指向特定提交的指针。

分支指针随着您所做的每个新的提交而移动,并且仅当在公共祖先提交上进行提交时才在图中分叉。

与其他版本控制系统相比,Git 提供的分支模型是轻量级的,有助于保护您不将不稳定的代码合并到主代码库中,并让您有机会在合并到主分支之前清理您的历史。


如何创建一个 Git 分支?

在 Git 中创建新的分支既快又简单。

您可以从提交历史中的任何提交创建 Git 分支;如果您想要从项目中的上一点开始进行更改,这可能非常有用。

如果您想使用终端创建一个 Git 分支,您将使用git branch命令,后跟您想要的分支名称。这将在您当前签出的引用上创建一个 Git 分支。

了解更多关于如何在 Git 中创建分支,包括如何使用一个命令同时创建和签出您的新分支。

如何重命名 Git 分支?

您可以随时轻松地重命名 Git 分支。

要使用终端在本地重命名 Git 分支,您将使用git branch -m后跟所需的新分支名称。

但是,如果您试图重命名已经推送到远程的分支,您将需要将新分支推送到远程,并使用带有-u(或--set-upstream)选项的git push命令更新上游。

参见分步如何重命名 Git 分支,包括如何重命名您没有签出的本地 Git 分支。

如何删除 Git 分支?

如果您决定不再需要它,可以删除一个 Git 分支来清理您的存储库。

要使用终端删除 Git 分支,您需要使用git branch -d命令以及您想要删除的本地分支的名称。了解更多关于如何在本地删除 Git 分支的信息。

要删除 Git 中的远程分支,您实际上要使用git push命令。了解更多关于如何在 Git 中删除远程分支的信息。

如何切换 Git 分支?

随着 Git 存储库中分支数量的增长,很可能会有一天,您将同时处理多个任务,并且需要能够从一个分支转移到另一个分支。

为了切换到 Git 中的另一个分支,您必须使用git checkout命令来签出该分支。

用 GitKraken 在 Git 中分支

现在,让我们回顾一下当您使用豪华的 GitKraken Git 客户端来可视化您的存储库时,分支是如何工作的。

当您有了历史的可视化表示时,理解 Git 中分支的基础就容易多了。

在这个例子中,我们使用了两个 Git 分支:devproduction;为了开始一个新特性的工作,我们需要从dev分支的最近提交中创建一个特性分支。

如何用 GitKraken 创建 Git 分支?

要使用 GitKraken 创建 Git 分支,右键单击目标 commit 并从菜单中选择Create branch here

如何用 GitKraken 重命名 Git 分支?

要使用 GitKraken 重命名 Git 分支,只需右键单击分支名称并选择Rename [branch name]

如何用 GitKraken 删除 Git 分支?

要删除 GitKraken 中的 Git 分支,在图中右键单击分支名称并选择Delete [branch name]

准备好用更简单的方法在 Git 中进行分支了吗?

GitKraken Git 客户端通过其图形用户界面使 Git 更快、更直观。

软件开发人员的 10 大 Bug 奖励计划

原文:https://www.gitkraken.com/blog/bug-bounty-programs

软件公司设立的 Bug bounty 计划,激励白帽黑客、开发人员和工程师识别和报告特定软件中的 Bug。许多大型科技公司如谷歌、微软、脸书、Atlassian 和其他公司运行这些程序来确保他们的代码是安全的。如果开发人员设法识别并报告了一个值得注意的漏洞,他们通常有权获得补偿,补偿金额取决于漏洞奖励计划和您发现的漏洞的大小。

在你开始在网络空间中搜寻要报告的 bug 之前,你首先需要知道哪个 bug 赏金程序符合你的专长和期望。

每个臭虫猎人都需要最好的工具来找到他们的赏金。GitKraken Client 提供了增强的可见性,因此您可以确切地看到您的代码库中发生了什么,bug 等等。🪲

如何找到 Bug 赏金程序

如果你正在寻找适合你的虫子奖励计划,知道你想从中得到什么是很重要的。你是想追求尽可能高的现金回报,还是想找到一个能给慈善机构捐款的项目?这些都是你在选择最好的虫子奖励计划时需要考虑的问题。除了在搜索引擎中输入一家公司的名字,看看他们是否有一个 bug bounty 程序,你还可以搜索 HackerOneBugcrowd 。这些网站上有各种各样的 bug bounty 程序,并且在公开展示信息方面做得很好,比如平均支付额、你能多快得到公司的回应等等。这些网站提供了数以千计的 bug 奖励程序的信息,因此不缺少要审计的代码或要查找的 bug。

本文根据以下标准评估了十大 bug 奖励计划:支出、所需经验和近期历史。我们还将提供该计划范围的简要概述,并提供该计划的链接,以便您可以开始使用。

苹果:关键缺陷报告的最佳回报

谷歌:最适合高级虫子赏金猎人

微软:最佳平均奖金支出

脸书:最佳社区

英特尔:最佳推广机会

GitHub:最适合初学捕虫的人

Atlassian:最适合中级臭虫猎人

美国国防部:最有吹牛的权利

优步:小错误报告的最佳选择

Snapchat:持续奖金支付的最佳选择

1.苹果 Bug 奖励计划:关键 Bug 报告的最佳奖励

支付:小错误:5000 美元|严重错误:25000-250000 美元以上

历练等级:中级-高级

近期历史:2020 年提交的合格漏洞奖励 370 万美元

苹果臭虫奖励计划有一些严肃的现金奖励。也就是说,这个项目的过去参与者对他们收到的支付表示不满,他们认为有资格获得更大的补偿。然而,最近几年,苹果对这种批评做出了非常好的回应,并且承诺为合格的提交提供顶级奖励

如果你选择尝试苹果 bug bounty 项目,我们建议你确保这个 bug 是可复制的,并在你的初始报告中说明你认为这个 bug 有资格获得多少补偿。

2.谷歌 Bug 赏金计划:最适合高级 Bug 猎人

支出:小 Bug: $500 |关键 Bug:未设置

历练等级:中级-高级

近期历史:2021 年有 696 份合格的申请,获得 870 万美元奖金

谷歌的漏洞奖励计划竞争激烈,他们为哪些漏洞有资格获得赔偿设置了高标准。也就是说,谷歌的项目对严重错误没有支付限额。该计划的范围主要包括 google.com 域、youtube.com 域以及计划文档中确定的一些较小的域。

谷歌 bug bounty 计划的最高奖励是提供给开发人员的,这些开发人员发现了可能让坏人直接访问谷歌服务器的漏洞,所以如果你想“抓住大漏洞”,这是一个好的开始。

3.微软 Bug 赏金计划:最佳平均赏金

支付: $5,000-$250,000 |平均:$12,000

历练等级:进阶

近期历史:【1370 万美元奖励 2021 年提交的合格漏洞

微软 bug 赏金计划的范围仅限于其在线平台,不适合胆小的人。你会发现一些最优秀的虫子赏金猎人参与了这个项目,因为它有 250,000 美元的最高奖金。众所周知,微软会慷慨地补偿漏洞发现者,并坚持不懈地投资这个项目。

提交合格报告的开发者可以选择将其收入捐赠给慈善机构。如果你选择这个选项,微软将把奖金翻倍,这对一些人来说是一个有吸引力的激励。

4.脸书昆虫赏金计划:最佳社区

支出:小 Bug: $500 |关键 Bug:未设置

历练等级:初级-高级

近期历史:2020 年提交合格漏洞奖励 198 万美元| 2021 年 800 份合格漏洞报告

脸书的漏洞奖励计划与它的核心基础设施紧密结合。这意味着所有与该计划相关的信息,包括规则、范围和支付信息,只能在脸书平台上找到。一些开发人员发现浏览脸书的网站来收集这些信息很麻烦,但是如果你对这个平台足够熟悉,这并不太复杂。

脸书的虫子赏金信息托管在这个平台上的一个主要好处是,它很容易与定期做出贡献的虫子猎人社区联系。

5.英特尔臭虫奖励计划:最佳推广机会

赔付:小型缺陷:500-2000 美元|严重缺陷:10000-100000 美元

历练等级:中级-高级

最近历史:2021 年提交的 97 个合格漏洞

英特尔的 bug 赏金计划不仅为发现合格问题的 bug 猎人提供丰厚的奖金,还邀请提交前 10 名最关键提交材料的参与者在 iSecCon 上发言。开发人员在英特尔发现一个“大 bug”所获得的知名度足以吸引一些最有经验的 bug 猎人。

6.GitHub Bug 赏金计划:最适合新手 Bug 猎人

支出:小故障:617 美元至 2000 美元|严重故障:20000 美元至 30000 美元+ |平均:3420 美元

历练等级:初级-高级

近期历史:2021 年提交的 1363 个合格漏洞中的 235 个

GitHub 的 bug 奖励计划包括一个排行榜,展示了识别出最多 bug 的参与者。除了规则中详细说明的少数例外,所有 github.com 域都在此计划的范围之内。

这个 bug bounty 程序正逐年流行起来。事实上,在 2021 年,GitHub 的 bug bounty 计划的首次报告者增加了 18%。GitHub 的 bug bounty 程序对任何经验水平的开发者都很棒。许多第一次寻找 bug 的人选择从这个项目开始,因为它有公平的回报、社区参与和明确定义的范围。

7.亚特拉斯虫赏金计划:最适合中级虫猎人

支付:小错误:200-1000 美元|严重错误:5000-10000 美元+ |平均:914.87 美元

历练等级:中级

近期历史:2022 年每月提交 5-10 个合格漏洞

如果你熟悉并使用 Atlassian 的产品,你可能想考虑一下 Atlassian bug bounty 计划。值得注意的是,Atlassian 正在寻找与数据泄漏、SQL 注入、外部攻击、路径遍历问题等相关的漏洞。从本质上讲,Atlassian 的 bug bounty 程序并不是提出功能请求或提交工具不能按预期工作的报告的地方。

Atlassian 的 bug bounty 计划是通过 Bugcrowd 运行的,它的主页上有一个“名人堂”列表,最近 90 天的平均支出,你报告的 bug 多快可以得到回复,以及更多信息。平均支出近 1000 美元,对于一个更有经验的 bug 猎人来说,这是一个诱人的程序。

8.美国国防部昆虫赏金计划:最值得夸耀的权利

付款: $500-$5,000

历练等级:进阶

近期历史: 在 2022 年 7 月 4 日至 2022 年 7 月 11 日期间,提交了 1015 份报告,其中 401 份是合格漏洞

国防部定期举办昆虫奖励计划。预先警告,一年中只有特定的时间会为这个项目提供金钱奖励,所以在提交 bug 之前,请确保您彻底查看了网站和规则。尽管如此,许多开发人员为这个项目做出了贡献,却没有考虑报酬。想想吹牛的权利;你能想象如果你能说:“我让政府免于暴露机密信息”

如果你参加了国防部的臭虫奖励计划,同时还提供了现金奖励,你会希望在资格赛开始时就开始寻找臭虫。该计划的预算有限,一旦预算用完,他们就停止向人们支付工资,即使他们原本有资格获得补偿。

美国国防部漏洞披露计划

9.优步 Bug 赏金计划:最适合小型 Bug 报告

支出:小错误:100-1000 美元|严重错误:3500-50000 美元|平均:625 美元

历练等级:初级-高级

近期历史: 平均每年提交 600 个 bug

优步漏洞奖励计划专注于保护客户和员工的数据。通过 Hackerone 运行,这个程序并不以高回报而闻名,但它以公平补偿小错误报告而闻名。自从这个项目开始以来,已经解决了近 2,000 个错误,许多人发现这是一个好项目,可以从中获得频繁的小额奖励。

10.Snapchat Bug Bounty 计划:持续支付的最佳选择

支出:小错误:500-4000 美元|严重错误:15000-35000 美元|平均:250 美元

经验等级:初级-中级

近期历史:2021 年 4 月-2022 年 4 月提交的 52 个合格漏洞

Snapchat 的 bug bounty 计划的平均支出不如本文中涉及的其他一些计划全面,但在取消该计划之前,有一个关键因素需要考虑。

在提交的漏洞中,近 90%符合赔偿条件。因此,虽然这个程序肯定不会因为一个错误报告而让你变得富有,但对于初学者或中级错误猎人来说,这是一个极好的选择。

臭虫奖励计划常见问题

问:什么是虫子赏金?

答:Bug bounty 是指奖励识别并向参与公司报告 Bug 的个人,通常是现金或现金等价物。

答:Bug bounty 是指奖励识别并向参与公司报告 Bug 的个人,通常是现金或现金等价物。

问:怎样才能成为一名虫子赏金猎人?

答:bug 赏金猎人就是搜索代码漏洞的人。要开始为您的 bug 发现工作获得报酬,您必须遵循参与公司制定的特定 bug 奖励计划规则。

快乐的捕虫🪲

现在,您已经掌握了面向开发人员的 10 大 bug 奖励计划的知识,是时候确定最符合您要求的计划了。在您能够识别合格的漏洞之前,可能需要一些时间,但是不要放弃。到处都有潜伏在代码库中的 bug,他们服务的公司和客户都指望像你这样的开发人员来识别并消灭它们。猎虫快乐!

如果你需要一些传奇的 Git 工具来捕捉你的 bug,看看 GitKraken 就知道了:看看 GitKraken 客户端、VS 代码的 GitLens 以及吉拉Git 集成。

现在,您已经掌握了面向开发人员的 10 大 bug 奖励计划的知识,是时候确定最符合您要求的计划了。在您能够识别合格的漏洞之前,可能需要一些时间,但是不要放弃。到处都有潜伏在代码库中的 bug,他们服务的公司和客户都指望像你这样的开发人员来识别并消灭它们。猎虫快乐!

如果你需要一些传奇的 Git 工具来捕捉你的 bug,看看 GitKraken 就知道了:看看 GitKraken 客户端、VS 代码的 GitLens 以及吉拉Git 集成。

为 VS 代码构建 git lens | Eric Amodio

原文:https://www.gitkraken.com/gitkon/building-gitlens-vs-code

https://www.youtube.com/embed/GAmZgzqJKgY?feature=oembed

视频

您准备好增强 Visual Studio 代码的 Git 功能了吗?无缝导航 Git repos,让代码作者一目了然。

Install GitLens Free

在 2021 GitKon Git conference 上,Eric Amodio 分享了他构建 GitLens 的旅程,Git lens 是一款 VS 代码应用,全球有超过 1000 万开发者使用。

很久以前,Eric 在一家公司工作,为 web 开发构建所见即所得的应用程序。虽然他有一些版本控制的经验,使用过像微软 Visual SourceSafeApache Subversion、【SVN】Borland 的 StarTeam 这样的工具,但是他加入的团队没有在他们的项目中使用过源代码控制。相反,他们只是手动共享文件。

随着埃里克的加入,他推动他们采用 SVN,这是他们的斗争。与此同时,Git 刚刚出道,开始成为一个成熟的玩家。随着时间的推移,他和他的团队研究了很多分布式配置管理工具,但是当他们比较了 Git 和 SVN 的时候,他们发现 Git 成为了事实上的领导者。Git 是开源的,并且有一个很好的社区围绕着它,这一事实促使他们从 SVN 迁移到 T2 的 Git T3。虽然有很高的学习曲线,但是 Git 的强大和多功能性让他们很高兴采用了它。

遇到 VS 代码

Eric 最初是一名开发人员,在学校学习汇编语言,这让他对编程失去了兴趣。然后,他发现了微软 Visual Basic 并坠入爱河。他觉得自己有能力迅速将事情变成现实,将伟大的想法变成现实。

从那里,他继续前进。NET,看着ide,像 Visual Studio 越来越重,越来越大。在涉猎了 Sublime Text 和其他 ide 之后,VS Code 首映;埃里克认为它很美。VS 代码部分的开放性意味着他可以打开开发工具并调整内部。

在早期,Eric 发现了 VS 代码的一些文件共享方面的问题。他能够自己调试问题,并给 VS 代码团队发了一封电子邮件,附上他的补丁。就在第二天,他的补丁出现在了 VS 代码发布中,这是他与 VS 代码社区合作的第一次正面体验。

不久之后,VS 代码完全开源并引入了扩展模型。这是 Eric 最感兴趣的地方,因为不必改变整个应用程序来做你想做的事情,比如使用 TypeScript,你可以逐渐地添加东西。基本上,代码会在你所在的地方遇到你。

【GitLens 的创意

Visual Studio 有一个名为 CodeLens 的系统,它在 IDE 中的代码上方给出很少的注释。这些注释描述了代码和其他各种元数据的作者。VS Code 公开了 CodeLens API,给了 Eric 尝试各种可能用例的机会。他的第一个想法是看看是否可以从 Git 获得信息,并在 VS 代码中显示。这就是 GitLens 如何开始的,只是玩玩 Git 和 VS 代码,看看什么是可能的。

GitLens 的口号是:“GitLens 增强了 Visual Studio 代码中内置的 Git 功能。”VS 代码有自己内置的 Git 提供程序,支持查看和提交您的更改。您还可以创建、查看和切换分支,但是总的来说,在执行 Git 操作时,VS 代码相当有限。

Eric 想在 VS 代码中直接公开一个文件的 Git 历史。对于许多开发人员来说,行内代码注释基本上是不存在的。开发人员很少在代码库中添加对他们工作的解释来解释他们的选择和工作。它让合作者猜测为什么做出某些选择,以及某些代码行做了什么。然而,这些开发人员经常会留下像样的 Git 提交消息。回溯历史,看看事情是如何演变成现在这个样子的能力是非常强大的。如果您不知道事情是如何或为什么发展到某一点的,那么错误和问题的风险就会增加。

更好地理解您的代码。GitLens 提供了 VS 代码中遗漏的 Git 回复的可视化。

Install GitLens Free

这种历史资料传统上是很难挖掘出来的。Eric 希望释放 Git 存储库内部的能量,并获得这些有用的信息,将其带到最前沿。这是 GitLens 的主要目标。为了使可视化您的 Git 库变得非常容易,无缝地导航您的项目历史,并且能够更容易地定位诸如特定提交之类的事情。Eric 真的想帮助开发人员理解为什么事情会变成现在这样,以及它们是如何随着时间的推移而改变的。

这一切都始于一个简单的问题:有人可以通过 CodeLens 对任何文档进行洞察吗?例如,是否有人可以打开一个文件,查看谁修改了文件,并准确显示出发生了什么变化,以及为什么发生了变化?Eric 认为,如果 API 允许他在一行代码周围公开 Git 提交消息,那么 GitLens 就可以真正赋予开发人员权力。例如,如果您正在调试您的应用程序,并且看到一个两年都没有改变的函数,这就给了您一个线索,也许这不是寻找新出现的问题的原因的地方。但是如果一个函数昨天发生了变化,也许那是开始调试新问题的正确地方。

GitLens 和解决问题

因为您通过 VS 代码与 GitLens 交互,所以您不必从编辑代码切换到与 Git 存储库交互。所呈现的信息与您正在处理的代码行是上下文相关的。无论你的光标在屏幕上的哪个位置,都会显示谁最后修改了选中的行,同时显示该行的 Git Diff ,并显示它是多久前被修改的。

所有相关的历史信息都在 VS 代码中,这意味着您不必去寻找它们。它很大程度上是不引人注目的,留在后台,直到你真的想要它。当你真的需要它的时候,它很容易浮出水面,在你所在的地方与你相遇,把你的历史的上下文视图带到你正在工作的文件中的代码。Eric 还想构建一个更丰富的客户端来洞察整个存储库,让你能够看到自己的分支,并深入到任何一个 Git 分支中,查看变化。他希望能够实时查看更改并比较提交,将众多更改浓缩起来,只查看分支中发生更改的文件集。这让您可以快速查看和检查随着时间的推移发生了什么变化。

GitLens 为 VS 代码添加了强大的功能,允许您比较存储库中的任意两点,而无需切换上下文。

GitLens 和 Git 合并冲突

Eric 的动机是让 Git 合并冲突更容易解决。虽然 VS 代码确实为合并冲突提供了一些帮助,但是还可以做得更多。目前,在冲突的情况下,无论是来自合并还是重置,都没有足够的默认上下文。GitLens 为每个文件提供了信息,让你在发生 Git 合并之前很容易看到不同之处。它可以很容易地看到提议的更改,只需拉进解决给定问题的个别行。

如果您现在需要帮助解决合并冲突,GitKraken 可以通过有用的可视化上下文帮助您完成解决过程。更不用说:如果你和一个团队成员同时处理同一个文件,GitKraken 会提醒你潜在的合并冲突。🤯

git lens 的未来

GitLens 的未来是让 Git 的难用但强大的特性更容易使用,比如合并冲突解决和查看分支之间的差异。GitLens 能够可视化这些特性,但是只能在树形视图中,与你已经在看的地方分开。试图将两种不同的观点联系起来可能会导致一点认知上的不协调,所以 Eric 的目标是将这些观点拉近,以进一步减少上下文切换。

GitLens 有一些按钮,可以让你浏览一个回购的历史,并查看以前的提交。但是,如果您不确定到底要搜索哪个提交或特定的代码行,这可能会令人困惑。在未来,Eric 希望 GitLens 展示一些比之前的提交更有意义的东西。这可能包括像时间线这样的东西,在那里你可以看到对文件进行某些更改的时间点的“大气泡”。理想情况下,这将让你快速识别并在最感兴趣的点之间跳转。

GitLens 也在努力整合工作树。这目前是 Git 的一个迟钝的特性,但是在适当的情况下,可能非常有价值。如果 GitLens 可以提供多种视图,并在它们之间无缝切换,那么当你想同时处理多件事情时,你可以隐藏你的更改并切换分支。

这对开发人员来说是一个难题,他们需要暂停,然后隐藏或重置他们当前的工作,去修复一个 bug 或其他出现的问题。

GitLens 功能更多人应该利用

在 GitLens 中,比较非常重要,但在 Eric 看来,这一点没有得到充分利用。能够看到不同分支或不同时间点之间的比较,并快速查看任何一组变更是非常强大的。

当查看 Git pull 请求时,您可以查看 pull 请求中的每个单独的提交,或者您可以查看作为一个整体被更改的文件集。在 GitLens 中,您可以通过比较任意两点来设置更改后的集合视图的特定版本。从单个视图中,您可以看到提交和包含提交的更改的文件集。

GitLens 还有一个 Git 命令调色板。VS 代码有一个命令面板,您可以在其中打开和执行 VS 代码命令。GitLens 有一个 Git 命令面板,可以让你调出并执行 Git 命令,提供引导式体验。例如,如果你想创建一个 Git 分支:

打开命令选项板

  1. 键入并选择git branch,然后选择create选项。
  2. 选择您要从哪个回购和哪个分支创建新分支
  3. 添加新分支的名称,VS 代码会为您创建它。
  4. Add the name of the new branch and VS Code creates it for you.

GitLens 命令面板提供了一个很好的 Git 命令向导,展示了不同的可用选项。

The GitLens command palette gives a nice guided tour through Git commands exposing the different options available.

为 VS 代码构建 git lens

VS 代码 API 被有意锁定,以确保它是健壮的,经得起时间的考验,不会对性能造成负面影响。这些年来,VS 代码团队已经花了很多时间来扩展 API 的功能,并且接口变得越来越容易使用。现在,您可以托管 web 视图并自己控制 UI 和 UX,超越最初提供的锁定视图和代码。

在开始使用 VS 代码时,一定要意识到可能会有一定的挑战。API 的功能仍然有限制。在开始时,您应该检查您感兴趣的领域是否已经存在 API。这可以帮助您避免对 API 如何完成某些事情的误解感到沮丧。由于 API 的锁定特性,它的表面积较小,因此您必须在组合构件的方式上有所创新。一旦你完全理解了事物真正是如何工作的以及极限在哪里,你就可以构建一些真正有趣和强大的东西。

API 拥有强大的工具来构建像 VS 代码文件系统抽象这样的东西。这些抽象让您可以构建真正丰富的元素,这正是 GitLens 在 Git 之上构建文件抽象所依赖的。通过访问特定的结构化 URI 来查找历史中的特定文件,GitLens 可以利用整个文件系统。这些 API 内置了很多功能,让您可以想象任何事情,并且约束非常有助于帮助您理解您可以做什么。它们还确保您实现的东西是好的和高性能的,让您一路思考 UX。

The API has powerful tools for building things like the VS Code file system abstractions. These abstractions let you build really rich elements, which is what GitLens relies on to build the file abstraction on top of Git. By going to a specific, structured URI for a particular file in history, GitLens can then leverage the whole file system. There’s a lot of power built into these APIs that let you envision just about anything, and the constraints are very helpful to help you understand what you can do. They also ensure that what you implement is nice and performant, making you think about the UX along the way.

参与 GitLens 和 VS 代码

对于那些希望加入 GitLens 和 VS 代码社区的人,Eric 为扩展作者运营了一个 Slack 社区。欢迎所有人加入,提出问题,并会见其他作者,这是开始 VS 代码贡献并找到您想要做的事情的可能示例的好方法。问问题和使用 VS Code API 是找到方法的好方法,因为它非常容易访问、调试和使用。

甚至有一个用于 VS 代码的自耕农生成器,它将为你搭建一个项目。这让您可以快速完成设置,并且可以很容易地帮助调试和测试。

For those looking to get involved in the GitLens and VS Code community, Eric runs a Slack community for extension authors. All are welcome to join, ask questions, and meet other authors, which is a good way to get started with VS Code contributions and find possible examples of what you want to do. Asking questions and playing around with the VS Code API is a great way to find your way, as it’s pretty accessible, easy to debug, and use.

There is even a Yeomen generator for VS Code that will scaffold out a project for you. This lets you quickly get through setup, and can help debug and test things out quite easily.

Git 的未来是可见的

Eric 认为,Git 的未来是更好的可视化。你可以 跳到他演讲的最后 去听更多他对 Git 和整个科技行业未来的想法。

在 GitKon 之后不久, GitKraken 收购了 GitLens ,Eric 加入 GitKraken 担任新的首席技术官,领导继续开发 GitLens 和 GitKraken 广受欢迎的 Git 客户端 。通过与 GitKraken 合作,Eric 现在全职专注于 GitLens,GitLens 获得了一家领先软件公司的全力支持和资源,该公司专门为开发团队提供 Git 协作和生产力解决方案。

下载免费的 GitKraken Git 客户端 以利用桌面上的可视化 Git GUI 和 CLI 的功能,并且 安装 GitLens 以免费访问 VS 代码中 Git 的功能。

Download the free GitKraken Git client to leverage the power of a visual Git GUI and CLI on your desktop, and install GitLens for free to access the power of Git in VS Code.

打造梦之队| GitKon 2022 | Michelle Mannering,GitHub

原文:https://www.gitkraken.com/gitkon/building-the-dream-team-michelle-mannering-github

https://www.youtube.com/embed/ss_hoxFnalE?feature=oembed

视频

建立一个成功的团队并不容易。在您的团队如何沟通以及您用来实现远程连接的工具方面,需要非常小心和深思熟虑。

协作是 DevOps 的支柱

当一些人将 DevOps 作为一个概念来考虑时,他们的想法是以编码为中心,而不是其他。但是 DevOps 既是一个工具集和工作流管道,也是一种文化变革、思维方式和一套最佳实践。

作为一个团队合作是非常重要的。提出不同的观点有助于提供更好的产品和服务,尤其是如果你有多样化的客户群。

当然,团队已经合作了几个世纪;这个概念并不新鲜。如果你曾经在一个团队中工作过,你会知道一个协作的团队能够更高效、更快地完成工作。

具有良好协作技能的合适团队可以胜过具有更多技术技能但协作和沟通较差的团队。团队合作和沟通不仅有助于打造更好的产品和服务,还能提升整个工作场所的士气,从而更好地留住人才。

人们不想离开一个他们感到忠诚的团队:一个把每个员工都当作有价值的成员并鼓励每个人发挥长处的团队。

更好的团队合作技巧

团队合作是协作中非常重要的一件事。但是这实际上意味着什么?你如何才能实现“好的”团队合作?

仅仅因为每个人都在“交谈”并不意味着他们在有效地沟通。通过合作和发挥彼此的优势,每个人都可以取得更大的成就。将任务分解并分配给个人或更小的团队有助于确保及时实现你的目标。

但是这种团队合作也是反过来的。在小团队中工作有利于分解和完成小任务,但良好的团队合作需要发生在整个公司以确保成功。

拥有更好的虚拟会议

自从新冠肺炎疫情以来,虚拟会议已经变得越来越普遍,对于大多数团队来说,虚拟会议是新的标准交流形式。虽然许多团队使用 Zoom 进行虚拟会议,但还有其他选项可以让您的会议更有趣。

GitHub 的开发者倡导者 Michelle“Mish Mannering”使用的一个选项是聚集城镇,这实际上更像是在玩视频游戏而不是开会。用户选择一个虚拟角色,在虚拟环境中四处走动,与接触点和其他团队成员的虚拟角色进行互动。当你与另一个虚拟角色足够接近时,你可以开始对话,可以是视频或音频。

聚集城镇也是可定制的;您可以构建自己的环境,定制现有的环境,并添加难处理的对象,如白板、视频游戏、标牌、网站等。

此外,在大型体育活动中你可以做的任何事情,你都可以在聚集镇做:参观 merch 展位,查看参展商,与某人坐下来喝“咖啡”——没有限制。

聚集镇也可以用于小型团队或个人使用。您可以为您的团队创建一个自定义的会议空间,为您的虚拟会议增添一些激情。

你也可以考虑举办一个动物穿越网上研讨会,在虚拟会议室的屏幕上展示你的幻灯片,只是为了改变一下虚拟场景。

更好协作的工具

GitHub 有一些优秀的团队协作功能,可以实现更好的沟通。

GitHub 问题用于跟踪您的工作、报告错误和管理请求,对于跨团队工作非常有用,因为它提供了整个组织的可见性。问题是用纯文本或 GitHub 风格的 Markdown 编写的。

GitHub Issues 允许用户添加受托人、标签和里程碑,这可以帮助您和您的团队保持对工作的掌控。例如,那些被分配了问题的人可以收到通知,用户也可以从他们的主页上直接看到他们创建的、被分配的或被提及的问题。这使得跟踪和计划更容易,并有助于确保任务不会被遗漏。

GitKraken 构建了一套考虑到团队协作的 Git 工具。

GitKraken Client 与 GitHub、GitLab、Bitbucket 和 Azure DevOps 及其企业版上的 repos 集成,并包含针对团队的强大功能,如工作空间。GitKraken 工作区为团队提供了一个主仪表板,他们可以在这里访问和共享他们正在处理的报告和任务。

吉拉 Git 集成支持所有 Git 服务器,使开发人员无需离开他们的编码环境即可更新项目数据,同时为产品经理提供他们在吉拉所需的关于项目状态的可见性。

GitLens+ for VS Code 为团队提供了强大的可视化功能,如 GitKraken 提交图、一次对多个分支采取行动的工作树,以及用于确定谁在何时进行了更改以及这些更改有多重要的可视化文件历史。

你能挑选多个提交吗?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/cherry-pick-multiple-commits

你能在 Git 中挑选多个提交吗?

如何在 Git 中挑选一个提交

原文:https://www.gitkraken.com/learn/git/cherry-pick

在我们深入 Git 中的挑选之前,让我们快速回顾一下提交。一个 Git 提交是您的存储库在某个时间点的快照,每次提交累积起来形成您的回购历史。

GitKraken 的直观用户界面使得执行挑选任务变得很容易,因为您可以在可视化图形中清楚地看到您的所有提交。

如何在 Git 中挑选提交?

在 Git 中,cherry pick 命令从目标提交中获取更改,并将它们放在当前签出分支的头部。

从这里,您可以继续在您的工作目录中处理这些更改,或者您可以立即将更改提交到新的分支。

什么时候应该使用 Git cherry pick 命令?

如果您不小心提交到错误的分支,cherry pick 命令会很有帮助。Cherry picking 允许您将这些更改放到正确的分支上,而无需重做任何工作。

提交被摘到新的分支后会发生什么?从这里开始,您可以在提交之前继续处理变更,或者您可以立即将变更提交到目标分支。

Git 中的樱桃采摘和合并有什么区别?

挑选是在 Git 中将提交从一个分支转移到另一个分支的一种方法。但是要注意!谨慎使用 cherry pick 命令,因为过度使用它会导致重复提交和混乱的回购历史。

将提交转移到 Git 中另一个分支的另一种方法是合并,这种方法可能比 cherry pick 更好,以便保留提交历史。

了解更多关于如何进行 Git 合并以及当您遇到合并冲突时会发生什么。

Git Cherry Pick 示例

现在我们已经讨论了什么是摘樱桃,让我们看看如何使用你的新能力!首先,我们将在介绍如何在命令行中使用 GitKraken Git GUI 进行 cherry pick 之前,先介绍一下如何使用 Git kraken Git GUI 进行 cherry pick。

现在我们已经讨论了什么是摘樱桃,让我们看看如何使用你的新能力!首先,我们将在介绍如何在命令行中使用 GitKraken Git GUI 进行 cherry pick 之前,先介绍一下如何使用 Git kraken Git GUI 进行 cherry pick。

git Cherry Pick git kraken 中的示例

首先,让我们看看 cherry pick 动作是如何使用跨平台 GitKraken Git GUI 工作的。

降低出错的风险!在你挑选之前,在 GitKraken Git GUI 中清楚地看到你的提交。

降低出错的风险!在你挑选之前,在 GitKraken Git GUI 中清楚地看到你的提交。

使用 GitKraken 的一个巨大好处是您的图形的视觉上下文是恒定的。您可以很容易地看到按时间顺序列出的所有提交,最近的提交在最上面。

不需要运行命令来显示图表,甚至不需要为目标提交获取 SHA。GitKraken 会帮你搞定一切的。

在这个精选的例子中,假设您有一个分支——feature——一个——被检出,并且您使用提交面板将您的更改提交到所述分支。

该死。您刚刚意识到应该提交到不同的分支: feature-B 。与其回去重做您的工作,您不如挑选提交。

要在 GitKraken 中摘樱桃,双击你的目标分支——在本例中是feature-B——查看它。接下来,右键单击来自特性的目标提交——一个分支;这将打开一个上下文菜单。从这里,您可以选择Cherry pick commit

现在,你有两个选择。您可以立即将变更提交到 feature-B 分支,或者您可以继续处理它们。如果您选择后者,GitKraken 会将更改作为 WIP 节点的一部分添加到您的工作目录中。

你还没说完呢!为了确保您保持一个干净的回购历史,让我们回过头来检查一下特性——一个分支,并对父提交进行硬重置。这将从特性——一个分支中删除重复的提交。

命令行中的 Git Cherry Pick 示例

要在 CLI 中开始挑选过程,您首先需要获得您希望挑选的提交的 SHA。

因为终端缺少图形的持续可视上下文,所以您可能需要运行

显示您的图表并获得您的目标提交的 SHA。

git log --all --decorate --oneline --graph

从日志中复制 SHA 后,您可以运行

然后由 SHA 挑选目标提交。

git cherry-pick

如果该命令正确地执行了挑选,那么应该可以看到一个具有唯一 SHA 的新提交。

您还可以通过运行来验证一切看起来都很好

再次查看您的图表,现在应该在图表的顶部显示新提交及其 SHA 标识符(上面突出显示)。

git log --all --decorate --oneline --graph

再次查看您的图表,现在应该在图表的顶部显示新提交及其 SHA 标识符(上面突出显示)。

准备好更自信地采摘樱桃了吗?

GitKraken Git 客户端让您可以更好地控制自己的选择,在中央图表中清楚地列出所有提交,这样您就可以在开始摆弄您的存储库之前确切地知道发生了什么。

GitKraken Git 客户端让您可以更好地控制自己的选择,在中央图表中清楚地列出所有提交,这样您就可以在开始摆弄您的存储库之前确切地知道发生了什么。

#123 首席执行官北海巨妖| GitKraken

原文:https://www.gitkraken.com/keif-gallery/chief-executive-kraken

第 123 位首席执行官北海巨妖

在 Git | Git 最佳实践中挑选后清除回购历史记录

原文:https://www.gitkraken.com/learn/git/best-practices/clean-up-history-after-cherry-picking

在您利用 Git 中的 cherry pick 命令将提交的更改从一个分支转移到另一个分支之后,请确保返回并清理您的回购历史。返回并签出原始分支,对父提交进行硬重置。这将删除重复提交。

CLI 简介:定制您的 CLI Shell

原文:https://www.gitkraken.com/blog/cli-shell

点击下面阅读我们 CLI 简介系列的其他文章:

到目前为止,在本系列中,您已经了解了为什么理解如何使用命令行、一些命令行基础知识和 shell 命令,以及所有关于运行基于 CLI 的应用程序和命令行工具的重要性。在 CLI 简介系列的这一部分中,您将学习定制 shell 用户体验的基础知识。

在 CLI 简介系列的这一部分中,我们将重点关注:

定制您的 CLI Shell

您可以完全控制 CLI shell 的外观。从改变提示变量到改变配色方案,再到制作自己的快捷方式,有很多方法可以配置用户体验。为了开始这条定制路线,让我们首先看看 CLI shell 配置一般是如何工作的。

无论你如何定制你的终端体验,你都会爱上在 GitKraken 客户端使用 GitKraken CLI!令人敬畏的提交图形可视化加上 Git CLI 触手可及。

CLI Shell 的配置文件

像 Zsh 和 Bash 这样的 CLI shells 只是运行在操作系统之上的程序。就像任何其他程序一样,您可以根据自己的需要对它们进行配置。

Zsh 和 Bash 都以特定的顺序从特定的文件中加载配置,但是我们将把重点放在 Zsh 的.zshrc或者 Bash 的.bashrc上。这两个文件都存储在您的$HOME 文件夹中,如果您在没有其他选项的情况下执行cd,您将会到达这个文件夹。

当您打开新的终端窗口时,终端模拟器会加载 CLI shell 的配置。您可以在终端中启动四种 shell 会话;最常见的是“交互式、非登录外壳”,您可能会每天使用它。

让我们快速仔细地看一下这四种可能的状态。

交互式外壳 vs 非交互式外壳

每次在终端中输入内容时,您都使用了交互式 shell。这是终端打开的默认 shell 类型,如果你点击桌面上的某个东西或者在编辑器中打开内置的终端,比如 VS Code。

非交互式 shell 由程序(如 shell 脚本)打开和使用,不接受用户从键盘输入。如果你曾经打开一个程序,短暂地瞥见一个终端窗口打开,打印一些东西,然后立即关闭,那么你已经看到了一个非交互的 shell 在工作。

登录与非登录 Shell

在本系列关于 shell 命令的第二部分中,我们看到的第一个命令是whoami。知道终端认为你是谁很重要,因为终端会根据这些信息做出不同的行为。

打开终端模拟器时——像 GitKraken 客户端、iTerm 或 Gnome 终端中的终端标签——操作系统已经知道你是谁,你就不用再登录了。终端为您提供一个交互式的非登录 shell,并从您的.zshrc文件中加载配置。

第一次打开 SSH 连接或原生 CLI shell 时,比如只有命令行的 Linux 会话,终端需要你登录。这时您将有一个交互式登录会话,shell 将从您的.zshprofile加载配置。

在本文中,我们将与.zshrc一起工作;这是因为您几乎总是在使用交互式非登录 shell,但是了解 shell 的配置是从哪里加载的是有好处的,尤其是在您使用脚本和 CI/CD 工具时。

在 VS 代码终端加载交互会话?GitLens+使该会话在另一个层面上具有交互性!单击以与 shell 中列出的任何 Git 散列、分支或标记进行交互。立即开始使用 GitLens+。

Sign Up for GitLens+

定制提示

您可以通过多种方式自定义命令提示符。到目前为止,我们展示的几乎所有示例中的默认提示配置都使用了模式:username@hostname current-directory %

hostname只是你登录的电脑的名称。要改变这一点,您需要更改“提示变量 1”的值,在 Zsh 中称为PROMPT,在 Bash 中称为PS1

您可以设置提示变量来打印任何常规字符串或单个字符,如您的姓名、自定义消息或' $ '。有大量预定义的提示变量设置可供您选择来填充动态值,包括当前日期和时间、目录的完整路径、完整主机名和许多其他选项。虽然非常相似, Zsh 提示变量选项在格式和细节上与 Bash 提示变量选项有所不同。

例如,让我们将 Zsh 中的提示改为使用格式date current-directory ~ $

1.打开或创建您的~/.zshrc文件。它可能已经存在,但是如果没有,您可以使用touch ~/.zshrc或者通过您喜欢的文本编辑器来创建它。该文件将保存在您的$HOME 目录中。

2。在.zshrc文件的顶部,添加下面一行:

export PROMPT='%D %1/ ~ $

如果你正在使用 Bash,你在你的~/.bashrc文件中设置这一行:

export PS1="\d \W ~ $"

3.保存文件。

4。打开一个新的终端窗口。

5。庆祝一下!

给你的提示着色

您可以给 Zsh 提示变量添加一点颜色,使您的提示变量更容易阅读,匹配您的桌面背景,或者只是增加您的终端体验。

默认情况下,Zsh 支持黑色、红色、绿色、黄色、蓝色、青色和白色。

要布置你的提示变量,完成以下步骤:

1 .打开您的~/.zshrc文件。

2.将%F{color}加到任何提示变量的前面,将%f加到另一边。用支持的颜色之一替换颜色。

例如,要将你的提示修改成如上图的样子,使用:

export PROMPT='%F{red}%D%f %F{green}%1/%f %F{cyan}~%f %F{yellow}$%f

3。保存文件。

4。打开一个新的终端窗口。

Zsh 主题

您可以在提示中添加更多的装饰,并创建完整的 Zsh 主题。虽然我们不打算在这里深入讨论创建 Zsh 主题,但是知道什么是可能的还是有好处的。

有多个致力于 CLI shell 主题的开源项目,可以轻松地按照您想要的方式配置提示符。我们建议查看一下 Oh My Posh 主题,这是一个适用于任何 CLI shell 的提示主题引擎。

有多个致力于 CLI shell 主题的开源项目,可以轻松地按照您想要的方式配置提示符。我们建议查看一下 Oh My Posh 主题,这是一个适用于任何 CLI shell 的提示主题引擎。

无论您如何设计您的 shell 体验,如果您正在使用 VS 代码,GitLens+可以释放 Git 的力量,使您的终端体验更加健壮。

无论您如何设计您的 shell 体验,如果您正在使用 VS 代码,GitLens+可以释放 Git 的力量,使您的终端体验更加健壮。

Sign Up for GitLens+

用别名制作自己的快捷方式

您可以在.zshrc文件中做的另一件事是设置别名。别名是您为简化常见任务而定义的快捷方式。别名的设置非常简单,从长远来看,可以节省您大量的输入。

别名总是遵循同一个简单的公式:

alias command='other commands you want to run'

就是这样。

比如,我们在这个系列中就用了很多ls -a。您可以通过在您的.zshrc文件中添加下面一行来将其缩短为la:

alias la='ls -a'

记住保存并启动一个新的终端窗口,以使配置更改生效。

您可以在.zshrc文件中做的另一件事是设置别名。别名是您为简化常见任务而定义的快捷方式。别名的设置非常简单,从长远来看,可以节省您大量的输入。

别名总是遵循同一个简单的公式:

alias command='other commands you want to run'

就是这样。

比如,我们在这个系列中就用了很多ls -a。您可以通过在您的.zshrc文件中添加下面一行来将其缩短为la:

alias la='ls -a'

记住保存并启动一个新的终端窗口,以使配置更改生效。

我们推荐的另一个常见选项是在删除文件夹或文件时使用交互模式。要使这成为您的终端的默认行为,在您的.zshrc文件中添加下面一行:

alias rm='rm -i'

我们推荐的另一个常见选项是在删除文件夹或文件时使用交互模式。要使这成为您的终端的默认行为,在您的.zshrc文件中添加下面一行:

alias rm='rm -i'

关于别名有一点需要注意:别名可以覆盖现有命令的行为,如上面的例子所示。这是因为.zshrc文件是终端在打开 CLI shell 的新实例时最后读取的内容之一;从该文件加载的任何内容都优先于任何默认行为。

终端假设您知道自己在做什么,所以在设置替身时要小心使用命令名。在使用它作为别名之前,看看是否有任何字符组合的手动输入不失为一个好主意。

您可能会发现最后一个有用的例子是git push origin main,大多数开发人员最终会输入很多很多次。如果您将git push origin main设置为 CLI 别名gpom,您可以避免每次执行此操作时键入 16 个字符!

要使用gpom别名,将其添加到您的.zshrc文件中:

alias gpom='git push origin main'

使用别名还可以做很多事情,比如创建函数和后缀。有很多很棒的指南可以让你了解更多关于 CLI 别名的知识。您会发现,从长远来看,您对 CLI 别名了解得越多,节省的时间就越多。

使用别名还可以做很多事情,比如创建函数和后缀。有很多很棒的指南可以让你了解更多关于 CLI 别名的知识。您会发现,从长远来看,您对 CLI 别名了解得越多,节省的时间就越多。

每次新外壳打开时运行的命令

到目前为止,我们添加到.zshrc文件中的所有东西都是命令,包括导出自定义提示变量和设置 CLI 别名。配置文件按照列出的顺序从上到下运行命令。但是,如果每次打开一个新的 shell 时都想运行某些命令,可以将它们列在.zshrc.bashrc文件中。

例如,如果您想显示当前的工作目录并列出新 shell 打开的目录的内容,您可以添加以下内容:

pwd && ls

到目前为止,我们添加到.zshrc文件中的所有东西都是命令,包括导出自定义提示变量和设置 CLI 别名。配置文件按照列出的顺序从上到下运行命令。但是,如果每次打开一个新的 shell 时都想运行某些命令,可以将它们列在.zshrc.bashrc文件中。

例如,如果您想显示当前的工作目录并列出新 shell 打开的目录的内容,您可以添加以下内容:

pwd && ls

这里的&&是如何告诉 CLI shell 在同一行上运行两个命令。这等同于按顺序运行每个命令。

这里的&&是如何告诉 CLI shell 在同一行上运行两个命令。这等同于按顺序运行每个命令。

定制您的终端体验可以帮助您提高工作效率。结合 GitKraken CLI 带来的有用特性,如自动完成建议,您将走上效率最大化的道路。

定制您的终端体验可以帮助您提高工作效率。结合 GitKraken CLI 带来的有用特性,如自动完成建议,您将走上效率最大化的道路。

准备好自动化

既然您已经定制了自己的 CLI shell 用户体验,并且掌握了创建自己的快捷方式的诀窍,那么您就可以开始编写脚本了,我们将在本 CLI 简介系列的下一部分中介绍脚本。我们将把到目前为止您所学的一切结合起来,构建您的第一个简单脚本,并介绍更高级的脚本逻辑。有了这些知识,您将准备好接受高级工作流程并处理 CI/CD 管道!

既然您已经定制了自己的 CLI shell 用户体验,并且掌握了创建自己的快捷方式的诀窍,那么您就可以开始编写脚本了,我们将在本 CLI 简介系列的下一部分中介绍脚本。我们将把到目前为止您所学的一切结合起来,构建您的第一个简单脚本,并介绍更高级的脚本逻辑。有了这些知识,您将准备好接受高级工作流程并处理 CI/CD 管道!

CLI 代表什么?CLI 简介第 1 部分

原文:https://www.gitkraken.com/blog/cli-stands-for-a-cli-intro-series

CLI 简介-第 1 部分:为什么要学习使用终端和一些历史

Git kraken Client 的长期粉丝已经爱上了图形用户界面,或 GUI,它允许你点击一个 Git 分支或提交执行一个动作,甚至拖放一个分支来开始一个拉请求。git kraken 客户端的 8.0 版本引入了 GitKraken CLI ,允许你从终端标签与你的存储库和你的计算机的其余部分进行交互。

已经喜欢通过 CLI 使用 Git 的开发人员非常高兴,因为他们能够立即投入并利用终端接口和他们最喜欢的 Git 客户端。但是对于其他用户来说,如果您对 CLI 一点都不熟悉,这个新选项可能看起来有点吓人。你甚至可能会问自己:CLI 代表什么?

“CLI”代表命令行界面,它确实是一个令人生畏的界面。每个开发人员都知道一个闪烁的光标和没有任何指示你下一步该做什么的空白屏幕的恐怖。这看起来几乎像某种形式的巫术!

但是你不应该让恐惧阻止你!在终端中工作可以让你以一种仅仅依靠图形用户界面是不允许的方式进入你的计算机的惊人的动力室。学习使用命令行界面将打开一个全新的可能性世界,让您在 Git 中更有效率!CLI 代表——CLI 介绍系列旨在帮助您了解如何使用终端,并在此过程中释放看似完全不可思议的能力。

为什么我应该学习如何使用 CLI?

有很多很好的理由来学习如何使用命令行。即使在大多数应用程序似乎都有 GUI 的世界中,命令行也允许您更快地完成更多的事情,从导航和发现文件信息到编辑照片和视频,同时提供轻松自动化和扩展众多任务的能力。让我们仔细看看您希望使用命令行的一些具体原因。

开发人员工作技能

如果你打算从事开发或 DevOps 领域的工作,你需要知道如何使用脚本语言、文件系统导航和开源工具。所有这些都建立在命令行的基础上。当与其他人合作时,另一个开发人员建议一个工具来解决特定的需求是很常见的,而获得这个工具需要克隆一个库。大多数时候,他们推荐的工具没有 GUI。如果您需要安装一个将在 CI/CD 过程中自动启动的测试套件,那么您将需要知道如何从纯文本终端配置和操作它。如果你需要使用像‘git ref log’这样的命令,你必须了解一点 Git 是如何在文件系统中发挥作用的,这来自于对 shell 的理解。

拥有 Git GUI 可以帮助您理解和管理您的存储库,但是拥有终端可以帮助您更好地理解您的工作流。立即下载 GitKraken 客户端,使用 GitKraken CLI 传奇的提交历史图表,获得两全其美的体验!

图形用户界面可以被限制

GUI 非常适合可视化事物,简化复杂的操作,并为可能是 Git 新手的用户提供较低的入门门槛。我们喜欢 GitKraken 的图形用户界面!但是所有这些好处都是以开发时间和精力为代价的。通常,一个程序必须提供的全部功能都隐藏在多层菜单下,在某些情况下可能根本不会暴露出来。在菜单中搜寻你需要的东西会变得很耗时。GUI 的行为取决于开发人员的决定以及他们对人们将如何使用应用程序的设想。对于开发人员来说,单击图标或选择菜单项时会发生什么可能是显而易见的。在很大程度上,GUI 开发人员的努力应该得到赞赏!

导航 GUI 的复杂性可以通过提供命令调色板来部分解决,这是 VS Code 和 GitKraken Client 等工具的救命稻草。命令面板为您提供了对完整功能菜单的键盘访问,包括最常见操作的键盘快捷键。简单地输入你想做什么,命令面板会显示完成该任务的选项。GitKraken 客户端的命令面板可以让你配置设置,打开和操作文件,撤销和重做动作,等等。

许多软件应用程序的核心都有一个命令行界面,作为用户和机器之间的媒介。命令面板基本上是一种展示工具命令行界面的方式,可以帮助您更快地工作。对于某些工具,您会发现使用命令行界面来完成某些任务(如配置更改或任务自动化)有时会更容易,甚至是必要的。学习如何使用 CLI 将帮助您更好地利用您已经在使用的工具!

重复性复杂任务的自动化

你可能一遍又一遍地重复同样单调的步骤,来完成一些工作。一个很好的例子是更新 WordPress 网站的插件。你需要登录,点击更新菜单,查看可用的更新,点击更新你想要更新的,然后手动检查,确保没有任何损坏。对于一个网站来说,这听起来可能不算太糟,尽管可能有点乏味。但是如果你管理不止一个网站呢?也许几十个?手动更新路径现在将成为一个全职职位,将占用添加新功能或进行利益相关者要求的更改的时间。

使用命令行的真正超能力之一是能够通过脚本自动执行任何过程。你将在本系列的脚本部分读到更多关于它的内容,但是现在,你可以把它想象成 IFTTTZappier ,它们基于某些触发器执行动作,但是对于你的计算机可以做的任何事情。一旦写好了脚本,你的计算机就可以一遍又一遍地重复执行,而不会感到厌烦,也不会在执行过程中出现人为错误。

在 WordPress 示例中,您可以使用 CLI 构建脚本,这些脚本使用 WP-CLI 来做一些事情,比如检查更新、应用任何现有的更新,以及测试所有页面的重大更改。一旦脚本写好了,只需将它指向你的站点列表,让自动化来完成繁重的工作,这样你就可以专注于构建新的令人敬畏的网络体验了!

不要被空白的终端吓倒

人们通常害怕他们不理解的东西,比如一个空白的终端,它完全不告诉你下一步该做什么。当开始使用命令行界面时,感到有点不知所措是完全正常的。GUI 大多假设你会通过设计直观的界面特性来学习。另一方面,CLIs 似乎希望你有一个先决的知识水平,知道该键入什么来使事情发生。

没有人生来就知道 CLI。每个高级开发人员都必须像你现在一样学习它。每个人在某个时候都是个十足的菜鸟。当你开始学习的时候,什么都不知道是可以的。但是在您开始输入命令之前,最好了解您在哪里输入,这些命令将被发送到哪里。

CLI 新手和专家们肯定会对 GitKraken CLI 提供的 Git 增强的终端体验感到高兴,它配有一个实时的可视化提交图。😍今天就免费试用吧!

码头简史

那么终端到底是什么,它与 CLI 有什么不同呢?贝壳到底是什么?如果我们快速看一下计算机界面是如何进化的,那么这些问题和许多其他常见问题的答案就变得很清楚了。

你可能习惯于点击一个图标来打开并使用一个应用程序,比如网络浏览器、Slack 或 Zoom。但这并不是人们最初使用计算机的方式。回想一下计算机只有房间那么大的时候,IBM 声称只需要 5 台计算机。那时“调试”的字面意思是在电路继电器中寻找蛀虫。他们是如何与这些机器互动的?他们用打孔卡。这些“穿孔卡”上有小孔,基本上是告诉机器一条指令。你几乎可以把它们想象成开发者发送给机器的小电报。把这些穿孔卡片叠起来,按正确的顺序在计算机中运行,你就有了一个工作程序。正如你所想的那样,这是一个非常慢并且非常容易出错的系统。

随着计算机变得越来越普遍,开发人员意识到他们需要一种方法来更直接、更快速地与这些巨型机器进行交互。于是,他们创造了终端。终端是你可以给计算机输入和从计算机读取输出的任何方式。

最早的终端是在 20 世纪 40 年代发明的,本质上是把穿孔纸带输入计算机的打字机。从那个不起眼的开始,他们很快发展到能够直接从键盘输入发出指令,而不需要纸。

我们如何将指令输入机器已经有了很大的进步;感谢上帝有像 VS 代码这样的现代 ide!通过使用 GitLens 在代码中释放提交历史的力量,实现另一次技术飞跃,而且是免费的!

Install GitLens for VS Code

每当你在 GitKraken 客户端中打开一个终端标签,在 VS 代码中包含的终端,或者你机器上的一个终端应用程序,你就打开了一条到操作系统的直接通信线路。一旦这条通信线路打开,我们就需要一种方法将命令传递给操作系统和当前运行在机器上的程序。这就是 shells 和命令行界面(CLI)的用武之地。

终端 vs 外壳 vs CLI

虽然终端、shells 和 CLI 是非常相关的概念,并且经常被互换使用,但是尽早了解它们之间的区别可以帮助您以后浏览文档和其他学习资源。我们已经在上面定义了终端,所以在我们继续命令示例之前,让我们定义一下其他术语的含义。

Shell vs CLI

外壳是一个计算机程序,它向用户或程序展示操作系统的服务。

另一方面,命令行界面或 CLI 以文本行的形式处理计算机程序的命令。

你已经通过一个 GUI 一直在使用 shells 了。每次你移动一个文件夹,创建一个新文件或者做任何需要操作系统的事情,你都在使用一个 shell。如果您使用的是 Windows,那么您使用的是支持桌面环境、开始菜单和任务栏的 Windows shell。Mac 用户正在使用 Quartz Compositor 来操作 Finder、Dock 和 Mission Control。Linux 用户最有可能使用 X Window 系统来驱动 UI。

另一方面,命令行界面或 CLI 以文本行的形式处理计算机程序的命令。

你已经通过一个 GUI 一直在使用 shells 了。每次你移动一个文件夹,创建一个新文件或者做任何需要操作系统的事情,你都在使用一个 shell。如果您使用的是 Windows,那么您使用的是支持桌面环境、开始菜单和任务栏的 Windows shell。Mac 用户正在使用 Quartz Compositor 来操作 Finder、Dock 和 Mission Control。Linux 用户最有可能使用 X Window 系统来驱动 UI。

基于文本的外壳接口

外壳不一定需要呈现 GUI。它还可以包含一个程序,该程序接受文本输入,解释它,并将其发送给操作系统。如果有输出,它会以文本的形式返回到 shell 中。因为您以文本行的形式输入命令,一次一行,所以这些 shell 程序被称为命令行界面。早期,在计算机有足够的 RAM 或处理能力来绘制 GUI 环境之前,所有的机器只有有 CLI 外壳。CLI shells 直到今天仍然很流行。

在计算机科学的早期,每个开发人员都要实现自己的 shell。你可以想象,当时的贝壳有很多不同的形式,需要专门的知识才能使用。幸运的是,业界采用了代表“单向信息和计算服务”的 Unix ,作为构建操作系统的标准方式。计算机如何在概念上设计文件结构的标准化使得共享 shells 代码成为可能,并为现代终端体验铺平了道路。尽管 Unix 有一个公认的标准,但还是由早期的计算机科学家来创建他们自己的 Unix 版本。有很多早期的 Unix 版本,比如 Research Unix、Columbus UNIX、PWB Unix 等等。到 20 世纪 80 年代初,最流行的两个版本是 AT 的 Unix 支持小组开发的 AT Unix 和加州大学伯克利分校的一个团队开发的伯克利 Unix。

Berkeley Unix 的命令行 shell 实用程序“sh”,也称为 Bourne shell ,以其创建者 Steven Bourne 的名字命名,成为一个广受欢迎的 shell 选项。开发人员喜欢它,因为它易于编写脚本,并且能够将一个命令的输出“管道”到其他命令的输入中。这些概念将在本系列的脚本部分展开。

外壳不一定需要呈现 GUI。它还可以包含一个程序,该程序接受文本输入,解释它,并将其发送给操作系统。如果有输出,它会以文本的形式返回到 shell 中。因为您以文本行的形式输入命令,一次一行,所以这些 shell 程序被称为命令行界面。早期,在计算机有足够的 RAM 或处理能力来绘制 GUI 环境之前,所有的机器只有有 CLI 外壳。CLI shells 直到今天仍然很流行。

在计算机科学的早期,每个开发人员都要实现自己的 shell。你可以想象,当时的贝壳有很多不同的形式,需要专门的知识才能使用。幸运的是,业界采用了代表“单向信息和计算服务”的 Unix ,作为构建操作系统的标准方式。计算机如何在概念上设计文件结构的标准化使得共享 shells 代码成为可能,并为现代终端体验铺平了道路。尽管 Unix 有一个公认的标准,但还是由早期的计算机科学家来创建他们自己的 Unix 版本。有很多早期的 Unix 版本,比如 Research Unix、Columbus UNIX、PWB Unix 等等。到 20 世纪 80 年代初,最流行的两个版本是 AT 的 Unix 支持小组开发的 AT Unix 和加州大学伯克利分校的一个团队开发的伯克利 Unix。

Berkeley Unix 的命令行 shell 实用程序“sh”,也称为 Bourne shell ,以其创建者 Steven Bourne 的名字命名,成为一个广受欢迎的 shell 选项。开发人员喜欢它,因为它易于编写脚本,并且能够将一个命令的输出“管道”到其他命令的输入中。这些概念将在本系列的脚本部分展开。

开源外壳

到 20 世纪 80 年代初,计算机正在经历一场重大变革。对于电脑爱好者来说,“家用电脑”第一次成为负担得起的现实。随着人们开始自由公开地分享想法和软件,一个全新的创新时代开始了。这与当时计算的专有性质形成了鲜明的对比。这场运动被称为“开源软件”,或 OSS。开源模型通过共享实际的源代码来鼓励分享想法,因此用户可以自由和公开地从其他人那里学习和重用工作。

来自开源运动的早期项目之一是 GNU,它代表 Gnus 而不是 Unix。GNU 是一个自由软件的集合,可以作为一个操作系统使用,或者与其他操作系统一起使用。当然 GNU 也需要一个外壳来和终端交互。GNU 项目创建了有史以来最流行的 CLI shells 之一,至今仍在世界上数百万台机器上使用。这是一个基于 Bourne shell 功能的实现,所以他们称之为“Bourne again shell”,或 Bash

来自开源运动的早期项目之一是 GNU,它代表 Gnus 而不是 Unix。GNU 是一个自由软件的集合,可以作为一个操作系统使用,或者与其他操作系统一起使用。当然 GNU 也需要一个外壳来和终端交互。GNU 项目创建了有史以来最流行的 CLI shells 之一,至今仍在全世界数百万台机器上使用。这是一个基于 Bourne shell 功能的实现,所以他们称之为“Bourne again shell”,或 Bash

如果我们看看 Git 的历史,我们会看到,当 Linus Torvalds 在多年后提出 Linux 时,他不需要构建自己的命令行 shell 他只是用了 Bash。这个决定的后果今天仍然伴随着我们。所有类似 Unix 的操作系统,通常也被称为 **NIX 系统*,都包含一个 Bash 版本。macOS 就在那个名单上。

这种处理 CLI shell 的标准方式意味着,作为一名开发人员,您可以轻松地在不同的机器之间移动,同时仍能完成您的工作。您可以编写可以在不同操作系统的用户和机器之间共享的工作代码。这意味着所有的开发人员在如何思考和与操作系统交互方面有一种共同的语言。随着针对 Linux 的 Windows 子系统的推出,甚至微软的 Windows 也最终加入了 Bash 的行列。

继续之前的最后一个提示:Bash 是众多 CLI shell中的一个。2019 年,苹果从 Bash 作为终端的默认外壳切换到使用 Zsh ,它本身只是 Bash 的扩展版本。你可能会发现你更喜欢其中一个,这很好。本系列中的示例使用 Zsh,但是所有命令在 Bash 和许多其他 shells 中都可以正常工作。

这种处理 CLI shell 的标准方式意味着,作为一名开发人员,您可以轻松地在不同的机器之间移动,同时仍能完成您的工作。您可以编写可以在不同操作系统的用户和机器之间共享的工作代码。这意味着所有的开发人员在如何思考和与操作系统交互方面有一种共同的语言。随着针对 Linux 的 Windows 子系统的推出,甚至微软的 Windows 也最终加入了 Bash 的行列。

继续之前的最后一个提示:Bash 是众多 CLI shell中的一个。2019 年,苹果从 Bash 作为终端的默认外壳切换到使用 Zsh ,它本身只是 Bash 的扩展版本。你可能会发现你更喜欢其中一个,这很好。本系列中的示例使用 Zsh,但是所有命令在 Bash 和许多其他 shells 中都可以正常工作。

CLIs for Applications

许多程序和开发工具都有自己的命令行界面。许多根本没有图形用户界面。Git 是默认情况下通过命令行界面使用的程序的一个很好的例子。GitKraken 客户端已经公开了这个强大的接口,现在你可以在客户端做比 Git 更多的事情,并保持在开发者流中。

在另一部分,你将会看到其中的一些应用,以及如何获得和安装它们。不过,在深入研究其他应用程序之前,了解一些 CLI shell 基础知识是很重要的,这些基础知识将使您能够更直接地与文件系统进行交互,并具有更大的控制力。

许多程序和开发工具都有自己的命令行界面。许多根本没有图形用户界面。Git 是默认情况下通过命令行界面使用的程序的一个很好的例子。GitKraken 客户端已经公开了这个强大的接口,现在你可以在客户端做比 Git 更多的事情,并保持在开发者流中。

在另一部分,你将会看到其中的一些应用,以及如何获得和安装它们。不过,在深入研究其他应用程序之前,了解一些 CLI shell 基础知识是很重要的,这些基础知识将使您能够更直接地与文件系统进行交互,并具有更大的控制力。

除了恐惧本身,没有什么可害怕的!

对于许多人来说,他们对命令行的恐惧部分来自于不想搞乱他们的计算机。你可能要花上几天或几周的时间来为你的用例设置“恰到好处”的东西。有传言说人们删除了错误的东西,炸毁了他们的机器,花费了他们几个小时或几天的恢复时间,这并没有帮助。虽然可能,但实际上很少会遇到这种毁灭性的问题。现代操作系统默认内置了许多安全预防措施,因此很难引发灾难性事故。结合一个好的备份策略,你会发现把事情搞得如此糟糕以至于无法恢复是非常困难的。事实上,大多数时候,最坏的情况意味着只是重新克隆一个存储库,丢失一点点工作。对于我们将要讨论的例子,风险甚至更低。

与生活中的许多其他事情一样,学习使用命令行的好处远远大于风险。它会让你比任何图形用户界面更深入地了解你的计算机。随着这种理解而来的是力量和可能性的整个领域。鼓起勇气,敞开心扉,让我们拥抱命令行!敬请关注下一个 CLI 代表——CLI 系列简介。

对于许多人来说,他们对命令行的恐惧部分来自于不想搞乱他们的计算机。你可能要花上几天或几周的时间来为你的用例设置“恰到好处”的东西。有传言说人们删除了错误的东西,炸毁了他们的机器,花费了他们几个小时或几天的恢复时间,这并没有帮助。虽然可能,但实际上很少会遇到这种毁灭性的问题。现代操作系统默认内置了许多安全预防措施,因此很难引发灾难性事故。结合一个好的备份策略,你会发现把事情搞得如此糟糕以至于无法恢复是非常困难的。事实上,大多数时候,最坏的情况意味着只是重新克隆一个存储库,丢失一点点工作。对于我们将要讨论的例子,风险甚至更低。

与生活中的许多其他事情一样,学习使用命令行的好处远远大于风险。它会让你比任何图形用户界面更深入地了解你的计算机。随着这种理解而来的是力量和可能性的整个领域。鼓起勇气,敞开心扉,让我们拥抱命令行!敬请关注下一个 CLI 代表——CLI 系列简介。

GitKraken 客户端是开始掌握 CLI 的完美工具,提供 Git 命令的自动建议和自动完成功能!只需在终端中开始输入,即可获得相关的命令建议。💥

GitKraken 客户端是开始掌握 CLI 的完美工具,提供 Git 命令的自动建议和自动完成功能!只需在终端中开始输入,即可获得相关的命令建议。💥

Git CLI 与 GUI

原文:https://www.gitkraken.com/blog/cli-vs-gitkraken-git-gui

如果您是一名软件开发人员,那么您很有可能对使用命令行界面进行 Git 操作有自己的看法。

许多开发人员认为掌握 Git CLI 是经验和技能的壮举。他们对自己的 CLI 流利程度感到非常自豪,并有所保护。

对于一些开发者来说,这是彻头彻尾的浪漫;命令行界面为您的计算机提供了亲密的体验。就像和你的机器来来回回的对话。

但是就像 Dan,一个经验丰富和业界尊敬的软件开发者解释的那样,我们非常相信 GUI 提供的巨大好处,这在一般的 Git CLIs 中是不可能的:

我当然非常了解 Git,老实说,我认为我在 Git GUI 中比在命令行中要快得多,效率也高得多——而且我在 CLI 中也不慢。

– Dan Clarke, blogger and co-organizer of .Net Oxford group

Git CLI 与 GUI

正如我们已经确定的,喜欢 CLI 的开发人员也喜欢 CLI。许多人最初发现 GUI,比如 GitKraken,是对他们多年辛苦编写代码的一种冒犯。

羞耻是真实的。看看 Ben Halpern 的这篇 Twitter 帖子,他是一位有影响力的程序员和 Dev.to 的创始人。

GUI-shaming is real. Check out this Twitter post from Ben Halpern, an influential programmer and Founder of Dev.to.

Ben 对他收到的回复非常感兴趣,于是他写了这篇后续文章“关于 GUI-shaming 和一大堆热 takes,”来强调一些评论。

图形用户界面并不适合那些不想花时间和精力去发现某个东西到底是如何工作的人。它们和其他工具一样都是工具。

我们在这里告诉你们这些“命令行爱好者”,并不是非此即彼!将 Git 终端与 Git GUI 一起使用是有价值的,实际上是并排使用。

– Ben Halpern, Founder of Dev.To

And we’re here to tell you “command line junkies” that it doesn’t have to be one or the other! There is value to using a Git terminal with a Git GUI, literally side-by-side.

使用 GitKraken 改善您的 Git CLI 体验

开发人员的口头禅是“更聪明地工作,而不是更努力。”GitKraken 在一个强大的 Git 客户端中提供了 Git GUI 的视觉、直观优势和 CLI 的闪电般速度!让我们深入了解 GitKraken Git client 如何提高您的工作效率,改善与团队的协作和沟通。

A common mantra for devs is “work smarter, not harder.” GitKraken provides the visual, intuitive advantages of a Git GUI and the lightning fast speed of a CLI, all in one powerful Git client! Let’s dive into how the GitKraken Git client can increase your productivity and improve collaboration and communication with your team.

如果没有 GitKraken 提供的额外的可视上下文,使用 CLI 的时间太短了。更有信心地执行 Git 操作,因为您可以在整个过程中准确地验证文件发生了什么。

Life’s too short to use the CLI without the additional visual context offered by GitKraken. Perform Git actions with more confidence as you verify exactly what’s happening to your files along the way.

查看您的 Git 提交历史

让我们比较一下在命令行界面中查看 Git 提交历史的体验和在 GitKraken Git 客户端中查看漂亮的彩虹图的体验。

在 CLI 中,查看您的 Git 提交图的过程需要键入:

git log --all --decorate --oneline --graph 

然后你得到这个…

左边的“ASCII 艺术”显示了您的 Git 分支和合并,旁边是包含 SHA(安全哈希算法)的行,它应该为您提供关于哪些文件发生了更改的有用上下文,但很难直观地理解,尤其是在快速浏览时。

在 GitKraken 中,你可以清楚地看到每一次犯罪是什么时候由谁犯下的;您的所有 Git 分支以及它们被合并的位置;您可以单击任何 commit 来快速打开文件并查看差异!更多信息请见下文…

你的团队成员很容易通过他们的 Gravatar 图像区分出来;每个合作者和他们所有的提交都以一种独特的颜色显示在图表上,为所有人提供了一个美丽、有用、彩色的项目路线图。

“ASCII art” on the left shows your Git branches and merges, alongside lines containing the SHA (Secure Hash Algorithm), which is supposed to provide you helpful context regarding which file changes have been made, but it’s hard to visually digest, especially at a quick glance.

In GitKraken, you can clearly see when every commit was made and by whom; all of your Git branches and where they were merged; and you can click any commit to quickly open the file and see the diff! More on that to come…

现在,无论您是选择在 GitKraken 的 Repo 选项卡还是 Terminal 选项卡中执行 Git 操作,您都可以看到一个可视化的提交历史,您的大脑可以快速消化和理解。

Git 差异视图

GitKraken Git GUI 在单独使用命令行界面时不可用,它提供了为每次提交添加大量上下文的能力,这对于参与项目的其他人来说很容易看到。

提交信息可以在 GitKraken 的提交面板中找到,它位于图表的右侧,是粉丝最喜欢的功能。试着快速说五遍…

您可以在这里看到未转移和转移的文件。只需选择一个文件,在 Diff 视图中一行一行地查看更改,向您准确显示对代码做了哪些更改。GitKraken 会突出显示修改后的代码,让您在几秒钟内找到所需的上下文。

Git Diff View

GitKraken CLI 提供的最酷的功能之一是能够与 GitKraken 传奇的可视化交互,如 Git Diff 和责备。这是通过定制的gk命令实现的,包括:

gk diff:查看两次提交之间发生了什么变化。

查看文件或 Git 提交中发生了什么变化,以及是谁做出了这些变化。

gk history:查看文件历史视图。

One of the coolest features offered by the GitKraken CLI is the ability to interact with GitKraken’s legendary visualizations, like Git Diff and Blame. This is made possible by the custom gk commands which include:

gk blame: see what has changed in a file or Git commit and who made those changes.

随着我们对 GitKraken CLI 的改进,gk命令库将继续扩展。

Git 合并冲突编辑器

GitKraken 最强大的功能之一是合并冲突编辑器。当单独使用命令行界面时,根本没有什么可比较的。

当你在 GitKraken 中遇到 Git 合并冲突时,只需点击冲突文件打开编辑器。

您将看到三个不同的部分:上半部分并排的两个部分向您显示了您试图合并的文件的不同版本。下半部分的第三部分显示了输出,允许您快速识别问题发生的位置,从而轻松选择要保留或丢弃的内容。

Git Merge Conflict Editor

GitKraken Git 客户端中的合并冲突编辑器允许你并排查看代码的冲突版本,甚至允许你在文本编辑器中编辑输出(如果你使用的是付费的 GitKraken 计划)。

在没有可视化和直观的 GitKraken Git 客户端的情况下解决 Git 合并冲突会将您的注意力从原本顺畅的工作流程上转移开,从而冒着损失时间和精力的风险。

GitKraken 不仅能帮助你解决冲突,它还能在冲突发生之前帮助你避免冲突。🤯GitKraken 的一个团队 Git 特性能够看到两个团队成员在处理同一个文件,在左侧面板用一个警告⚠️图标提醒你潜在的 Git 合并冲突。

不借助 GitKraken 之类的工具,在命令行中解决合并冲突既困难又耗时。合并冲突检测和解决使得使用 Git 更加安全、简单和强大。

风险更低的 Git Rebase

当执行 Git rebase 时,GitKraken 可以伸出援助之手,尤其是当事情没有按计划进行时。

如果您只使用 CLI,确定问题所在可能会非常困难,但是 GitKraken Git GUI 提供了直观的资源来帮助您确定问题源自哪里以及如何修复它。

与合并冲突发生时收到的错误通知类似,GitKraken 也让您知道一个 Git rebase 何时失败,并允许您快速查看原因以及如何解决它。

如果在 CLI 中重设基础时遇到冲突,则必须离开中心工作区,打开文本编辑器,找到冲突,编辑文本以解决问题,保存更改,然后返回命令行以暂存更改,运行更改,然后继续重设基础。

现在,您可以在 GitKraken Git 客户端中访问 Git CLI 和 GUI 的好处,这样您就不会浪费时间重新设置基础或解决过程中出现的冲突。

Git Rebase with Less Risk

拥抱 Git GUI 的视觉优势

顾名思义,图形用户界面关注的是,用户。GitKraken 的设计非常强调用户体验,无论您选择在 Repo 选项卡还是终端选项卡中执行 Git 操作。

上周你花了多少时间编码?不妨享受一下,对吧?有了 GitKraken 提供的额外的视觉环境,保证您在使用 Git 时会有更愉快的体验,同时还能提高工作效率和节省时间。

你的团队成员很容易通过他们的 Gravatar 图像区分出来;每个合作者和他们所有的提交都以一种独特的颜色显示在图表上,为所有人提供了一个美丽、有用、彩色的项目路线图。

在某些情况下,即使是最顽固的 CLI 用户也会因为 GUI 的基本优势而更有效率,这些优势最终与人类固有的特征联系在一起。

Git GUI 的基本功能是对屏幕空间的可视化操作和利用鼠标点击屏幕的灵活性。

As the name implies, a graphical USER interface is focused on you, the user. GitKraken is designed with a heavy emphasis on user experience, whether you choose to perform your Git actions in a Repo Tab or a Terminal Tab.

How many hours did you spend coding last week? Might as well enjoy them, right? With the additional visual context provided by GitKraken, you’re guaranteed to have a more enjoyable experience using Git, with the bonus of being productive and saving time.

还记得之前的那些自定义gk命令吗?我们还有几个可以让你自定义 GitKraken 提交图相对于你的终端的位置。

GitKraken CLI 中键入gk graph来切换图形的开和关,并添加topbottomleftright来改变位置。

– Micah Linnemeier, UX designer at IBM

The bread and butter of a Git GUI is visual manipulation of screen space and the flexibility to utilize a mouse for clicking on the screen.

我们已经提到了下一级多色中央提交图,但是 GitKraken Git 客户端也有两个侧面板,为您的视觉体验增加了更多价值,并提供了连续的上下文。

右边的 commit 面板是存放和提交更改的中枢。

左侧面板显示了您的分支、远程、 Git pull 请求、标签、Git stages和子模块。您可以通过在左侧面板顶部的字段中键入内容来轻松过滤文件和其他信息。

老鼠是你的朋友🐭

许多 GitKraken 用户评论说,直到他们在 GitKraken 中体验了悬停、点击和拖放所提供的功能,他们才意识到在只使用 CLI 时他们多么怀念使用鼠标。

此外, GitKraken Git GUI 做了一件令人难以置信的工作,为您在工作流程中的特定时间可以采取的行动提供了有用的、直观的提示。让我们回顾一下 GitKraken 中几个最流行的鼠标功能。

We’ve already mentioned the next-level multi-color central commit graph, but the GitKraken Git client also has two side panels that add even more value to your visual experience and provide continuous context.

拖放以在 Git 中推送和拉取更改

将 GitKraken 中的一个分支拖放到另一个分支,以生成一个可能的操作列表,如合并、重定基础或从 GitHubGitLabAzure DevOpsBitbucket 上的集成 Git 存储库中创建拉请求。

GitKraken 工具栏=简易 Git 操作

GitKraken UI 顶部的工具栏提供了对包括推和拉在内的几个主要命令的快速和方便的访问。你所要做的就是移动并点击你的鼠标!

Furthermore, the GitKraken Git GUI does an incredible job of providing helpful, intuitive prompts for actions you can take at certain times during your workflow. Let’s review a few of the  most popular mouse-enabled functions in GitKraken.

如果我们在这里没有提到神奇的UNDO按钮,那将是我们的疏忽,当你不正确地执行 Git merge 时,或者不小心删除了一系列提交,这只是举几个例子。

您也可以通过单击终端图标从工具栏访问 GitKraken CLI。

有键盘爱好者吗?别担心,我们没有忘记你!你还会看到一个魔棒图标,允许你打开 GitKraken 命令面板,让你访问一个广泛的快捷键清单。

The GitKraken Toolbar = Easy Git Actions

The toolbar at the top of the GitKraken UI provides quick and easy access to several major commands including pushing and pulling. All you have to do is move and click your mouse!

说到快捷键,对于 Windows 和 Linux,用户可以通过点击Ctrl + /来查看所有支持的键盘快捷键的完整列表,对于 Mac,用户可以点击Cmd + /

右键单击可访问 Git 操作

当你右击 GitKraken 的中央图中的任何 Git 提交时,会出现一个选项下拉菜单,允许你创建一个 Git 分支Git cherry pick 、reset 或 revert a Git commit 。此外,您可以在右侧提交面板的任意位置单击鼠标右键来创建新文件。

右键单击中央图中的本地分支,或者左侧面板中的远程分支,会出现一个菜单,其中有许多选项,如 push、pull、设置 Git 分支的上游,删除 Git 分支、重命名 Git 分支,等等。上下文菜单中选项的数量将取决于您签出的分支。

自动完成和自动建议 Git 命令

GitKraken CLI 中独有的功能是自动完成和自动建议 Git 命令的魔力。

如果您开始在 GitKraken CLI 中键入 Git 命令,您将看到一个建议操作填充列表。

auto-suggest Git commands 特性将提供关于您可以从每个 Git 操作中得到什么的提示,并且可以帮助您更好地理解像-a-M这样的参数,因为您需要应用它们。

不需要记住命令或它们做什么;您的新内置 CLI 助手将帮助您在命令行界面中导航,增强您的信心和知识。

生命太短暂,不能在没有 GUI 的情况下使用 Git CLI

Auto-Complete and Auto-Suggest Git Commands

我有时会遇到这样的人,他们觉得使用命令行 Git“更好”,但是却没有明确的理由。这些人可能觉得他们应该在 shell 中工作,即使这会导致回避 Git、频繁出错或者将自己限制在一小组~3 个 Git 命令中。这是适得其反的。

If you start typing a Git command in the GitKraken CLI, you will see a list of suggested operations populate.

如果您错过了 GitKraken Git 客户端提供的无数好处,那么 Git 不会“更好”。通过使用 Git CLI + GUI,提高工作效率并改善团队协作,从而改善您在命令行界面中的工作流程体验。

No need to remember commands or what they do; your new built-in CLI assistant will help you navigate the command line interface with increased confidence and knowledge at your fingertips.

GitKraken 是市场上唯一一个提供 Git 增强终端的 Git 客户端,具有强大的可视化功能,为开发人员提供了使 Git 更简单、更安全和更高效所需的所有工具。

Life’s Too Short to Use the Git CLI without a GUI

I sometimes encounter people who feel it’s “better” to use command line Git, but for very ill-defined reasons. These people may feel like they should work in the shell, even if it leads to Git-avoidance, frequent mistakes, or limiting themselves to a small set of ~3 Git commands. This is counterproductive.

– Jenny Bryan, Software Engineer at RStudio & Adjunct Professor at the University of British Columbia

Git can’t be “better” if you’re missing out on the countless benefits offered by the GitKraken Git client. Improve your workflow experience in the command line interface with increased productivity and improved team collaboration by using a Git CLI + GUI.

GitKraken is the only Git client on the market that offers a Git-enhanced terminal with powerful visualizations, giving developers all the tools they need to make Git easier, safer and more productive.

代码审查最佳实践|清单、工具和成功秘诀

原文:https://www.gitkraken.com/blog/code-review

什么是代码审查?

代码审查是一个过程,以确保 bug 和错误在进入生产之前被捕获和修复。这通常需要开发人员的参与,他们并不直接参与被审查代码的特定部分的实现。代码审查是更大的质量保证过程的一部分,以确保最终产品完全按照预期执行。

除了检查源代码中的 bug,代码审查是检查代码库是否存在最佳实践以及是否存在反模式的一个好方法。

为什么代码审查很重要?

人们经常对各种各样的事情有不同的看法,尤其是涉及到代码的时候,这是完全可以的!但是当涉及到生产应用程序中使用的代码库时,您将希望确保团队中的所有开发人员在命名策略或架构模式方面使用相同的语言。

为什么这很重要?想象两个开发人员,Alice 和 Bob,一起编写一个应用程序。Alice 喜欢使用全局单例字符串,也称为单例模式,用于状态管理,而 Bob 更喜欢使用状态模式。他们处理应用程序的不同部分,将他们的更改直接提交给共享的 repo。

然后 Alice 休假几周离开项目,现在 Bob 必须修复她实现的功能中的一个 bug。他看到了全局单例字符串,困惑地将其更改为状态模式实现,就像他对以前实现的所有特性所做的那样。

不幸的是,这样做需要两倍的时间来修复错误,所以 Bob 很快变得恼火和失望。

如果他们从一开始就实现了代码审查过程,Alice 和 Bob 会更快地识别出风格上的差异。他们需要的是一个对双方都有意义的协作工作流程。

如果他们从一开始就实现了代码审查过程,Alice 和 Bob 会更快地识别出风格上的差异。他们需要的是一个对双方都有意义的协作工作流程。

代码评审应该包括什么?

让我们来看看一个成功的代码审查应该覆盖的基本轮廓,以及审查者应该密切关注的代码元素。

执行代码审查时,审查代码的人应该关注以下方面:

代码风格

  • 可读性
  • 模式
  • 体系结构
  • 没有代码审查的后果

为什么代码审查如此重要?没有代码评审或者过多的代码评审会怎么样?

1。引入高风险 bug 的可能性。

代码审查主要是为了发现代码中的错误。如果代码评审太少,或者根本没有代码评审,一些 bug 可能会被忽视地传递到产品中。bug 可能导致低风险,比如有问题的 UI,也可能导致高风险,比如安全漏洞。没有代码审查,团队就没有什么工具来预测和评估这样的风险。

2。不一致的代码库。

在 Alice 和 Bob 的例子中,人们倾向于选择不同的模式和代码风格,并且可能使用不同的方法来进行状态管理。方法上的差异可能会减缓进一步的开发和代码支持。每次你需要实现一些新的东西或者修复一个 bug,开发人员将不得不花费时间和精力去学习一个新的过程,这进一步减慢了这个过程。

3。公交因素。

总线因素指的是与团队成员之间不共享信息和能力相关的风险度量。

因此,如果只有一个人知道项目的某个特定部分是如何工作的——编写它的人——并且这个人离开了项目,那么您很可能不得不执行另一次代码审查,或者甚至一起重写代码。

过多的代码审查

当涉及到过多的代码审查时,很少有相关的风险,但是也有一些缺点,可以这么说。进行大量的代码审查可能会导致生产延迟,并可能导致开发人员过多地关注满足代码审查,而不是实现高层次的业务目标。

在一天结束的时候,找到一个黄金分割点是很重要的。如果您必须优先考虑更快的代码生产,请评估与限制代码审查相关的风险。

代码审查清单

首先,代码评审是一个交流的过程。像任何其他人一样,每个参与的人都应该感到被尊重,以使流程有效率。因此,有一些简单的规则可以遵循,使您的代码审查既有帮助又美观,同时还能提供有用的反馈。

如果您是执行审查的人,请考虑下面的代码审查清单:

1。说明你的观点。

当指出一个错误时,补充一点解释,说明为什么你认为这应该被视为一个错误。这会让你听起来很自信,也有助于代码的作者在将来不会犯类似的错误。

另一方面,可能是你错了。解释你来自哪里将有助于鼓励讨论,如果有任何意见分歧,找到最佳解决方案。

2。包括例子。

有时,很难理解这样的信息:“根据指导方针改变它”或“使用 X 模式。”对你来说显而易见的事情对其他人来说可能是一个完全的谜。

给出一个你认为最终结果应该是什么样的简单例子,以帮助作者理解你的想法。

3。指出具体问题。

“我不知道这段代码有什么问题,但你可以做得更好”并不是很有帮助。告诉代码作者到底是什么导致了这个问题。是内存管理吗?是代码风格吗?

确保提供有用的细节,尤其是如果解决方案需要作者进行进一步的调查。大多数时候,当代码没有以令人满意的状态提供时,更好的解决方案不会突然出现在评审者的脑海中。请求作者进一步调查是可以的,但是你应该提供一些方向。

代码审查技巧

人们合作时工作效率更高。“三个臭皮匠顶个诸葛亮”,对吧?这就是为什么作为一个评论者,你应该试着听起来友好。保持合作的语气有助于团队专注于解决手头的问题,而不是升级冲突。

以下是一些关于语调的代码审查技巧:

避免责备。

不要说:“你做了一件坏事”;说:“这样做不好,原因如下……”毕竟,谁写了不正确的代码并不重要。重要的是这些代码是否被修复。所以集中精力评论代码而不是开发者。

代码审查不是性能评估。

简单地告诉别人他们不够好不会帮助他们变得更好。将代码评审视为异步结对编程过程的一部分。你不会告诉你的结对编程伙伴他们不擅长编程,是吗?相反,你帮助他们改正错误。这种方法也适用于代码审查。

感同身受。

  • 让代码评审评论充满批评可能会让人不知所措,即使这些批评写得尽可能友好。表现出一些同理心,看到好代码就赞美!它可以走很长的路。当一个开发人员花费时间和精力做了一些对团队和产品有价值的事情,这是值得注意的!
    • 欢迎进一步讨论。
  • 每个代码评审评论都应该是可以讨论的。你可以主动联系参与此过程的任何人,详细说明此事,或者确保你的团队知道如何联系你。一个及时的电话甚至几条信息可以节省很多时间,减少误解和不快。
    • 简单地告诉别人他们不够好不会帮助他们变得更好。将代码评审视为异步结对编程过程的一部分。你不会告诉你的结对编程伙伴他们不擅长编程,是吗?相反,你帮助他们改正错误。这种方法也适用于代码审查。
  • 谁应该执行代码审查?
    • 当谈到代码审查过程时,一个主要问题是谁应该进行审查?基本上,有两种选择:
  • 一个指定的人——通常是高级开发人员或团队领导——为团队中的每个人执行代码评审。
    • 团队中的每个人都可以执行代码审查。

你也可以考虑两者之间的东西,比如指定的子团队,但是它的作用与第一个选项相同。

当谈到代码审查过程时,一个主要问题是谁应该进行审查?基本上,有两种选择:

  1. 代码审查和拉请求模板
  2. 拉请求模板有助于跨团队实现一致的代码评审过程。

这就是像 GitKraken Git GUI 这样的工具真正派上用场的地方。如果你正在用 GitKraken 管理你的项目分支,你可以简单地在中心图的分支上点击鼠标右键来访问许多选项,比如推和拉、合并、重定基础或者启动一个 Git 拉请求

如果您选择启动请购单的选项,拉式请求模式将会打开。您可以在这里设置 PR 标题、描述、代理人、审核人和一些其他细节。当你对你所得到的感到满意时,点击Create pull request在左侧面板中查看你的 PR,以及你的相关托管服务。

代码审查和拉请求模板

GitKraken 支持针对 GitHub pull requests 、GitLab pull requests 和 Azure DevOps pull requests 的 pull requests 模板,并让您的团队能够为您的所有项目创建一致的代码审查流程。

这就是像 GitKraken Git GUI 这样的工具真正派上用场的地方。如果你正在用 GitKraken 管理你的项目分支,你可以简单地在中心图的分支上点击鼠标右键来访问许多选项,比如推和拉、合并、重定基础或者启动一个 Git 拉请求

拉式请求过程是成功的代码审查不可或缺的,但是建立一个好的系统需要时间。让 GitKraken 通过内置的公关管理和模板来完成繁重的工作。

代码评审最重要的部分之一是 Git pull 请求体。这也是代码审查中最容易引发冲突的部分之一。

一些人认为 Git pull 请求的标题是不言自明的,而另一些人则很难理解“修复 BUG”所描述的是什么。为了避免争论,您可以作为一个团队一起工作,找到一个代码审查清单,其中包括要编写的最重要的信息,对于看似显而易见的拉请求,例如受影响的特性的列表。

您的 Git pull 请求模板可以有一个预制的主体,其中有关于必须以某种方式陈述的内容的提示。您将很快发现代码审查清单的哪些部分对审查者最有用,如果有的话,经常是空的。

你可以阅读更多关于 Git Pull 请求模板的内容,下面是一个典型 PR 模板的例子。

代码评审最重要的部分之一是 Git pull 请求体。这也是代码审查中最容易引发冲突的部分之一。

交叉代码审查

团队参与在成功的代码评审过程中至关重要。如果您的团队很难确定一种单一的评审方法,那么交叉代码评审可能是您的救星。

首先,您将设置合并 Git pull 请求所需的“批准”数量,然后您可以释放您团队的代码审查能力!

git kraken中的 Pull 请求模板可以帮助跨代码审查过程。当您在 GitKraken 中创建新的拉式请求时,PR 模式中将出现一个拉式请求模板下拉菜单。这允许您从已经为您的存储库之一创建的模板中进行选择,以便您的团队可以快速地在指定的预起草模板上填写所有需要的信息。

让您团队中的任何人检查每个拉取请求都会很有帮助。详细说明拉取请求的优先级,然后让人们根据优先级决定审查什么。例如,你可以有一个宽松的渠道,在那里紧急的 PRs 被投票表决,投票最多的一个必须在一天结束前被任何人审核。

与代码的不同部分一起工作会让团队更加清楚项目中发生了什么。与各种团队成员一起工作将会很快为代码样式、拉式请求完成等建立新的可预测的规范。交叉代码评审是团队内部沟通和知识交流的最有效的方式之一。

GitHub 代码审查

GitKraken 还可以直接在 GUI 中管理 GitHub pull 请求,让团队中的每个人都能快速轻松地审查 GitHub 代码。

GitKraken 中的交互式 GitHub pull request 视图允许您编辑 pull request 标题、描述、审阅者、受托人、里程碑和标签。你也可以给审查你的代码的人留下评论。

对于那些进行 GitHub 代码审查的人来说,你甚至可以批准 PR 或者请求修改,所有这些都不需要导航到 GitHub。

与代码的不同部分一起工作会让团队更加清楚项目中发生了什么。与各种团队成员一起工作将会很快为代码样式、拉式请求完成等建立新的可预测的规范。交叉代码评审是团队内部沟通和知识交流的最有效的方式之一。

ProTip:双击 GitHub pull request 视图右下角的一个分支名称,GitKraken 将自动检查该分支并打开图表,这样您就可以直接开始工作了!

GitHub Code Review

最小化代码审查的工作量

随着时间的推移,代码审查经常变得越来越弱,并且经常作为一个过程被永远放弃。如果这是发生在你的团队身上的事情,这并不意味着代码审查对你不起作用或者只是不起作用。对于团队来说,代码评审失败的原因之一是因为这个过程花费了评审人员太多的精力,这种负担会很快变得难以承受。

那么,如何将与适当的代码审查相关的工作最小化呢?

CI/CD 和自动化代码评审

测试是代码审查过程中花费大量精力的一部分。如果你不确定代码是否可以编译,你能批准合并一些代码吗?

一个典型的过程可能要求在点击“批准”按钮之前,您克隆 Git 分支,编译代码,然后甚至可能测试代码。对于大型项目来说,这尤其耗时,因为克隆和编译需要很长时间。你本可以花这些时间来编写有用的代码,但是,你却在等待别人的代码来编译…

解决方法很简单:不要做手工测试!说真的。让持续集成(CI)来处理这项工作,甚至在你提出代码审查的请求之前。这将需要一些额外的自动化代码,但是,嘿,这些代码将为您和您的团队节省工作时间!

在 CI 代码审查程序中可以测试什么?

代码是否编译。

代码是否生成。

代码能否正确归档和部署(Docker,我们看着你🐳).

是否所有的依赖项都能顺利集成(尤其是在版本发生变化的情况下)。

单元测试和其他自动化测试通过。

代码评审工具

为您的团队配备适当的代码审查工具将为您的成功做好准备,并有助于消除不必要的工作和开发人员的倦怠。

  • GitKraken Git GUI 最初通过提供对团队工作的更好的可见性来帮助简化代码审查过程。GitKraken 中的中央图形以一种有意义的方式显示了您的分支和提交,因此您的团队可以创建更好的代码,减少错误。
  • 当整个团队都参与制定和审查拉请求时,跟踪项目中所有潜在的变更会变得很困难。您和您的团队可以根据 PR 的打开者、分配者、等待审核者等过滤拉动请求,轻松组织您的审核。
  • 代码能否正确归档和部署(Docker,我们看着你🐳).
  • 是否所有的依赖项都能顺利集成(尤其是在版本发生变化的情况下)。
  • GitKraken 还集成了在代码评审期间有助于集成测试的工具:GitHub Actions 和 GitLab CI。

GitKraken 提供的集成选项将确保您的团队在所有项目中提供一致的代码审查过程,并且您可以快速找到您正在寻找的 PR。

为您的团队配备适当的代码审查工具将为您的成功做好准备,并有助于消除不必要的工作和开发人员的倦怠。

您可能还想投资一个静态代码分析器,用于样式指南违规和反模式检测。

代码评审最佳实践

不要让代码审查过于复杂。

代码评审不是让代码完美的工具。代码审查是一种帮助开发人员避免难以察觉的愚蠢错误的工具。专注于帮助在合理的时间交付一个好的项目,而不是完善代码库。

对队友好一点;促进代码审查的友好文化。

评论代码,而不是作者,并提供有用的反馈,而不是“👎 / 👍 ".如果代码审查在你的团队中引起争论,努力促进一种友好的文化。创建拉动式请求模板并预订会议以讨论 PRs。

只复习不能自动勾选的。

通过尽可能地自动化来最小化审查 Git pull 请求所需的工作量。只对那些不能自动检查的特性,如架构、可读性等,请求代码评审。

除非有充分的理由,否则不要单独进行代码评审。

总线因素并不是反对单独代码评审的唯一理由。如果您希望代码评审有助于知识交流,团队的参与是至关重要的。鼓励交叉评审:这比指定评审模式更省时,也更有趣。

投资于减轻团队工作的代码评审工具。

  • 不要让你的团队做所有与代码审查相关的工作。投资于使过程更容易的工具,这样你的团队就可以专注于编写高质量的代码,从而减少审查时间。

    • 代码评审不是让代码完美的工具。代码审查是一种帮助开发人员避免难以察觉的愚蠢错误的工具。专注于帮助在合理的时间交付一个好的项目,而不是完善代码库。
  • 对队友好一点;促进代码审查的友好文化。

  • 只复习不能自动勾选的。

  • 除非有充分的理由,否则不要单独进行代码评审。

  • 投资于减轻团队工作的代码评审工具。

GitKraken 将改进并加速您团队的评审过程,这样您就可以专注于代码质量,而不是挖掘拉取请求。

最佳编码音乐| 2023

原文:https://www.gitkraken.com/blog/coding-music

Owain 住在苏格兰爱丁堡,是 Spindogs 的. Net 开发人员,他是 GitKraken 大使和 Umbraco MVP。在业余时间,他喜欢出去长跑和建造乐高积木。


编码有时可能是一个压力很大的职业。即将到来的截止日期、紧张的客户或你无法解决的问题。不管是什么原因,听音乐可以很好地缓解压力,对于一些开发人员来说,实际上有助于提高他们的注意力。

我是一个边听音乐边编码的人。即使在我独自工作的办公室里,我有时也会坐着,戴着耳机看着屏幕。我的办公室里确实有扬声器,但戴着耳机确实让我进入状态。

注:包含露骨内容的音乐和专辑将标有*

我发现听音乐有助于我集中注意力,但是我必须承认我确实听不同类型的音乐,这取决于我在做什么样的工作。在任何给定的一周内,我的范围从重金属到音乐剧!

有时,如果我需要改善我的情绪,也许我醒来时脾气暴躁或压力很大——那么一点点《洛基恐怖秀》或《T2 最伟大的表演者》的配乐真的可以让我振作起来。

如果我需要关注一个更复杂的问题,我会转向我长期以来最喜欢的专辑之一,Megadeth 的《 Youthanasia》。我对这张专辑了如指掌,我不需要考虑音乐,我可以专注于问题。如果我正在完成一系列乏味的任务,那么一些* 酸屋伊比沙岛之夏的配乐是理想的。

这真的取决于我的心情,或者更重要的是,我想进入什么样的心情。如今令人惊奇的是,我们几乎可以拥有任何我们想要的音乐,就在我们的指尖。我们有如此多的流媒体选项,现在我们可以听任何我们喜欢的东西!

我是一个边编码边听音乐的狂热爱好者,以至于每周五我都是我工作的机构的常驻 DJ。我与公司共享一个播放列表,这样每个人都可以在周五下午欣赏一些新音乐。

编码是许多开发人员工作流程中如此重要的一部分,以至于 Spotify 创建了一些“官方”播放列表。然而,个人也收集了一些史诗般的编码播放列表,我想在下面与你分享一些“官方”和自制的播放列表。

预建的编码播放列表

如果你想一键启动,有很多预置的编码播放列表。

如果你想一键启动,有很多预置的编码播放列表。

  • 编码播放列表|几乎所有乐器:

如果你只想听音乐,这是一个很棒的播放列表。我知道如果有人声,有些人会分心。你花在唱歌上的时间比实际编码的时间还多。

如果你只想听音乐,这是一个很棒的播放列表。我知道如果有人声,有些人会分心。你花在唱歌上的时间比实际编码的时间还多。

编码播放列表:

我真的很喜欢这个播放列表,因为它充满活力,混合了鼓、贝斯和俱乐部的曲调。这与第一个播放列表形成了鲜明的对比。

电影配乐

就像我上面说的,我真的很喜欢好的音乐配乐。他们有一些令人振奋的东西,这只会让你心情愉快。这减少了压力,并有希望让你以更放松的方式编码。

电影配乐

最伟大的表演者:

  • 汉密尔顿:

猫:

游戏配乐

另一件有帮助的事情是游戏配乐。音乐在许多游戏中是如此重要的一部分,所以这些游戏的配乐非常好也就不足为奇了。

游戏原声音乐可以立即带你回到童年的记忆中,并再次减轻压力。下面是几个播放列表,让我想起了精彩的游戏。

盛大旅游盛传:

超级游戏:

背景声音

这些是白色和棕色噪音播放列表。我自己并不使用它们,但是我从其他开发者那里听说这些播放列表真的能帮助他们集中注意力。

游戏原声音乐可以立即带你回到童年的记忆中,并再次减轻压力。下面是几个播放列表,让我想起了精彩的游戏。

白噪声:

棕色噪音:

据我所知,白噪音倾向于比棕色噪音略高的音调,但据说两者都有相同的好处:有助于集中注意力,减轻压力,有些人甚至听着这种播放列表入睡!

另一个选择是在你通常的播放列表上播放一些背景声音。我用的是 https://coffitivity.com/,它可以让你播放声音,比如繁忙的咖啡馆或者背景中人们的低语。我把它放在我自己的播放列表上面,你可以调节音量,这样它就更像是背景音乐了。

这些是白色和棕色噪音播放列表。我自己并不使用它们,但是我从其他开发者那里听说这些播放列表真的能帮助他们集中注意力。

戴上耳机,开始编码吧!

无论你的音乐口味如何,总有一个播放列表适合你!无论你是听鼓和低音还是听低音,找到适合你的方式都很重要。音乐是非常私人的东西,一个我喜欢的播放列表可能是你讨厌的播放列表!没关系,我不会往心里去。

也有很多选项可以让你得到播放列表。Spotify 显然是一项受欢迎的服务,但你可以使用亚马逊音乐苹果音乐YouTube 音乐或任何其他可用的音乐服务。找一个适合你的。

我很想听听你编码时听的是什么播放列表。你可以在 https://www.twitter.com/scottishcoderhttps://mastodon.scot/@scottishcoder上找到我。

棕色噪音:

据我所知,白噪音倾向于比棕色噪音略高的音调,但据说两者都有相同的好处:有助于集中注意力,减轻压力,有些人甚至听着这种播放列表入睡!

另一个选择是在你通常的播放列表上播放一些背景声音。我用的是 https://coffitivity.com/,它可以让你播放声音,比如繁忙的咖啡馆或者背景中人们的低语。我把它放在我自己的播放列表上面,你可以调节音量,这样它就更像是背景音乐了。

戴上耳机,开始编码吧!

无论你的音乐口味如何,总有一个播放列表适合你!无论你是听鼓和低音还是听低音,找到适合你的方式都很重要。音乐是非常私人的东西,一个我喜欢的播放列表可能是你讨厌的播放列表!没关系,我不会往心里去。

也有很多选项可以让你得到播放列表。Spotify 显然是一项受欢迎的服务,但你可以使用亚马逊音乐苹果音乐YouTube 音乐或任何其他可用的音乐服务。找一个适合你的。

我很想听听你编码时听的是什么播放列表。你可以在 https://www.twitter.com/scottishcoderhttps://mastodon.scot/@scottishcoder上找到我。

命令行工具 CLI 简介第 3 部分

原文:https://www.gitkraken.com/blog/command-line-tools

点击下面阅读我们 CLI 简介系列的其他文章:

在本系列的开始,我们看到了在您的机器上使用 CLI shell 的好处。其中一个好处是有大量的开发者工具可以使用,这些工具只有一个命令行界面。

在 CLI 简介系列的这一部分中,我们将重点关注:

对于那些完全不熟悉开发术语的人来说,命令行工具是一个通用术语,用于描述完全从 CLI Shell 运行的程序、应用程序或脚本。命令行工具不包括 GUI,只是简单地接受用户的文本输入并将结果打印到屏幕上。

无论你如何使用命令行,GitKraken 客户端的 CLI 将帮助你轻松地自动完成你的命令!

在关于 shell 命令的上一节的最后,我们分享了一个方便的 shell 命令列表,比如headtail。您在 shell 中键入的命令会触发与您的 CLI shell 自动附带的同名应用程序。Shell 命令实际上是对计算机上程序的调用。

有很多实用程序,就像那些内置在默认体验中的程序,给你提供了与你的机器进行交互的强大方法。

命令结构

所有 CLI shell 命令和应用程序都遵循相同的基本结构。那个结构看起来是这样的:

$ program-name specific-action -options parameters

第一部分:$ program-name指定你调用的是哪个应用。

第二部分:specific-action告诉应用你想做什么。可选地,您可以提供标志,这里显示为-options,以引起某些行为或设置。

最后,参数是您需要输入来完成命令的任何内容。参数有时也是可选的。随着你开始更多地使用命令行,这将变得更有意义。实践是学习任何东西的最好方法,所以在另一个窗口打开一个终端,也许是通过 GitKraken 客户端终端标签,让我们看看 Zsh 附带的一些内置命令行工具。

系统实用程序

CLI shell 中包含的执行特定操作的程序,如lspwd,通常被称为系统实用程序。除了我们在上一篇文章中提到的,shell 中还内置了许多其他组件。

命令行日期工具

要将当前日期打印到屏幕上,使用:

$ date

通过 CLI 显示日期有很多选项,包括以不同的格式打印,或只显示日期的一部分,如一个月或一天中的时间。

使用man date查看选项的完整列表。当您在终端中工作时,Date 是一个方便的 CLI 程序,但是当您开始编写脚本时,它变得非常有用。

命令行时间工具

你可能认为一个叫做时间的工具会告诉你时间,就像date告诉你日期一样。没有。时间执行一个命令,并计算运行时间。这个 CLI 程序还提供了关于执行所花费的处理时间和系统资源的有用信息。

要定时任何命令,使用下面的命令行工具:

$ time command

在上面的例子中,time CLI 程序检查了安装了哪个版本的 npm。您可以看到它花费了 0.27 秒的用户时间,0.16 秒的系统时间,在命令执行期间使用了 66%的 CPU,从开始到结束总共花费了 0.651 秒。

用户时间和系统时间有什么区别?如果你想了解更多,堆栈溢出上有一个关于 time output这个令人惊讶的深刻主题的很好的解释。当您开始构建脚本和编写程序时,这个命令行工具变得非常方便。

命令行比较工具

Git 借用了 CLI shell 的很多概念。它借用的一个想法是在文件之间运行一个 diff 来显示不同之处。在 Git 中, Git diff 比较同一个文件的不同版本;但是早在 Git 版本控制出现之前,CLI 用户就可以轻松地比较多个文件。

要显示 2 个文件的区别,使用下面的命令行工具:

$ diff file1 file2

Tar 和 Gzip

内置于现代 CLI shells 中的是一种将文件打包并压缩到单个归档文件中的方法,这使得传输任何规模的项目都很容易。虽然这里有两个命令,但它们是一起使用的,很少会看到一个命令没有另一个命令。

第一个命令行工具是:tar,它将事物捆绑在一起成为单个对象,通常被称为 tarball

第二个命令行工具是:gzip,它将 tarball 压缩成易于共享的压缩文件。

已经“打包”和压缩的文件将有一个.tar.gz扩展名。看到许多 Linux、开源和一些 macOS 可下载文件以这种方式存档是很常见的。

要把一个文件夹的内容和 zip 文件捆绑成一个可移植的存档,使用下面的:

$ tar -czvf name-of-archive.tar.gz directory-or-file

第二个命令行工具是:gzip,它将 tarball 压缩成易于共享的压缩文件。

已经“打包”和压缩的文件将有一个.tar.gz扩展名。看到许多 Linux、开源和一些 macOS 可下载文件以这种方式存档是很常见的。

要把一个文件夹的内容和 zip 文件捆绑成一个可移植的存档,使用下面的:

$ tar -czvf name-of-archive.tar.gz directory-or-file

好多旗子啊!不要惊慌。虽然这可能看起来相当过时,但这些选项中的每一个都代表了一个易于理解的想法。他们的意思是:

-c:创建一个档案。

-z:用 Gzip 压缩存档。

  • -v:创建归档文件时在终端显示进度,也称为“verbose”模式。v在这些命令中是可选的,但它有助于确保工具按预期运行。
  • -f:允许您指定档案的文件名。
  • -v:创建归档文件时在终端显示进度,也称为“verbose”模式。v在这些命令中是可选的,但它有助于确保工具按预期运行。
  • 要提取 tar.gz 归档文件,请使用以下命令:

$ tar -xzvf name-of-archive.tar.gz

要提取 tar.gz 归档文件,请使用以下命令:

$ tar -xzvf name-of-archive.tar.gz

因为您已经使用了-c来创建归档文件,所以您将使用-x来提取归档文件。

Grep

“Grep”代表全局正则表达式打印。这是有史以来最强大的文本搜索工具之一。学习使用这个命令行工具将帮助您非常快速地找到单独的代码片段,加快您的工作流程,尤其是对于大型存储库。

Grep 搜索任何指定的文件,选择匹配一个或多个所需模式的行,这些模式通过正则表达式匹配来识别。匹配至少一个模式的每个输入行将被写入标准输出。

在单个文件中查找一个字符串,使用下面的:

$ grep ‘search_string’ filename

Grep

“Grep”代表全局正则表达式打印。这是有史以来最强大的文本搜索工具之一。学习使用这个命令行工具将帮助您非常快速地找到单独的代码片段,加快您的工作流程,尤其是对于大型存储库。

要在同一目录中共享同一文件类型的任何文件中查找字符串,请使用以下命令:

$ grep ‘search_string’ *.extension

在这个例子中,我们使用通配符*来指定我们指的是以扩展名.txt结尾的任何文件。您也可以单独使用通配符来搜索所有文件。

要在同一目录下的任意文件中查找一个字符串,使用如下:

$ grep ‘search_string’ *

在这个例子中,我们使用通配符*来指定我们指的是以扩展名.txt结尾的任何文件。您也可以单独使用通配符来搜索所有文件。

要在同一目录下的任意文件中查找一个字符串,使用如下:

默认情况下,Grep 只在当前的工作目录中查找,但是告诉 Grep 搜索子目录也很容易。

要在当前任意文件或任意子目录中查找字符串,使用以下:

$ grep -r ‘search_string’ *

Grep 有很多很多选项,可以提供各种信息,给你很多搜索选项。值得花时间通读 Grep 手册,通过运行$ man grep来熟悉什么是可能的。这是一个使用 Grep 的高级示例,它使用了多个标志。

要查找一个字符串出现的次数,使用不区分大小写的搜索,从当前目录开始搜索所有子目录,使用以下命令:

$ grep -Ric ‘search_string' .

Grep 有很多很多选项,可以提供各种信息,给你很多搜索选项。值得花时间通读 Grep 手册,通过运行$ man grep来熟悉什么是可能的。这是一个使用 Grep 的高级示例,它使用了多个标志。

要查找一个字符串出现的次数,使用不区分大小写的搜索,从当前目录开始搜索所有子目录,使用以下命令:

在这个例子中,我们组合了多个选项来给出字符串在每个文件中出现的次数(-c),不考虑大小写(-i),来自当前目录中的所有文件和当前位置(-R)的任何子目录。

管道 Grep 输出

在本系列的第一部分中,您了解了 Bourne 的 Shell。Sh”和后来的 Bash 变得流行起来,因为它能够将一个命令的输出作为另一个命令的输入。

这种能力被称为管道,使用|字符作为操作符。这是一个非常强大的命令行工具,可以让你做一些非常复杂的搜索。让我们看一个实际的例子:

在前面的命令$ grep -Ric示例中,您看到 Grep 列出了它搜索的每个文件,以及每个搜索词出现的次数。

在这个例子中,直观地扫描输出并不困难,因为只有几个文件。但是想象一下有成百上千个文件的情况。手动读取输出来查找搜索词出现两次的文件几乎是不可能的。但对 Grep 来说不是。

要使用 Grep 来搜索 Grep 搜索的结果,使用下面的:

$ grep ‘search_string' directory/file | grep ‘search_string'

这种能力被称为管道,使用|字符作为操作符。这是一个非常强大的命令行工具,可以让你做一些非常复杂的搜索。让我们看一个实际的例子:

在前面的命令$ grep -Ric示例中,您看到 Grep 列出了它搜索的每个文件,以及每个搜索词出现的次数。

在上面的例子中,我们使用 Grep 搜索第一个 Grep 命令的输出,寻找字符串:2。现在我们知道了当使用不区分大小写的搜索来搜索时,哪个文件包含了原始术语Line 2。这种递归搜索在检查日志文件或调试代码时非常有用。

在 Bash 和 Zsh 中,您可以将任何命令的输出通过管道传递给任何其他命令的输入。我们将在脚本部分详细讨论这一点。

当你在 VS 代码中工作时,在 repos 中搜索你想要的东西会变得容易得多。强大的用户界面将释放一些真正的 Git 超级用户的力量!立即安装

在上面的例子中,我们使用 Grep 搜索第一个 Grep 命令的输出,寻找字符串:2。现在我们知道了当使用不区分大小写的搜索来搜索时,哪个文件包含了原始术语Line 2。这种递归搜索在检查日志文件或调试代码时非常有用。

在 Bash 和 Zsh 中,您可以将任何命令的输出通过管道传递给任何其他命令的输入。我们将在脚本部分详细讨论这一点。

命令行联网工具

Install GitLens for VS Code

Ping 工具用于测试特定主机是否可以通过 IP 网络到达。“ping”告诉您数据包从本地主机发送到目的计算机并返回需要多长时间,同时显示沿途的任何数据包丢失。

当构建 web 应用程序或在代码中利用 web 服务时,这是一个非常方便的命令行工具。

要测试主机在互联网上是否可达,请使用以下命令:

$ ping URL

在上面的例子中,您将看到gitkraken.com显示 Ping 信息,没有任何问题,这意味着有问题的站点正在工作。然而,当 pinging】时,您会看到一个错误,告诉您该 URL 是不可解析的,这意味着有一个问题到达它。

卷曲

cURL 代表“客户端 URL”。这是一个命令行工具,用于从 URL 传输数据,它有很多选项。虽然 cURL 有很多用例,但这里有两个开发人员经常使用的非常有用的命令。

cURL 代表“客户端 URL”。这是一个命令行工具,用于从 URL 传输数据,它有很多选项。虽然 cURL 有很多用例,但这里有两个开发人员经常使用的非常有用的命令。

从 URL 复制文件

要从一个 URL 复制一个文件并将内容存储在一个同名的本地文件中,请使用下面的:

$ curl -O URL-of-file

卷曲

cURL 代表“客户端 URL”。这是一个命令行工具,用于从 URL 传输数据,它有很多选项。虽然 cURL 有很多用例,但这里有两个开发人员经常使用的非常有用的命令。

在上面的例子中,位于https://raw . githubusercontent . com/MCD Wayne/Moby-dick/main/chapter/001-loomings . MD的文件的全部内容被复制到一个本地文件中,也命名为001-loomings.md。注意:我们使用了大写的O,而不是零或小写。另外,请注意:该文件的内容是从文件的raw版本卷曲而来的,这意味着没有标题或样式信息,只有内容的纯文本。如果您尝试从默认的 GitHub 视图中复制该文件,它也会将该文件周围的所有 HTML 都拉出来。

从 URL 复制文件

检查网站标题

要查看一个网站的标题,使用下面的:

$ curl –head URL

要查看一个网站的标题,使用下面的:

$ curl –head URL

在上面的例子中,位于https://raw . githubusercontent . com/MCD Wayne/Moby-dick/main/chapter/001-loomings . MD的文件的全部内容被复制到一个本地文件中,也命名为001-loomings.md。注意:我们使用了大写的O,而不是零或小写。另外,请注意:该文件的内容是从文件的raw版本卷曲而来的,这意味着没有标题或样式信息,只有内容的纯文本。如果您尝试从默认的 GitHub 视图中复制该文件,它也会将该文件周围的所有 HTML 都拉出来。

在上面的例子中返回了很多信息,但是很快你就可以知道:

响应来自哪个服务器,在本例中是 GitHub.com,这很有意义,因为这是一个 GitHub 页面

该网站最后一次更新是在 2022 年 1 月 31 日,星期一

该网站使用 Varnish 作为缓存服务器

缓存被命中,命中时已有 86 秒

在上面的例子中返回了很多信息,但是很快你就可以知道:

在调试缓存和 web 应用程序问题时,curl –head命令行工具非常有用。

  • 宋承宪

  • SSH 代表安全外壳协议,简单来说就是一种建立连接的方式,允许你在另一台计算机上使用外壳。这是管理远程服务器或连接到远程服务的安全方式。

  • GitHubGitLabBitbucket 这样的 Git 托管服务依靠 SSH 在用户之间高效地来回传输数据。虽然大多数情况下,服务需要现有的帐户和特定的登录凭证,但也有一些公共服务允许 SSH 连接。本指南中的这个使用了 Telehack ,这是一个惊人的资源,可以安全地探索命令行能做什么!

    要使用 SSH 连接到远程服务器,请使用以下命令:

    $ ssh username:hostname-or-ip-address -p port-number

  • GitHubGitLabBitbucket 这样的 Git 托管服务依靠 SSH 在用户之间高效地来回传输数据。虽然大多数情况下,服务需要现有的帐户和特定的登录凭证,但也有一些公共服务允许 SSH 连接。本指南中的这个使用了 Telehack ,这是一个惊人的资源,可以安全地探索命令行能做什么!

    要使用 SSH 连接到远程服务器,请使用以下命令:

    $ ssh username:hostname-or-ip-address -p port-number

在调试缓存和 web 应用程序问题时,curl –head命令行工具非常有用。

在上面的例子中,我们以来宾身份连接,这在大多数主机上是不允许的。大多数情况下,你需要有一个用户账户,设置一个密码,或者用一个 SSH 密钥对进行连接。

虽然这里不深入讨论,但本质上 SSH 密钥对是由两个非常长的字母和数字组成的一组字符串,一个是公共的,一个是私有的,它允许您安全地通过互联网进行身份验证。您与远程服务共享公钥,而私钥则保存在您的设备上。当你第一次连接时,一个基于陷门函数的复杂算法会运行,以查看公钥和私钥是否对应。如果它们一致,则建立安全的加密连接。

ssh-keygen

当通过 SSH 连接到远程服务时,您很可能需要使用 SSH 密钥进行身份验证。这种设置非常简单,并且内置于所有 CLI shells 中。

要生成一个新的 SSH 密钥对,使用下面的:

$ ssh-keygen

当通过 SSH 连接到远程服务时,您很可能需要使用 SSH 密钥进行身份验证。这种设置非常简单,并且内置于所有 CLI shells 中。

要生成一个新的 SSH 密钥对,使用下面的:

$ ssh-keygen

除了命令之外,您还可以提供许多可选参数,但是输入命令本身会提示您输入完成创建过程所需的信息。上面的例子只显示了第一步。

生成密钥后,默认情况下,您可以在您机器的~/.ssh文件夹中找到新密钥。会有两个文件输出:id_rsaid_rsa.pub.pub代表 public,您应该将它添加到远程服务中。每项服务都将提供如何最好地上传和存储您的公钥的说明。

关于 SSH 密钥的一些最终提示:

永远不要与任何人或任何服务分享你的私人密钥。如果服务要求您上传私钥,最佳做法是为该服务创建一个新的专用密钥对。RedHat 有一个很好的多 SSH 密钥指南来管理这种模式。

不要将任何密钥复制/粘贴到任何代码库中。

经常更改您的 SSH 密钥和密码。尽量确保如果一个坏演员确实发现了一个泄漏的密钥,它在他们有机会使用它之前就过期了。

撤销不再使用的服务上的 SSH 密钥。只有经常使用的服务才应该随时拥有您的公钥。结合定期轮换您的密钥,这是保持安全的最佳安全实践。

撤销不再使用的服务上的 SSH 密钥。只有经常使用的服务才应该随时拥有您的公钥。结合定期轮换您的密钥,这是保持安全的最佳安全实践。

使用命令行工具编辑文本

Vim

Vim 代表 Vi 改进编辑器,是最古老的文本编辑器之一,也是最难学的。Vim 有一种永远不需要将手从键盘上移开的世界观,一旦你跨越了非常陡峭的学习曲线,它就是一个非常强大的编辑器。

如果您曾经提交了一个Git并且没有提供一个 Git 提交消息,那么您很可能会进入 Vim 编辑器。在您将会遇到的许多系统上,它被设置为默认的文本编辑器,所以最好至少对这个命令行工具有一些了解。

人们对 Vim 最常见的问题是:“我如何退出 Vim?”这个问题的答案实际上揭示了一点 Vim 是如何工作的。

要退出 Vim,请遵循以下步骤:

按下esc

  • 键入:wq并按下enter/回车键。
  • 经常更改您的 SSH 密钥和密码。尽量确保如果一个坏演员确实发现了一个泄漏的密钥,它在他们有机会使用它之前就过期了。
  • 撤销不再使用的服务上的 SSH 密钥。只有经常使用的服务才应该随时拥有您的公钥。结合定期轮换您的密钥,这是保持安全的最佳安全实践。
  • Revoke SSH keys on services you are no longer using. Only actively used services should have your public key at any time. Combined with rotating your keys on a regular basis, this is a great security best practice to stay safe and secure.

当您按下esc键时,您是在告诉 Vim 您想进入“命令模式”只需要担心另一种模式,“插入模式”,它允许您键入文件。命令模式允许您输入影响编辑器本身的高级命令。

所有命令都以冒号“:”开头。命令:wq代表“将屏幕上的内容写入文件”,意思是保存文件,并退出 Vim。

学习 Vim 有很多好处,从人机工程学到更快的文件导航,最终能够更快地编写可发布的代码。学习 Vim 的一个很好的资源是 Drew Neil 的书《实用 Vim 》。

纳米

幸运的是,在大多数系统上有更多的文本编辑命令行工具可供选择,其中之一就是 Nano。这个文本编辑器也非常强大,有许多可用的命令和选项,但与 Vim 不同,它使用起来更友好,因为它在屏幕上显示了一些选项,告诉您如何保存和退出应用程序。

人们对 Vim 最常见的问题是:“我如何退出 Vim?”这个问题的答案实际上揭示了一点 Vim 是如何工作的。

要退出 Vim,请遵循以下步骤:

按下esc

  1. 键入:wq并按下enter/回车键。
  2. 从上面的例子可以看出,Nano 界面的底部提供了一个选项列表,您可以通过按下cmd键和所需选项的字母来执行。

例如:要退出 Nano,键入cmd+x,或者,要剪切一行文本键入cmd+k

例如:要退出 Nano,键入cmd+x,或者,要剪切一行文本键入cmd+k

自 Vim 以来,文本编辑器已经走过了漫长的道路。以 VS 代码为例,它对用户友好得多,并且可以用 GitLens 这样的强大工具进行扩展。

Sed

另一个值得注意的编辑选项是“流编辑器”sed。stream editor 是指一种命令行工具,它可以通读文件,并在找到您想要查找和替换的术语的实例时进行更改。

像 Vim 一样,一开始理解起来可能有点棘手,但是这是一个非常强大的命令行工具,可以一次编辑多个文件。你可以把它看作一个全局搜索和替换工具,因为这是主要的用例之一,它可以跨多个文件和目录运行。

要搜索和替换文件中的一个字符串,使用下面的:

$ sed -I ‘.ext’ ‘s/old-string/new-string/options’ filename

幸运的是,在大多数系统上有更多的文本编辑命令行工具可供选择,其中之一就是 Nano。这个文本编辑器也非常强大,有许多可用的命令和选项,但与 Vim 不同,它使用起来更友好,因为它在屏幕上显示了一些选项,告诉您如何保存和退出应用程序。

Fortunately, there are more options for a text editing command line tools available on most systems, one of which is Nano. This text editor is also pretty powerful, with many commands and options available, but unlike Vim, it is much friendlier to use, as it presents onscreen options that inform you how to do things like save and quit the application.

上例中运行的确切命令是:
sed -i '.bak' 's/Line 2/Line X/gi' t1.txt

让我们快速分解一下。

-i代表“编辑文件 i n-place”。

.bak告诉 sed,您想要制作一个以.bak结尾的原始文件的副本,这是“备份”的简写。

sed 命令的核心是中间的正则表达式搜索,即's/Line 2/Line X/gi部分。

第一个s代表“替代”,这是我们希望 sed 最终要做的。还有其他选择,但s是最常见的。

/Line 2/Line X/告诉 sed 要查找什么以及用什么替换它。

Install GitLens for VS Code

结尾的选项gi代表全局,意味着文件中的每一个事件,不区分大小写。

最后一部分只是搜索所针对的文件的名称。

像 Vim 一样,一开始理解起来可能有点棘手,但是这是一个非常强大的命令行工具,可以一次编辑多个文件。你可以把它看作一个全局搜索和替换工具,因为这是主要的用例之一,它可以跨多个文件和目录运行。

要搜索和替换文件中的一个字符串,使用下面的:

$ sed -I ‘.ext’ ‘s/old-string/new-string/options’ filename

乍一看,这似乎有点晦涩难懂,但是值得花时间去理解这个命令行工具。想象一下这样一个场景,对计费系统的更改意味着您需要修改代码库中变量名的所有实例。手动在数千个文件中查找和替换该字符串可能需要几天或几周的时间,并且非常容易出错。对整个代码库运行 sed 需要几分钟的时间,并且会无一例外地替换每个实例。

乍一看,这似乎有点晦涩难懂,但是值得花时间去理解这个命令行工具。想象一下这样一个场景,对计费系统的更改意味着您需要修改代码库中变量名的所有实例。手动在数千个文件中查找和替换该字符串可能需要几天或几周的时间,并且非常容易出错。对整个代码库运行 sed 需要几分钟的时间,并且会无一例外地替换每个实例。

安装更多命令行工具

有大量的命令行工具,你现在就可以安装它们来扩展你的计算机的功能。在深入研究命令行工具的几个例子之前,最好先了解您的计算机一般如何管理应用程序,以及如何安装和卸载各种应用程序。

-i代表“编辑文件 i n-place”。

  • 包管理器

  • 在 Linux 和 macOS 等*NIX 系统上,CLI 的软件主要由包管理器管理。这些 CLI 程序为您提供了数以千计的免费命令行工具,安装起来不费吹灰之力。这些包管理器还处理每个工具所需的所有依赖性管理,这意味着如果需要另一个库或资源,它也会自动安装和配置它们。

  • 如果你在 macOS 上,你可以使用家酿。如果你是一个 Linux 用户,你可以利用各种各样的包管理器,其中 APTyum 是最受欢迎的 Linux 发行版。下面的例子是在 macOS 上用家酿显示的。

    要用 Homebrew 安装 CLI 程序,请使用以下命令:

    $ brew install application-name

    • /Line 2/Line X/告诉 sed 要查找什么以及用什么替换它。

    • 结尾的选项gi代表全局,意味着文件中的每一个事件,不区分大小写。

    • 要删除一个带有自制软件的程序,使用下面的:

      $ brew remove application-name

  • 要删除一个带有自制软件的程序,使用下面的:

    $ brew remove application-name

乍一看,这似乎有点晦涩难懂,但是值得花时间去理解这个命令行工具。想象一下这样一个场景,对计费系统的更改意味着您需要修改代码库中变量名的所有实例。手动在数千个文件中查找和替换该字符串可能需要几天或几周的时间,并且非常容易出错。对整个代码库运行 sed 需要几分钟的时间,并且会无一例外地替换每个实例。

寻找软件

Homebrew 维护着一个不到 6000 个软件包的列表,所有这些软件包都可以免费下载、安装和使用。APT 没有这样一个集中的列表,但是有多个开源社区站点维护 APT 包的列表。然而,当考虑获得新的应用程序时,查看所有可能的用例的所有可用包是令人难以承受的,并且肯定不是找到新的命令行工具的最佳方法。

对于你能想到的任何命令行工具的用例,世界上很可能有另一个开发者试图围绕它创建另一个工具。在网上快速搜索一下你想做的事情,加上关键词 APT 或 Homebrew,会帮助你缩小搜索范围。

此外,还有超过 1 . 28 亿个公共在线知识库,其中许多都有命令行工具,你可以下载并安装。这是对包管理器的补充!但是有时,在某些情况下,您可能只想或需要构建自己的工具。我们将在本系列的另一部分更详细地讨论这个问题。现在,让我们向前看,看看您可以立即安装并在终端上运行的命令行工具的一个小样本!

有大量的命令行工具,你现在就可以安装它们来扩展你的计算机的功能。在深入研究命令行工具的几个例子之前,最好先了解您的计算机一般如何管理应用程序,以及如何安装和卸载各种应用程序。

不管你在 Git 中做什么,或者你需要什么命令行工具,GitKraken Client 都有 GitKraken CLI 有用的自动完成建议!

包管理器

这绝不是一个详尽的列表,而是作为有用工具的一个小样本,让您习惯于安装和使用 CLI 工具。你可以使用$ brew install program-name在 macOS 上安装这些程序。

Calc

Calc 是一个简单易用但功能强大的计算器。为什么不在你的电脑或手机上打开一个 GUI 计算器呢?首先,Calc 允许您在调用所需的计算时传递它,如果您已经在终端上工作,这将节省时间。

要用 Calc 执行计算,使用以下:

$ calc first-number operator second-number

Calc 是一个简单易用但功能强大的计算器。为什么不在你的电脑或手机上打开一个 GUI 计算器呢?首先,Calc 允许您在调用所需的计算时传递它,如果您已经在终端上工作,这将节省时间。

要用 Calc 执行计算,使用以下:

$ calc first-number operator second-number

要删除一个带有自制软件的程序,使用下面的:

$ brew remove application-name

这个命令行工具非常方便和简单。它适用于所有基本运算,您甚至可以使用^字符计算指数幂。Calc 也是完全可定制的。参见man calc了解可用选项的全部信息。

Calc 也有一个交互模式,你可以执行多个计算,直到你输入exitquit

要在交互模式下运行 Calc,使用以下命令:

$ calc

Tree 以树状格式列出一个目录及其子目录的内容。这对于快速理解存储库的文件结构非常有用。

要查看一个文件夹的树形视图,使用以下:

$ tree path/to/folder

Homebrew 维护着一个不到 6000 个软件包的列表,所有这些软件包都可以免费下载、安装和使用。APT 没有这样一个集中的列表,但是有多个开源社区站点维护 APT 包的列表。然而,当考虑获得新的应用程序时,查看所有可能的用例的所有可用包是令人难以承受的,并且肯定不是找到新的命令行工具的最佳方法。

对于你能想到的任何命令行工具的用例,世界上很可能有另一个开发者试图围绕它创建另一个工具。在网上快速搜索一下你想做的事情,加上关键词 APT 或 Homebrew,会帮助你缩小搜索范围。

此外,还有超过 1 . 28 亿个公共在线知识库,其中许多都有命令行工具,你可以下载并安装。这是对包管理器的补充!但是有时,在某些情况下,您可能只想或需要构建自己的工具。我们将在本系列的另一部分更详细地讨论这个问题。现在,让我们向前看,看看您可以立即安装并在终端上运行的命令行工具的一个小样本!

Homebrew maintains a list of just under 6,000 packages, all of which can be downloaded, installed, and used for free. APT does not have such a centralized list, but there are multiple open source community sites that maintain lists of APT packages. However, when considering obtaining new applications, looking at all of the available packages for all possible use cases is overwhelming at best, and is definitely not the best approach to finding new command line tools.

For just about any use case you can imagine for a command line tool, there is likely another developer in the world who has attempted to create another tool around it. A quick Internet search about the general nature of what you want to do, plus the keyword APT or Homebrew, will help you start narrowing down your search.

Additionally, there are over 128 million public online repositories, many of which have command line tools you can download and install.  This is in addition to the package managers!  But sometimes, there are situations when you will just want to or need to build your own tools.  We will look at that in more detail in another part of this series.  For the time being, let’s move forward and look at a small sampling of command line tools you can install right now to run in your terminal!

ffmpeg 命令行工具

ffmpeg 命令行工具是一个非常快的视频和音频转换器。因为没有 GUI 呈现在屏幕上,这个命令行工具可以更快地直接对媒体文件执行操作。

对于您想要调用的格式、大小、速度、每秒帧数以及任何其他视频转换选项,几乎没有任何限制。有很多关于如何最好地开始使用 ffmpeg 的指南,这是一个需要更多空间的主题,我们无法在这里给出。

虽然 ffmpeg 命令行工具有很多使用案例,但其中最常见的是将视频转换为使用 h265 视频编码。这种高质量的格式在不牺牲分辨率的情况下占用了大约十分之一的空间。

要以每秒 28 帧的速度将视频转换为 h265 编码,请使用以下代码:

$ ffmpeg -i source-video-file -vcodec libx265 -crf 28 uutput-file-name

Calc 是一个简单易用但功能强大的计算器。为什么不在你的电脑或手机上打开一个 GUI 计算器呢?首先,Calc 允许您在调用所需的计算时传递它,如果您已经在终端上工作,这将节省时间。

要用 Calc 执行计算,使用以下:

$ calc first-number operator second-number

Calc is a calculator that is easy to use but also very powerful.  Why not just open a GUI calculator on your computer or phone? For starters, Calc lets you pass through the desired calculation while you are calling it, which saves time if you’re already working in a terminal.

To perform a calculation with Calc, use the following:

$ calc first-number operator second-number

在上面的例子中发生了很多事情,所以如果它看起来让你不知所措,不要惊慌!您对这个工具和所有命令行工具研究得越多,就越容易理解屏幕上显示的内容。

运行该命令后,文件大小从最初的 86MB 缩小到 13MB(见下文)。

Imagemagick 的缩写

Imagemagick 本质上是针对命令行的 Photoshop。与 ffmpeg 一样,这里缺少 GUI 是一项资产,因为消除了将图像绘制到屏幕上的需要意味着它需要的处理能力要少得多。

这是一个功能非常丰富的图像操作命令行工具,可以调整大小,模糊,裁剪,去斑点,翻转,重新采样,等等。与此列表中的其他命令行工具不同,应用程序名称不是您调用应用程序的方式。

要调用 Imagemagick,您需要调用convert

要使用 Imagemagick 调整图像大小,请使用以下命令:

$ convert -resize new-widthxnew-height original-image name-of-new-output-image

要使用 Imagemagick 调整图像大小,请使用以下命令:

$ convert -resize new-widthxnew-height original-image name-of-new-output-image

ffmpeg 命令行工具

在上面的例子中,我们试图将一个 2694×382 像素的图像调整为 300×240 像素,这会以不自然的方式拉伸图像。相反,Imagemagick 会自动为我们保存比例,并输出尺寸为 300×43 的图像。通过让 Imagemagick 列出图像信息,我们可以很容易地从它那里获得这些信息。

要使用 Imagemagick 获取图像的宽度和高度,请使用以下代码:

$ convert image-name -format "%wx%h" info:

使用 Imagemagick 还可以做更多的事情。对于使用 Imagemagick 的各种用例,有很多指南。这个命令行工具的一个更常见的用例是调整图像的大小。

ddgr

如果你是浏览器中的搜索工具 DuckDuckGo 的粉丝,你可能会喜欢在命令行中使用 [DuckDuckGo。

从终端使用 DuckDuckGo 执行网络搜索,使用以下:

$ ddgr searchterm](https://github.com/jarun/ddgr)

如果你是浏览器中的搜索工具 DuckDuckGo 的粉丝,你可能会喜欢在命令行中使用 [DuckDuckGo。

从终端使用 DuckDuckGo 执行网络搜索,使用以下:

$ ddgr searchterm](https://github.com/jarun/ddgr)

一旦它显示了搜索结果,您可以选择想要在系统的默认浏览器中打开哪个结果。虽然这看起来有点新奇,但是从命令行执行 web 搜索的能力可以帮助您停留在开发流程中,并通过减少上下文切换来保持专注。

如果你以正常方式打开浏览器,有可能会有很多干扰,因为提醒和通知会偷走你的注意力。使用 ddgr,您可以查找文档或示例代码,直接打开浏览器,获得您需要的内容,然后立即返回工作。如果你更喜欢谷歌的搜索结果,那么你可以查看 googler

WP-CLI

如果你正在管理一个 WordPress 网站,这是你工作流程中一个非常方便的命令工具。 WordPress 命令行界面让你从终端管理 WordPress。你可以通过管理界面做的任何事情,你都可以通过 WP-CLI 来完成,还有更多。

要运行 WP-CLI,使用下面的:

$ wp

背刺

BackstopJS 是一款针对网页的可视化回归测试命令行工具。本质上,它截取 URL 的截图,并逐个像素地进行比较,看它们是否相同,如果不相同,就抛出一个错误。这最常用于网站开发的测试阶段,以确保准备的内容与开发环境相匹配,在代码最终进入生产环境之前捕捉意外的 CSS 错误。

BacktopJS,不像我们到目前为止看到的所有其他命令行工具,需要您在配置文件中指定设置来使用它。用例越高级,或者工具的概念越复杂,你就越会遇到这种情况。

对于 BackstopJS,您需要在一个配置文件中设置测试 URL、参考 URL、与之比较的网站图像、屏幕分辨率和一些其他因素。有一点学习曲线,但是如果您需要测试您的 web 应用程序部署管道,BackstopJS 可以挽救这一天。

要检查两个 URL 是否包含完全相同的网站图像,请使用以下命令:

$ backstop test

npm

npm 不是一个命令行工具,更接近于基于 JavaScript 的应用程序的包管理器和编排套件。它包含在这个列表中是为了展示命令行工具的能力范围,npm 可以做很多事情。根据官方文件,npm 允许您:

为您的应用程序改编代码包,或者按原样合并包。

下载可以立即使用的独立命令行工具。

使用 npx 运行包而不下载。

与任何地方的任何 npm 用户共享代码。

将代码限于特定的开发人员。

创建组织来协调包维护、编码和开发人员。

利用组织组建虚拟团队。

管理多个版本的代码和代码依赖项。

当底层代码更新时,轻松更新应用程序。

发现解决同一难题的多种方法。

找到其他正在处理类似问题和项目的开发人员。

如果你正在管理一个 WordPress 网站,这是你工作流程中一个非常方便的命令工具。 WordPress 命令行界面让你从终端管理 WordPress。你可以通过管理界面做的任何事情,你都可以通过 WP-CLI 来完成,还有更多。

要运行 WP-CLI,使用下面的:

$ wp

这在这里涉及太多了,但是安装 npm ,或者确保这个命令行工具安装在你的机器上,是第一步。

要检查您正在使用的 npm 的版本,或者只是要判断它是否已安装,请使用以下命令:

$ npm –version

我们列表的最后一个,但在 GitKraken 我们心中的第一个,是 Git,愚蠢的内容跟踪器。这就是官方 Git 手册如何引用这个命令行工具的(见下文)。

BackstopJS 是一款针对网页的可视化回归测试命令行工具。本质上,它截取 URL 的截图,并逐个像素地进行比较,看它们是否相同,如果不相同,就抛出一个错误。这最常用于网站开发的测试阶段,以确保准备的内容与开发环境相匹配,在代码最终进入生产环境之前捕捉意外的 CSS 错误。

BacktopJS,不像我们到目前为止看到的所有其他命令行工具,需要您在配置文件中指定设置来使用它。用例越高级,或者工具的概念越复杂,你就越会遇到这种情况。

对于 BackstopJS,您需要在一个配置文件中设置测试 URL、参考 URL、与之比较的网站图像、屏幕分辨率和一些其他因素。有一点学习曲线,但是如果您需要测试您的 web 应用程序部署管道,BackstopJS 可以挽救这一天。

关于在命令行上使用 Git 有很多要说的,你可以在我们的 learn Git 库中读到更多。无论你处于什么样的技能水平,GitKraken 网站上的内容都可以帮助你进一步了解 Git 概念,如 Git rebaseGit pushGit cherry-pick 以及许多其他概念。

GitKraken 客户端通过终端标签提供了一个 CLI,它可以显示命令提示符,让您运行任何 Git 命令,甚至在您工作时提出自动完成建议。使用 GitKraken Client,您可以充分利用 GUI 和 CLI 的优势;当您在 Terminal 选项卡中时,您仍然可以获得非常有用的图形可视化面板来轻松跟踪分支和提交!

如果您还没有尝试过 GitKraken Client ,它是免费的,我们相信您会喜欢它的!

$ backstop test

使用命令行工具定制用户体验

到目前为止,在本系列中,您已经了解了 CLI shell 的历史、一些基本的导航命令、现在可以运行的一些 CLI 程序,以及如何在您的计算机上加载更多的命令行工具。在本系列的下一期中,您将学习如何定制您的用户体验,并使之成为您自己的体验——敬请关注!

npm

npm 不是一个命令行工具,更接近于基于 JavaScript 的应用程序的包管理器和编排套件。它包含在这个列表中是为了展示命令行工具的能力范围,npm 可以做很多事情。根据官方文件,npm 允许您:

为您的应用程序改编代码包,或者按原样合并包。

  • 下载可以立即使用的独立命令行工具。
  • 使用 npx 运行包而不下载。
  • 与任何地方的任何 npm 用户共享代码。
  • 将代码限于特定的开发人员。
  • 创建组织来协调包维护、编码和开发人员。
  • 利用组织组建虚拟团队。
  • 管理多个版本的代码和代码依赖项。
  • 当底层代码更新时,轻松更新应用程序。
  • 发现解决同一难题的多种方法。
  • 找到其他正在处理类似问题和项目的开发人员。
  • Find other developers who are working on similar problems and projects.

这在这里涉及太多了,但是安装 npm ,或者确保这个命令行工具安装在你的机器上,是第一步。

要检查您正在使用的 npm 的版本,或者只是要判断它是否已安装,请使用以下命令:

$ npm –version

我们列表的最后一个,但在 GitKraken 我们心中的第一个,是 Git,愚蠢的内容跟踪器。这就是官方 Git 手册如何引用这个命令行工具的(见下文)。

Git

关于在命令行上使用 Git 有很多要说的,你可以在我们的 learn Git 库中读到更多。无论你处于什么样的技能水平,GitKraken 网站上的内容都可以帮助你进一步了解 Git 概念,如 Git rebaseGit pushGit cherry-pick 以及许多其他概念。

GitKraken 客户端通过终端标签提供了一个 CLI,它可以显示命令提示符,让您运行任何 Git 命令,甚至在您工作时提出自动完成建议。使用 GitKraken Client,您可以充分利用 GUI 和 CLI 的优势;当您在 Terminal 选项卡中时,您仍然可以获得非常有用的图形可视化面板来轻松跟踪分支和提交!

如果您还没有尝试过 GitKraken Client ,它是免费的,我们相信您会喜欢它的!

使用命令行工具定制用户体验

到目前为止,在本系列中,您已经了解了 CLI shell 的历史、一些基本的导航命令、现在可以运行的一些 CLI 程序,以及如何在您的计算机上加载更多的命令行工具。在本系列的下一期中,您将学习如何定制您的用户体验,并使之成为您自己的体验——敬请关注!

Customizing User Experience with Command Line Tools

So far in this series, you’ve looked at the history of the CLI shell, some basic navigation commands, and now some CLI programs you can run, and how to load more command line tools on your computers. In the next installment of this series, you’re going to learn about customizing your user experience and making it your own – so stay tuned!

Git 命令备忘单|了解 Git

原文:https://www.gitkraken.com/learn/git/commands

下载我们的免费 Git 命令备忘单 PDF,让最常见的 CLI 命令和操作唾手可得。

Get the Free Git Cheat Sheet

Git Commit -如何 Git Commit |学习 Git

原文:https://www.gitkraken.com/learn/git/commit

术语提交是 Git 作为版本控制系统的基础。在学习如何执行 Git commit 命令以及如何在 Git 中执行与提交相关的其他操作之前,首先理解什么是提交是很重要的。

什么是 Git 提交?

在 Git 中,提交是您的回购在特定时间点的快照。

为了帮助进一步理解什么是 Git 提交,我们需要回顾一下您的Working DirectoryStaging Directory以及文件更改是如何反映在您的 Git 存储库中的。

把你的工作目录想象成你“进行中”的工作区域;这里,创建或修改的文件还没有反映在您的 Git repo 中。对工作目录中的文件所做的更改只存在于本地计算机上。

Git 阶段文件

为了将工作目录中的更改应用到 Git 存储库中,您必须首先将它们暂存在暂存目录中。

在这里,您的更改可以通过执行 Git commit 保存在 repo 中。

为了将工作目录中的更改应用到 Git 存储库中,您必须首先将它们暂存在暂存目录中。

现在,每个 Git 提交将代表您的 repo 在该时间点的快照,并且您的所有提交将汇集在一起形成您的存储库的历史。

Git 工作流

传统上,Git 工作流包括以下步骤:

在你的工作目录中进行修改

暂存目录中的暂存更改

提交变更以将它们应用到您的 Git 存储库中

Git 工作流

好了,现在我们已经回答了什么是 Git 提交的问题,让我们深入了解如何使用跨平台 GitKraken Git GUI 进行 Git 提交,以及您可以在 CLI 中使用 Git 提交命令执行的相关操作。

  1. 在你的工作目录中进行修改

  2. 你每天在 Git 中提交多少次?GitKraken 将把这个过程加快 2.5 倍🤯。不相信我们?你自己试试。⬇️

  3. 如何在 GitKraken 中提交

让我们回顾一下使用 GitKraken 可以轻松执行的许多操作,包括如何添加、修改、删除等等。

在 GitKraken 中,当您修改、添加、删除或重命名存储库中的任何文件时,您的工作进展或 WIP 将显示在图形的顶部。

当您在 GitKraken 中单击 WIP 节点时,所有受影响的文件都会在右侧的提交面板中列出。此外,GitKraken 会在每个文件旁边显示一个彩色编码图标来表示变更类型:增加、修改、更名或删除。

你每天在 Git 中提交多少次?GitKraken 将把这个过程加快 2.5 倍🤯。不相信我们?你自己试试。⬇️

这非常有用,因为它为您提供了存储库中文件的即时上下文;不需要运行命令!

GitKraken 中的暂存文件

要在 GitKraken 中暂存文件,只需将鼠标悬停在右侧提交面板中的文件名上,然后点击Stage File

当您在 GitKraken 中单击 WIP 节点时,所有受影响的文件都会在右侧的提交面板中列出。此外,GitKraken 会在每个文件旁边显示一个彩色编码图标来表示变更类型:增加、修改、更名或删除。

GitKraken 提供的一个命令行所没有的优点是只能存放文件的单行或大块内容。您可以通过查看文件的差异来实现这一点。

这非常有用,因为它为您提供了存储库中文件的即时上下文;不需要运行命令!

在 GitKraken 中查看文件差异

要在 GitKraken 中查看文件的差异,只需在右侧提交面板中单击一个文件。从这里,您可以选择暂存或丢弃单独的代码行或代码块。

要在 GitKraken 中暂存文件,只需将鼠标悬停在右侧提交面板中的文件名上,然后点击Stage File

放弃 GitKraken 中的更改

您可以通过在提交面板上右键单击文件并选择Discard changes来放弃在 GitKraken 中对文件所做的所有更改。

GitKraken 提供的一个命令行所没有的优点是只能存放文件的单行或大块内容。您可以通过查看文件的差异来实现这一点。

此外,您还可以通过单击“提交”面板左上角的垃圾箱图标🗑来放弃对 WIP 中所有文件所做的所有更改。

要在 GitKraken 中查看文件的差异,只需在右侧提交面板中单击一个文件。从这里,您可以选择暂存或丢弃单独的代码行或代码块。

如果你在 GitKraken 中不小心丢弃了什么东西呢?

使用 GitKraken 这样的工具来管理项目的最大好处之一就是能够快速撤销或恢复错误的操作。GitKraken 只需点击一下就能让它变得完全神奇。

如果您错误地放弃更改或文件,只需单击顶部工具栏中的Undo按钮即可恢复放弃。

此外,您还可以通过单击“提交”面板左上角的垃圾箱图标🗑来放弃对 WIP 中所有文件所做的所有更改。

在 GitKraken 中添加 Git 提交消息

当您准备好在 GitKraken 中提交您的临时更改时,请确保在单击按钮提交之前,在提交消息字段中键入提交摘要和描述。也可以使用键盘快捷键Cmd / Ctrl + Enter

如果你在 GitKraken 中不小心丢弃了什么东西呢?

如果您错误地放弃了一个更改或文件,只需点击顶部工具栏中的Undo按钮即可恢复放弃。

提交更改后,WIP 节点将被转换为提交。在这里,您可以单击您的提交来查看从这个特定时间点开始的更改。

用 GitKraken 恢复 Git 提交

类似于你如何恢复你因失误而放弃的东西,GitKraken 使用神奇的Undo按钮使撤销 Git 提交变得快速而简单。

GitTip:了解更多关于如何恢复 Git 提交,包括丢弃或修改历史的其他选项。

提交更改后,WIP 节点将被转换为提交。在这里,您可以单击您的提交来查看从这个特定时间点开始的更改。

在 GitKraken 中修改 Git 提交

假设您在 Git 提交消息中犯了一个错误,需要进行更正。您可以通过从中心图中选择提交来修改 GitKraken 中最近提交的提交消息。从这里,单击提交消息开始编辑文本,然后单击Update Message保存您的更改。

如果你意识到上一次犯了一个错误,这可能是一个救命稻草。

GitTip:了解更多关于如何恢复 Git 提交,包括丢弃或修改历史的其他选项。

提交速度提高 2.5 倍🏎💨与命令行相比,使用 GitKraken。说真的。自己测试一下。⬇️

Git Status

如果您没有使用功能强大的 GitKraken Git 客户端来可视化您的回购历史,您总是可以在 CLI 中运行git status命令来检查哪些文件已经暂存并且存在于您的暂存目录中。

如果你意识到上一次犯了一个错误,这可能是一个救命稻草。

在这个例子中,在执行了git status命令之后,您可以看到除了另外两个文件之外,trial-activation.md文件也被修改了。

提交速度提高 2.5 倍🏎💨与命令行相比,使用 GitKraken。说真的。自己测试一下。⬇️

如何在命令行中 Git 提交

为了在 CLI 中提交这些更改,您需要使用git add命令,后跟文件的名称来暂存这些更改。

如果您没有使用功能强大的 GitKraken Git 客户端来可视化您的回购历史,您总是可以在 CLI 中运行git status命令来检查哪些文件已经暂存并且存在于您的暂存目录中。

这将暂存trial-activation.md文件。啊,但是你还没说完呢!您仍然需要通过执行git commit命令将更改保存到您的存储库中。

如何添加 Git 提交消息?

要将 Git 提交消息添加到您的提交中,您将使用git commit命令,后跟-m标志,然后用引号将您的消息括起来。添加 Git 提交消息应该如下所示:

如何修改 Git 提交?

现在,如果你能从上面的例子中看到,最后一个词有一个错别字。那么,如何更改 Git 提交消息呢?

git add trial-activation.md

为了修改 Git 提交,您将使用git commit命令,后跟--amend,然后是修改后的 Git 提交消息。它应该是这样的:

我可以使用 Git commit 命令添加多个修改过的文件吗?

如果您的工作目录中有许多修改过的文件,那么一次添加一个文件会很费时间。通过使用git commit命令后跟-a标志来加速该过程。这将把工作目录中所有修改或删除的文件添加到当前提交中。它应该是这样的:

git commit -m “Add an anchor for the trial end sectionnn.”

准备好用更简单的方式在 Git 中提交代码更改了吗?

GitKraken Git GUI 将通过其简单的用户界面和清晰的组织结构,让您更有信心在 Git 中暂存、保存和提交文件更改。

现在,如果你能从上面的例子中看到,最后一个词有一个错别字。那么,如何更改 Git 提交消息呢?

为了修改 Git 提交,您将使用git commit命令,后跟--amend,然后是修改后的 Git 提交消息。它应该是这样的:

git commit --amend “Add an anchor for the trial end section.”

我可以使用 Git commit 命令添加多个修改过的文件吗?

如果您的工作目录中有许多修改过的文件,那么一次添加一个文件会很费时间。通过使用git commit命令后跟-a标志来加速该过程。这将把工作目录中所有修改或删除的文件添加到当前提交中。它应该是这样的:

git commit -a -m “Update trial-activate page with changes from release."

准备好用更简单的方式在 Git 中提交代码更改了吗?

GitKraken Git GUI 将通过其简单的用户界面和清晰的组织结构,让您更有信心在 Git 中暂存、保存和提交文件更改。

使用 Azure DevOps 的常见挑战

原文:https://www.gitkraken.com/blog/common-challenges-azure-devops

您的组织正在经历 DevOps 转型吗?也许你甚至被指派负责这个项目。当然,这种转变的一部分将包括源代码控制管理。

越来越多的企业使用 Git 来管理他们的代码和文件变更。对于大型团队,尤其是那些偏向于微软强大的开发工具套件的团队,最受欢迎的 Git 托管服务之一是 Azure DevOps。

但是采用 Git,然后在您的组织内成功地扩展它以达到您的 DevOps 转换目标,看起来可能是一个不可完成的任务。别担心。我们有您的过渡到 Git 的剧本,成功地利用 Azure DevOps 作为您的 Git 托管服务,以及 GitKraken Git 客户端如何帮助解决开发人员和团队共同面临的相关挑战。

查看 2020 年 DevOps 工具报告中 Azure DevOps 和 GitKraken 如何融入 DevOps 生命周期。

阅读报告

已经在 Git 上了?你可以跳下来了解更多关于使用 GitKraken 和 Azure DevOps 的信息。

迁移到 Git

无论您目前使用的是 SVN、Perforce 还是 TFS,迁移到 Git 都需要额外的开销。了解如何将版本控制从 Perforce 迁移到 Git

这样的转变需要组织、准备和一些耐心。😅但是,拥有一个像 GitKraken 这样强大的 Git GUI,不仅可以使代码迁移和数据传输更快,还可以让您的团队在完成全面检查后立即开始使用 Git。了解如何将您的版本控制从 SVN 迁移到 Git 。

相信我们;这是非常值得的。

让团队成员加入 Git

就像任何新事物一样,您的团队需要时间来适应学习 Git。但幸运的是,有许多资源可以帮助您的开发人员快速启动并运行更高效的工作流。

访问我们的 Learn Git 数据库,访问所有经验水平的 Git 教程和教育资源。

对于经理和产品所有者来说,幸运的是,在你的公司里,你很可能已经有了一个 Git 冠军。雇佣他们来帮助他们的同事了解过渡到 Git 的好处。

虽然学习 Git 命令对开发人员的基础知识是有益的,但他们的时间最终花在编程上比花在记忆命令上要好得多。这就是 GitKraken 的 GUI 方法的用武之地。

类似于操作系统通过提供用于管理应用程序、拖放文件和点击图标来执行操作的用户界面而变得更加视觉化和直观,使用 GitKraken Git GUI 的开发人员将提高他们的工作效率,减少错误,并在日常工作流程中变得更加自信。

虽然学习 Git 命令对开发人员的基础知识是有益的,但他们的时间最终花在编程上比花在记忆命令上要好得多。这就是 GitKraken 的 GUI 方法的用武之地。

使用 Git 采用新的工作流程

Git 将为您的开发团队和流程打开一个全新的世界。如果你想在飞毯上跳跃,我们不会责怪你。

最好的新工作流机会之一涉及到克隆存储库。当使用 Azure DevOps 时,用户有两种选择来克隆 Git repo。您可以选择通过 CLI 使用git clone命令,或者更简单地使用 Git 客户机,如 GitKraken。

Git 将为您的开发团队和流程打开一个全新的世界。如果你想在飞毯上跳跃,我们不会责怪你。

使用 Azure DevOps 克隆您的 Git Repo

Git 最好的部分可以说是它让团队协作变得多么容易。Git 的分布式特性提供了其他版本控制系统中没有的选项,特别是克隆存储库的能力。

这使得单个开发人员可以将整个工作项目复制到他们的本地机器上,并与团队成员并行工作。无需请求许可或等待签出文件或推送更改。此外,克隆的回购协议为开发人员提供了一个沙箱,在不影响原始代码库的情况下进行试验。

Git 中的常见做法是在 Git 托管服务(如 Azure DevOps)上指定主项目,即最终成为最终版本的项目副本。在 Azure DevOps 上托管存储库使得具有适当权限的合作者更容易访问项目。

这使得单个开发人员可以将整个工作项目复制到他们的本地机器上,并与团队成员并行工作。无需请求许可或等待签出文件或推送更改。此外,克隆的回购协议为开发人员提供了一个沙箱,在不影响原始代码库的情况下进行试验。

使用 Azure DevOps 验证您的 Git Repo

在 GitKraken 中打开或克隆 Azure DevOps Git 存储库之前,您需要首先设置集成。你可以通过导航到一个New Tab并点击Start a hosted repo下的on Azure DevOps按钮开始。

GitKraken 随后会要求您提供 Azure DevOps repo 的主机域。只需将域复制并粘贴到必填字段中。

在我们的分步教程中查看集成 Azure DevOps & GitKraken 的过程:

https://www.youtube.com/embed/cCSKKQo7brA?start=33&feature=oembed

视频

在我们的分步教程中查看集成 Azure DevOps & GitKraken 的过程:

生成您的 Azure DevOps Git 凭据

使用 Git 时,有时会提示您输入用户凭证来执行操作。这可能需要通过 HTTPS、 SSH 密钥或通过个人访问令牌(PAT)访问远程回购的用户名和密码。

当你在 GitKraken 中的请求字段中输入你的 Azure DevOps 域后,我们的 Git 客户端会给你一个直接在 Azure Devops 上生成你的个人访问令牌的快捷方式。

一旦与 Azure DevOps 建立连接,您将获得一个额外的选项来生成 SSH 密钥,您可以将该密钥复制到您的剪贴板并粘贴到您的 Azure DevOps 帐户中。一旦你将新密钥添加到 Azure DevOps 中,它将立即反映在 GitKraken 中。

在 GitKraken 中生成 Git 凭证的能力使用户不必手动创建 SSH 密钥对。

一旦与 Azure DevOps 建立连接,您将获得一个额外的选项来生成 SSH 密钥,您可以将该密钥复制到您的剪贴板并粘贴到您的 Azure DevOps 帐户中。一旦你将新密钥添加到 Azure DevOps 中,它将立即反映在 GitKraken 中。

用 GitKraken 克隆您的 Azure DevOps Repo

一旦您成功地将 GitKraken 与 Azure DevOps 集成,您就可以开始克隆您的远程 repo 的本地副本了!

克隆在 Azure DevOps 上托管的远程存储库和您的本地机器之间建立连接,允许在两个存储库之间进行推和拉操作。可以在同一个遥控器上制作多个克隆,使您的团队能够在不损害原始代码完整性的情况下进行协作。

你不仅可以通过 GitKraken 克隆 Azure DevOps 远程,这种集成还允许你添加新的远程存储库。只需点击左侧面板中Remote部分的+按钮,并从主机的可用遥控器填充列表中进行选择。

了解有关通过 GitKraken 的 Azure DevOps 集成添加远程设备的更多信息:

https://www.youtube.com/embed/cCSKKQo7brA?feature=oembed

视频

了解有关通过 GitKraken 的 Azure DevOps 集成添加远程设备的更多信息:

使用 Azure DevOps 在 Git 和 GitKraken 中进行分支

Git 和 GitKraken 用我们的分支特性打开了大量新的工作流可能性。开发人员被授权探索他们的存储库历史的分支之间的选项,为他们提供更多的灵活性和自由,而不会丢失重要的过程。

例如,假设您想从 Azure DevOps 的远程存储库中获取一个新的变更,并将其下载到 GitKraken 的本地 repo 中。您将通过执行获取来检测更改,然后您将执行拉取来将更改带到您的本地回购。

或者,假设您想要在本地存储库上进行新的更改,并将它们应用到远程存储库。这包括执行一次推送

一旦您的本地分支有了您想要推送到遥控器的更改,只需点击顶部工具栏中的Push按钮。然后 GitKraken 会提醒你这个分支在遥控器上不存在,并确认你想要添加它。

或者,假设您想要在本地存储库上进行新的更改,并将它们应用到远程存储库。这包括执行一次推送

使用 Azure DevOps 拉取请求

我们刚刚学习了如何执行从 GitKraken 到 Azure DevOps 的推送。正是在工作流的这一点上,拉请求开始发挥作用。

拉请求是 Git 不可或缺的一部分;它们帮助您利用使用版本控制的预期好处。如果您正在使用 Git,您很可能会遇到以下情况:您对一个克隆的存储库进行了本地更改,然后您将这些更改提交给项目维护人员,以便在它们被实现或合并之前进行审查。

本质上,拉请求就像它听起来的那样:您请求某人在您的更改成为最终更改之前对其进行审核和批准。

在这个中级教程中,了解更多关于 Git 中的 pull 请求。

GitKraken 为您提供了启动拉请求的多个选项。您可以简单地从左侧面板的Pull Request部分点击+按钮,或者您可以将带有您想要推送的变更的分支拖放到您想要从中央提交图推送的分支上。如果您选择后者,GitKraken 将预先填写您的拉请求模板

GitKraken 还为您提供了直接在 Azure DevOps 上查看 pull 请求的快捷方式,您可以在那里继续代码审查过程。

如果一切正常,代码评审员将执行合并!变更既可以从 Azure DevOps 合并,也可以从 GitKraken 合并;这种集成将确保拉请求在两个应用程序中都得到更新。

维护安全标准

任何传输或托管数据的技术团队都普遍关注安全性。我们之前讨论过 GitKraken 如何帮助 Azure DevOps 用户生成他们的 Git 凭证,包括 SSH 密钥(生成 pat 是托管服务的责任)。这些将在维护团队代码的安全性方面发挥不可或缺的作用。

使用代理服务器

当使用 Azure DevOps 和 Git 时,一些用户在处理代理服务器时会遇到问题。根据您团队的配置设置,Azure DevOps 集成可能无法与某些代理设置一起工作。然而,大多数设置都可以直接通过 HTTPS 和 SSH 很好地工作,这意味着您的团队仍然可以访问您的存储库,并且能够使用所有传统的 Git 命令。

任何传输或托管数据的技术团队都普遍关注安全性。我们之前讨论过 GitKraken 如何帮助 Azure DevOps 用户生成他们的 Git 凭证,包括 SSH 密钥(生成 pat 是托管服务的责任)。这些将在维护团队代码的安全性方面发挥不可或缺的作用。

Azure DevOps 的致命身份验证问题

一些 Azure DevOps 用户在第一次设置 GitKraken 和 Azure DevOps 之间的集成时会遇到问题。

如果在完成集成后,在尝试执行推送时陷入授权循环,您可能会看到以下消息:Your OAuth token for “Azure DevOps” is invalid。这可能意味着您的身份验证令牌出现了问题。在这种情况下,我们建议采取以下步骤:

尝试手动断开集成。进入首选项→身份验证→Azure DevOps,点击Disconnect

直接在您的默认 web 浏览器中注销您的 Azure DevOps 帐户。

尝试再次连接 Azure DevOps 集成。这将强制您登录并更新 OAuth 令牌。

如果在完成集成后,在尝试执行推送时陷入授权循环,您可能会看到以下消息:Your OAuth token for “Azure DevOps” is invalid。这可能意味着您的身份验证令牌出现了问题。在这种情况下,我们建议采取以下步骤:

  1. 如果上述建议不能解决问题,我们建议您删除本地机器上文件系统中的.gitkraken文件夹。这将移除您所有的鉴定设置、描述文件和应用程序,使您能够重新开始。为此,我们建议采取以下步骤:
  2. 关闭您的 GitKraken 应用程序。
  3. 找到您的.gitkraken文件并删除它。或者,您可以将其移动到另一个位置进行备份。您的文件应该位于:

视窗:c:\users\{USER}\appdata\roaming\.gitkraken

Mac: /Users/{user}/.gitkraken or ~/.gitkraken

  1. Linux: ~/.gitkraken
  2. 重新打开 gitkraken。
    1. 请使用新的个人访问令牌设置 Azure DevOps 集成,然后重试。
    2. Mac: /Users/{user}/.gitkraken or ~/.gitkraken
    3. 如果您在完成上述步骤后仍然收到此错误,我们建议您联系位于support@gitkraken.com的 GitKraken 支持团队。请注意:只有 GitKraken Enterprise 和 Pro 客户才能在 24 小时内获得有保证的电子邮件支持。
  3. 重新打开 gitkraken。
  4. 使用 Azure DevOps 和 GitKraken 扩展

现在,您已经准备好开始使用 Azure DevOps 和 GitKraken 在您的组织中实现 Git。如果您遇到任何问题,最好的跨平台 Git GUI 可以帮助您。

GitKraken & Azure DevOps 资源:

使用 Azure DevOps 和 GitKraken 扩展

现在,您已经准备好开始使用 Azure DevOps 和 GitKraken 在您的组织中实现 Git。如果您遇到任何问题,最好的跨平台 Git GUI 可以帮助您。

GitKraken & Azure DevOps 资源:

现代计算机科学学位

原文:https://www.gitkraken.com/blog/computer-science-degree

这篇文章是一位客座作者写的。

当我们在 2016 年回顾“CS 学位的幕后”时,很明显这个研究领域具有重要价值。世界“前所未有地”需要学习计算机科学的人,从硅谷初创公司到白宫的实体都让他们对程序员和其他软件开发人员的需求为人所知。当时,在 2010 年代中期,可以说没有比计算机科学更热门的职业了。

尽管这个世界变得越来越依赖软件和技术,但计算机科学的重要性现在并不像过去那样被强调。因此,我们决定是时候问一问:在 2021 年及以后,计算机科学学位还值得吗?

反对计算机科学学位的观点

围绕计算机科学的一些负面情绪来自一种简单而模糊的看法,即该领域现在已经饱和,某种“繁荣”已经消退。然而,更具体的论点与自动化在处理计算机科学相关任务中的作用有关。

人工智能正在威胁计算机科学的工作吗?

反对计算机科学学位价值向前发展的主要论点是,人工智能最终将有能力完成现在该领域的许多人类功能。人工智能就业机会的转移是人们多年来一直关注的问题,现在人们认为 2020 年的疫情将会加快这一进程。

波士顿大学和麻省理工学院的经济学家最近发表的一篇关于机器人的论文表明,例如,在制造业领域,到 2025 年,我们有望看到多达 200 万份工作被机器人取代。这只是一个例子,但这种势头背后的想法描绘了一幅黯淡的画面:“机器不会生病”或需要隔离。它们能可靠地完成人类做不到的事情,而且通常效率更高。

当然,计算机科学与制造业有很大不同,但那些反对计算机科学学位价值的人会注意到,一些与人工智能相关的变化已经在发生。例如,我们现在有办法设计应用程序和网站,而不需要编码,因此不需要开发人员。理论上,朝这个方向的进一步发展会降低这个领域的价值。

计算机科学学位的争论

尽管对计算机科学教育的持久价值提出了质疑,但仍然有明确的支持论据。特别是,计算机科学学位的普及和相关职业选择的扩大仍然为这一研究领域提供了令人信服的理由。

在线计算机科学学位

支持计算机科学学位持续重要性的一个关键论点是,它们变得越来越容易获得。几乎每个学院和大学现在都提供计算机科学作为一个研究领域,如果不是提供计算机科学专业的话。许多高中在计算机科学方面也有更多的选择。

查看 hackr.io 的 2021 年十大计算机科学在线学位名单。

也许最重要的是,在线大学和教育平台正在迎合世界各地不上传统学校的学生,以及寻求进一步教育的专业人士。这并不完全是偶然发生的。这是各行各业对计算机科学专业知识需求不断增长的明显迹象。

学生们既可以选择传统大学的在线分校,也可以选择官方的、完全在线的教育机构来攻读计算机科学学位。此外,有数不清的高质量(通常是免费的)在线课程和指南可以产生有效的计算机科学教育,而不会导致实际的学位。

查看我们推荐的前 5 名最好的在线课程学习 Git

计算机科学职业

另一个要考虑的要点是,计算机科学学位比过去更适用。

曾几何时,我们想到了计算机科学,并将整个领域与 web 开发和一个模糊的“编码”概念联系起来。但事实是,随着科技的发展,计算机科学学位涵盖的范围越来越广。

关于前面提到的该领域的在线教育机会,玛丽维尔大学的在线计算机科学课程的框架清楚地表明,它们可以导致许多学科的职业生涯。拥有计算机科学学位的毕业生可以在网络安全、信息和数据管理、编码、软件开发、管理甚至硬件工程领域找到工作。事实上,这个名单一直在扩大,表明计算机科学专业是活着的,蓬勃发展。

计算机科学工作正在增加

看看相关职业的实际增长率,数据也显示计算机科学工作在扩大。总的来说,在 2019 年对快速增长的科技工作的调查中,许多适合计算机科学专业毕业生的职位显示出了惊人的增长速度。

数据库管理员(到 2026 年增长 11%)、软件开发人员(24%)、web 开发人员(15%)和应用程序开发人员(57%)只是其中的一些例子。这些清晰的、基于数据的迹象表明,计算机科学学位仍然会带来相关的、受欢迎的工作。

我应该获得计算机科学学位吗?

最终,我们的评估是积极因素明显大于消极因素。考虑自动化和先进技术对所有就业市场的影响是合乎逻辑的,包括对计算机专业学生的影响。的确,某些实践(如基本的 web 开发)不再依赖人类专家。

但不断扩大的在线教育机会、各行业和职业之间日益增长的相关性以及表明稳步增长的数据都是好兆头。当我们走向 2021 年及以后,计算机科学学位仍然非常有价值。

持续集成工作流程| GitKon 2022 | Harsh Bardhan Mishra,LocalStack

原文:https://www.gitkraken.com/gitkon/continuous-integration-workflow-harsh-bardhan-mishra-localstack

https://www.youtube.com/embed/tgXSBa65Nzs?feature=oembed

视频

为您的云构建自动化持续集成工作流&无服务器应用

随着云&无服务器应用程序开发的兴起,工程师们遇到了本地开发的繁琐问题。当今的云开发缓慢、乏味且成本高昂,并且缺少模拟云服务的选项,这些云服务大多绑定到专有的云提供商。

这些挑战限制了工程师可用的选项,迫使他们依赖模拟测试工具来模拟可以在本地和持续集成(CI)管道上运行的本地云基础架构。

LocalStack 是一个云服务模拟器,它可以在你的本地机器或 CI 环境上的一个容器中运行,并让你运行你的无服务器应用程序,而无需连接到亚马逊网络服务帐户。

使用 LocalStack,您的应用程序所依赖的所有云资源都可以在本地获得。它允许您在 AWS 环境中运行自动化应用程序测试,而不需要昂贵的 AWS 开发人员帐户、缓慢的重新部署或来自远程连接的瞬时错误。

开始使用 LocalStack 持续集成工作流

通过pip安装官方命令行界面就可以开始使用 LocalStack 了。您可以直接访问 CLI 来创建您的 LocalStack 实例,将所有 AWS 服务包含在一个 Docker 容器中。

安装后,您可以通过官方 AWS CLI 与这些本地 AWS 服务进行交互,或者使用第三方集成,如 Terraform、CDK 等等。

本地堆栈&地形整合

让我们看看 Terraform 与 LocalStack 的集成。有一个示例 Terraform 脚本,它采用基于 NodeJS 的 Lambda 并将其部署为 AWS Lambda 函数 URL。

然后,这些函数 URL 可以作为 REST APIs 使用标准 HTTP 请求来触发。Terraform 是一个基础设施代码框架,它创建一个计划,然后应用该计划来创建资源。我们可以使用相同的 Terraform 配置在生产环境中部署 AWS,在本地或 CI 环境中部署 LocalStack。

要将 LocalStack 与 Terraform 的 AWS provider 一起使用,可以使用定义了本地 AWS 端点的provider.tf文件或 LocalStack 的tflocal脚本。

下面是应用 Terraform 配置在本地创建 Lambda 函数的样子:

正如您在上面的例子中所看到的,Terraform 使用 LocalStack 在本地创建了整个基础设施,只有一个运行中的 Docker 容器。现在,让我们回顾一下如何在持续集成提供者上运行它。

使用 GitHub 操作运行 LocalStack】

所有重要的持续集成提供商都支持 LocalStack 来部署和测试您的 AWS 应用程序。工程师将 LocalStack 与 CI 提供者一起使用,以确保他们在模拟环境中进行测试,而不是调用实际的 AWS APIs。后者成本较高,理想情况下只应用于生产。

要开始使用像 GitHub Actions 这样的 CI 提供程序,您必须获取 LocalStack 映像并下载 LocalStack CLI。这里有一个示例工作流,你可以在你的.github/workflows目录中使用它来开始测试你的 AWS 云和无服务器应用,而不需要使用任何真正的 API 来模拟你的堆栈。

GitKraken 的传奇 Git 工具将帮助你提升你的持续集成工作流程。今天免费试用 GitKraken 工具:桌面版 GitKraken 客户端GitLens for VS 代码;和吉拉的 Git 集成

冠状病毒软件解决方案有所作为

原文:https://www.gitkraken.com/blog/coronavirus-software-solutions

当冠状病毒疫情的有害影响开始在全球加速时,Axosoft 希望介入,并作为一个组织尽我们所能提供帮助。虽然我们一直为学生教师非营利组织免费提供 GitKraken Pro 许可,但我们希望在这个特别艰难的时期扩展我们的服务。

我们最近宣布了一项名为的 GitKraken Pro for a Cure 计划,为在新冠肺炎相关项目中工作的多达 25 名开发人员的团队提供免费的 GitKraken Pro 许可证。

了解更多有关申请免费 GitKraken Pro 许可证以参与新冠肺炎项目的信息。

**## 冠状病毒软件故事

在宣布了我们的治疗方案后,我们的团队收到了大量的申请。软件社区帮助减轻冠状病毒引起的疼痛和痛苦的全球反应绝对鼓舞人心;事实上,我们非常想分享世界各地令人难以置信的开发团队的故事,他们正在加紧使用 GitKraken Pro 来构建一些传奇的软件解决方案。

🇺🇸新冠肺炎校餐寻人地图

教育机构的技术解决方案提供商 Hoonuit 建立了一个学校膳食查找网站,美国的家庭可以在这里找到免费的学校膳食,尽管这些实体因病毒而关闭。

“我们知道学校在我们的社区中发挥着非常必要的作用,为许多学生提供膳食,”Hoonuit 团队说。“在这个前所未有的混乱时期,我们希望帮助确保学生的基本需求仍然得到满足。”

该网站有超过 9000 个美国各州的用餐地点,包括路易斯安那州、密西西比州、蒙大拿州、田纳西州、南卡罗来纳州、弗吉尼亚州、阿拉巴马州、阿拉斯加州、亚利桑那州、科罗拉多州、加利福尼亚州、北卡罗来纳州和南达科他州。

在线冠状病毒地图支持学校、家庭和学生,定位器可供美国的任何教育机构使用。要加入地图,代理机构可以访问此页面并填写申请表。

冠状病毒可预测性计算器🇨🇴

世界各地的个人可以使用在线可预测性计算器 Coronability 来估计他们感染和死于新冠肺炎病毒的几率。这些估计是基于自我报告的行为,如工作、社会距离和个人健康习惯。

这个项目是由哥伦比亚波哥大的一个小组开发的。目前,该网站已支持来自 76 个国家的 18,000 多名访问者,前七名包括哥伦比亚、洪都拉斯、美国、墨西哥、西班牙、芬兰和厄瓜多尔。

🇰🇪covid 纸到数字加网工具

Health E-Net 是一家总部位于肯尼亚的公司,其使命是通过在发展中国家提供远程医疗咨询来扩大医疗保健的覆盖面,该公司正在通过一种独特的纸张到数字的方法提供新冠肺炎筛查。

该过程从基于纸张的筛选表格开始,该表格可用于基础设施非常少的设施中的筛选。然后,通过在智能手机上拍照,这些表格被数字化。

新冠肺炎纸张筛选表示例

他们的方法已经被证明对公共卫生产生了重大影响,揭示了抗生素的过度使用,导致了肯尼亚临床医生行为的改变。

“在肯尼亚,我们仍处于通过隔离确诊病例来遏制传播的阶段,”Health-E-Net 首席执行官普拉塔普·库马尔说。“检测试剂盒非常少,检测能力也很低。随着形势的发展,我们的工具可能会变得更加相关,应对措施将进入控制传播的阶段。”

为出差🇫🇷生成文档

总部位于法国的软件公司 CosaVostra 开发了一个工具,帮助居民生成在线证书,当你离开家时,需要随身携带。如果你被发现没有这样的文件,或者你的文件不完整,你可能会被罚款 135€(约 150 美元)。

该应用程序不存储任何个人数据,并且在高峰期,每天为法国居民生成大约 500 个证书。

新冠肺炎追踪器

疫情冠状病毒的全球影响是我们有生以来从未见过的。人们很害怕;他们有数不清的问题,并在混乱和快速变化的环境中拼命寻找答案。

在这种前所未有的快速发展的情况下,要跟踪和分发的数据量是无穷无尽的。令人欣慰的是,全球的开发团队,比如下面的那些,已经快速地创建了工具来跟踪一些关键的数据点。

追踪🇳🇱每日冠状病毒死亡人数

总部位于荷兰的 Game Tailors 公司开发了一种在线冠状病毒追踪器,显示每个国家每日报告的死亡人数。

“了解死亡率将有助于我们更准确地估计实际感染人数,”小组成员巴斯说。“我们怀疑报告的感染人数比实际感染人数要低得多,因为目前进行的检测数量有限。”

冠状病毒人追踪器🇧🇷

巴西公司 Mi Vendas 正在开发一个应用程序,该程序将跟踪一个实体机构中的人数。

该应用程序的目的是帮助零售工人和超市员工控制他们商店内的人数。它很容易使用,有+-按钮供工作人员统计进出顾客。

冠状病毒旅行影响追踪器🇨🇳

为了跟踪冠状病毒对航空旅行的影响和恢复,Cirium 开发了一个数据可视化工具,显示飞行的航班数量与计划和取消的航班数量。他们正专注于中国市场。

产品经理 Scott Hopkins 表示:“我们一直在推动有关新冠肺炎对航空业影响的大量信息,航空业正在利用我们的工具和数据作为行业何时开始复苏的领先指标。

追踪互动,防止🇮🇹新冠肺炎病毒扩散

意大利的一个团队开发了一个应用程序,旨在通过跟踪个人智能手机设备的位置来跟踪个人之间的互动。

每部智能手机都有一个匿名标识,可以使用高精度技术在短距离内远程读取。该应用程序从您设备附近的智能手机收集匿名 id,并将其存储在安全的集中式云数据库中。如果您曾经接近过感染者,您将会收到一份通知,明确说明如何进行护理。

GitKraken Pro 为治愈

您的开发团队是否正在从事与冠状病毒疫情相关的项目?我们希望您使用 GitKraken 来帮助您的团队更高效地使用 Git,这样您就可以用您的重要计划来帮助更多的人。

了解更多关于 Pro for a Cure 项目的信息,并获得如何在gitkraken.com/pro-for-a-cure申请的说明。**

如何创建 Git 分支?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/create-git-branch

https://www.youtube.com/embed/snxybJkFeUo?feature=oembed

视频

在讨论如何使用 CLI 创建 Git 分支之前,我们将使用跨平台 GitKraken Git GUI 提供的可视化上下文来回顾一下更简单的过程。

在普通的工作流程任务上花更少的时间,比如创建新的分支,这样你就可以把精力放在困难的事情上。

如何在 GitKraken 创建分支机构?

要在 GitKraken 中创建新的 Git 分支,只需右键单击任何分支或提交并选择Create branch here

ProTip: GitKraken 会在分支创建后立即自动为您检出分支,因此您可以直接处理正确的文件。

或者,您可以使用Cmd/Ctrl + P启动 GitKraken 模糊查找器并键入“创建分支”。这将使您直接跳转到 create branch 字段,找到您当前已经签出的引用。

在终端管理分支机构可能会变得很麻烦。让 GitKraken 做组织工作,这样您就可以专注于代码。

如何在命令行中创建 Git 分支?

如果您使用终端,您将使用git branch命令,后跟您想要的分支名称,在您的存储库中创建一个 Git 分支。

它应该是这样的:

git branch feature-A

这将在您当前签出的引用上创建一个 Git 分支。

如何查看你的 Git 分支列表?

如果您没有使用 GitKraken,您将无法在主 UI 中看到您的存储库的所有分支。如果您正在使用 CLI,您可以运行git branch命令来查看您的本地分支列表,并确认您新创建的分支是否出现。

如何检验一个新的 Git 分支?

创建 Git 分支后,您可以使用 Git checkout 命令,后跟分支名称来检验该分支。

git checkout feature-A

如何同时创建和签出 Git 分支?

一旦您熟悉了如何创建 Git 分支,您可能会喜欢使用一个命令创建新分支检出分支的能力。

您可以将在 Git 中创建和检出分支的两个操作结合起来:

git checkout -b <branch name>

这将创建一个新的分支,并立即签出该分支。

Git 和 GitKraken 中的关键安全补丁

原文:https://www.gitkraken.com/blog/critical-security-patch-git-gitkraken

从旨在帮助软件开发人员集中精力编写代码的播放列表中进行选择。播放列表包括流行的音乐剧、视频游戏曲目、棕色噪音等等。

新的跨平台 NodeGit 应用

原文:https://www.gitkraken.com/blog/cross-platform-nodegit-app

在 Axosoft,我们总是在寻找很酷的新事物,这在我们每年的 30 天项目中达到高潮。在去年的 30 天项目中,我们一群人开始研究一种与 git 交互的新方法。

我们想要的东西之一是一个跨平台的工具。我们所有人都有不同的工作方式,没有人想牺牲我们工具的质量。所以我们决定尝试一些新的不同的东西;我们决定使用一些很酷的新技术来制作一个跨平台的 git 应用。我们研究了使用 nw.js(以前的 node-webkit)Angular JS 构建 git 客户端。我们需要的一个关键东西是一个跨平台的节点模块,它允许我们访问 git。

没有好的跨平台 git 选项…

在我们为期 30 天的项目中,我们决定我们的应用不应该要求用户在他们的机器上安装 git。它应该完全独立于大多数 git 客户端所依赖的其他第三方应用程序(例如 windows 上的 msysgit/putty 和 OSX/Linux 上的 git/OpenSSH)。

我们认为最好的选择是使用 libgit2 。这是一个 100%跨平台的低级 C 库。不幸的是,这个库没有很好的移植到 Node.js。所有这些都需要一些额外的工作才能真正起步。我们决定继续进行我们应用程序的 UI 演示,如果有任何兴趣,我们会回来尝试解决更多的技术问题。

所有系统启动!

在为期 30 天的项目结束时展示了我们的 UI 演示后,我们得到了非常好的总体反应。所以 Axosoft 决定开始支持一些技术,我们需要这些技术来真正实现这样一个产品。

在浏览了 libgit2 的所有端口后,我们最终选定了 NodeGit 。我们联系了该项目的维护者蒂姆·布兰尼恩,看看需要做些什么,我们能在哪些方面提供帮助。他指导我们帮助编写一些代码,这些代码使用来自 libgit2 文档页面libgit2 JSON 文件自动生成包装 libgit2 库的 C++原生节点模块。

等待什么?!?

是的,NodeGit 自己生成。我们有一些代码,我们将把一些 JSON 放入其中,这些代码将产生 C++。很酷吧?我可以没完没了地谈论我们需要做的疯狂的事情,但我想我会留到另一个帖子。

Yep, NodeGit generates itself. We have some code that we’ll feed some JSON into that will spit out C++. Pretty cool huh? I could talk endlessly about the crazy stuff we needed to do to pull that off, but I think I’ll save that for another post.

那么到底是什么 NodeGit?

NodeGit 是一个异步的本地节点模块,允许您调用 libgit2。这意味着使用 NodeGit 的节点项目可以执行低级 Git 命令,而不需要对运行它的机器做任何假设!它甚至处理 SSH 凭证 auth!在 Windows 上!!!

您不需要安装 msysgit 或特定版本的 git。现在,所有这些都将在这个小巧的 libgit2 包装器中为您处理。不仅如此,它还超级快(并将变得更快)更不用说,它不会阻塞 I/O。这意味着即使在克隆大型回购或做任何其他事情时,你的应用程序也能保持超级响应。

You don’t need msysgit or a specific version of git installed. Now that would all be handled for you in this neat little libgit2 wrapper. Not only that, but it’s super fast (and going to get faster) not to mention, it doesn’t block for I/O. That means that your app stays super responsive even while cloning large repos or doing anything else.

大牌已经在用了!

任何一天,我们都有超过 80 个人在我们的 gitter 频道里闲荡。NodeGit 现在正在使用,或者计划在越来越多的项目中使用,包括微软 Azure、GitHub 的 Atom 编辑器、网飞、PayPal 等等。2015 年 3 月,我们从 NPM 下载了 7700 次,我们有望在 4 月份超过这个数字。我们是 libgit2 的第二大包装项目,仅次于 Rugged,这是 GitHub 的基础。

自从 Axosoft 几个月前决定支持 NodeGit 以来,node git 已经取得了很大的进步,我们出色的团队已经取得了很大的成就,对此我感到非常自豪。我认为这个项目真的可以推动更好的 git 集成,更完整的 git 客户端,并帮助社区创建利用 git 的惊人工具。我也很期待你能用它做些什么。

祝您黑客愉快,让我们知道您对我们新的跨平台 Git 客户端的看法!

Happy hacking and let us know what you think of our new cross-platform Git client Axosoft GitKraken!

周期时间和产量| git kon 2022 | git kraken 的 Jeff Schinella

原文:https://www.gitkraken.com/gitkon/cycle-time-jeff-schinella-gitkraken

https://www.youtube.com/embed/7gpNvgaIa1I?feature=oembed

视频

对于团队来说,从高层次上审视他们的周期时间和吞吐量是非常有价值的,因为这有助于识别调整的机会和改进现有工作流的方法。

最后,在软件开发中测量周期时间和吞吐量的目的是为了改进你的产品和你的开发人员的快乐,他们经常对缓慢的周期时间感到沮丧。

什么是周期时间和产量?

周期时间和吞吐量是 DORA 的两个指标。DORA 代表 DevOps 研究和评估。这些指标在 2018 年出版的一本名为《加速》的书中得到普及。

周期时间通常是指变更的前置时间,而吞吐量是指部署频率。

另外两个 DORA 指标是:平均恢复时间和变更故障率。这些也可以称为北极星指标、价值流分析等。

DORA metrics 旨在封装同样的两个原则:以更高的质量更快地交付代码。周期时间和吞吐量是速度指标;他们测量你和你的团队向你的客户发布软件的速度和频率。

您发布的代码更改应该交付价值并让您的客户满意。

循环时间定义

周期时间是衡量将变更合并到生产中需要多长时间,分为三个不同的指标:

  1. 程序调试时间
  2. 复习时间
  3. 部署时间

这可以通过查看任何工作单元来衡量。它不一定是拉取请求,尽管这是衡量周期时间的常用指标。这也可能是吉拉问题或者提交或分支的生命周期。

这可以通过查看任何工作单元来衡量。它不一定是拉取请求,尽管这是衡量周期时间的常用指标。这也可能是吉拉问题或者提交或分支的生命周期。

吞吐量定义

吞吐量是通过考虑诸如每周有多少拉请求被合并、每周有多少吉拉问题被处理等因素来查看合并变更的频率以及它们引入变更的速度。

吞吐量不考虑代码的复杂性,因此它可能无法为您提供为什么一些 PRs 比其他 PRs 需要更长时间来合并的完整情况,但是它可以帮助您了解您的团队的合并率。

吞吐量不考虑代码的复杂性,因此它可能无法为您提供为什么一些 PRs 比其他 PRs 需要更长时间来合并的完整情况,但是它可以帮助您了解您的团队的合并率。

什么是“好的”周期时间和生产量?

停下来,通过查看这些指标,考虑一下你想要达到的目标是很重要的。在软件开发的周期和吞吐量的上下文中,“好”的定义是什么?

根据 DORA 和其他第三方调查,精英表演团队的周期时间应该少于一天;你可以开始并完成一项变革,并将其推向生产。最终的教训是:在不牺牲代码质量的情况下,你做这些事情的速度越快,你的团队的表现就越好。

根据 DORA 和其他第三方调查,精英表演团队的周期时间应该少于一天;你可以开始并完成一项变革,并将其推向生产。最终的教训是:在不牺牲代码质量的情况下,你做这些事情的速度越快,你的团队的表现就越好。

最终,对你来说重要的是找到一个对你的团队有意义的基线,并专注于变得更好,而不是更好。例如,你可能是某个金融或政府机构的一员,但该机构根本没有能力在一天之内完成整合。

最终,对你来说重要的是找到一个对你的团队有意义的基线,并专注于变得更好,而不是更好。例如,你可能是某个金融或政府机构的一员,但该机构根本没有能力在一天之内完成整合。

什么定义了变化?

大多数团队关注合并或接受的拉请求作为度量项目变更的标准,但是从整体水平来看变更也很重要。从规划和设计到开发,到拉请求和代码审查,最后到部署。这将帮助您识别任何瓶颈。

大多数团队关注合并或接受的拉请求作为度量项目变更的标准,但是从整体水平来看变更也很重要。从规划和设计到开发,到拉请求和代码审查,最后到部署。这将帮助您识别任何瓶颈。

为什么周期时间很重要?

作为一名开发人员,您的代码保持不合并的时间越长,您的工作流就变得越复杂。此外,未合并的代码可能会增加以下可能性:

Git 合并冲突

  • 返工或重构代码的需求
  • 被放弃的更改
  • 难以回到富有成效的发展状态
  • 难以回到富有成效的发展状态

当您和您的团队正在考虑为什么您的拉动式请求需要很长时间来审核时,您应该提出以下问题:

代码质量是否反映了内部规则和最佳实践?

  • 是否有缺失的测试或依赖?
  • 代码审查人员是否超载?
  • 你的开发人员是否承担了过多的新任务?
  • 你的团队经历了太多的上下文切换吗?
  • 你的团队经历了太多的上下文切换吗?

吞吐量&周期时间计算器

虽然您团队可以进行手动计算和报告,但这可能非常耗时。使用吞吐量和周期时间计算器可以加快流程,并帮助您更快地确定需要改进的地方。

Grader.gitkraken.com是一个免费的网站应用程序,它可以为团队提供基线数字,通过对他们的 Git 库进行评分来开始测量周期时间和吞吐量的过程。

Grader.gitkraken.com是一个免费的网站应用程序,它可以为团队提供基线数字,通过对他们的 Git 库进行评分来开始测量周期时间和吞吐量的过程。

改善周期时间的技巧&产量

如果您想要改进团队的周期时间和吞吐量度量,一个很好的中心目标是在 pull 请求之前开始构建反馈循环。实现这一点的方法包括:

结对编程

  • 技术设计文件
  • 在 PR 之前,就代码进行共享和协作:
  • 补丁
    • 减贫战略草案
    • 实时分享
    • 到分支或提交的可共享链接
    • 到分支或提交的可共享链接

使用 GitKraken Client 中的深度链接功能共享分支和提交的链接,允许您的团队快速访问他们需要关注的代码。

使用 GitKraken Client 中的深度链接功能共享分支和提交的链接,允许您的团队快速访问他们需要关注的代码。

Git 定义-术语|了解 Git

原文:https://www.gitkraken.com/learn/git/definitions

Git add 可用于将修改后的文件存放到 Git 索引中,为提交做准备。Git add 可用于一次性存放单个、多个或所有修改过的文件。了解更多信息


分支是指向特定提交的指针。分支指针随着您所做的每个新提交而移动,并且仅当在公共祖先提交上进行提交时才在图中分叉。了解更多信息


在 Git 中,checkout 命令告诉 Git 您希望您的更改应用于哪个分支或提交。

检出一个分支将会更新您的回购文件,以匹配该分支指向的任何提交的快照。了解更多信息


cherry pick 命令从目标提交中获取更改,并将它们放在当前签出的分支的开头。了解更多信息


Git clone 命令用于将现有的 Git 存储库复制或克隆到本地目录中。Git 中的克隆将为克隆的存储库创建一个新的本地目录,复制指定的远程存储库的所有内容,并在新的本地存储库中签出一个初始分支。

默认情况下,Git clone 命令将创建一个对名为“origin”的远程存储库的引用,并创建远程跟踪分支,这些都可以通过运行“git branch -a”看到。了解更多信息


提交代表了您的存储库在特定时间点的快照。在 Git 中执行 commit 是一种将本地文件更改在工作目录中暂存后应用到 Git 存储库的方法。了解更多信息


Git config 允许用户定制 Git 的工作方式,并优化 Git 以适应他们的工作流程。Git 从缩小的文件列表中提取配置设置,从系统→全局→本地。每个配置级别都可以覆盖其上一级的配置设置。了解更多信息


Git fetch 是一种下载提交的机制,这些提交存在于远程存储库中,但不存在于本地远程跟踪分支中。Git fetch 还更新 FETCH_HEAD 文件,Git 使用该文件在执行 Git fetch 后协调合并。了解更多信息


Git merge 命令允许您将一个分支中的更改合并到任何其他分支中。了解更多信息


Git Pull 将从远程存储库中获取变更,并将它们合并到您当前签出的本地分支中。使用这个命令时,Git 将首先运行 Git fetch,然后运行 Git merge。了解更多信息


Git push 用于将本地存储库的内容上传到远程存储库。

此外,Git push 还可以用来删除远程存储库。


Git rebase 命令从源分支获取一个或一组提交,并将它们应用到目标分支之上。了解更多信息


Git Reset 移动 HEAD 和指针,该指针命名并跟踪分支的最后一次提交。使用–mixed 或–soft 选项,Git reset 将保留 HEAD 和指定提交之间所做的所有更改,或者使用–hard 选项,Git reset 将放弃所有更改。了解更多信息


Git stash 命令将获取当前工作目录的状态,并将其保存在一个未完成的更改堆栈中,可以随时重新应用。这将通过一个干净的工作目录恢复到头提交。只能隐藏被跟踪的文件。了解更多信息

Git 删除本地分支|如何在 Git 中删除本地分支

原文:https://www.gitkraken.com/learn/git/problems/delete-local-git-branch

更新日期:2022 年 7 月 20 日

其核心是,Git 提供的分支模型旨在帮助您避免将不稳定的代码合并到主代码库中。大多数 Git 工作流和 Git 分支策略要求开发人员在开发过程的某个时候删除 Git 分支;通常是在一个分支机构并入主分支机构之后。

删除 Git 分支通常被认为是良好的存储库卫生,因为它加快了您的回购性能,并确保只有最新和必要的信息包含在您的项目中。

在本文中,我们将介绍如何使用 CLI 和 GitKraken 客户端删除本地分支。

使用 CLI & GitKraken 客户端查看您的 Git 分支

在删除本地 Git 分支之前,您需要获得想要删除的分支的确切名称。

要通过 CLI 访问项目中本地 Git 分支的完整列表,请键入git branch并点击Enter。终端将返回 Git repo 中所有本地分支的列表。

我们在这个例子中使用了 GitKraken Client,但是需要注意的是,如果您使用的是 GitKraken Client 以外的终端,您将只能看到终端本身包含的信息。

使用 GitKraken Client,您可以将 CLI 的速度和效率与 GUI 中提供的便捷视觉效果结合起来。这意味着您可以利用内置的终端,并且只需浏览一下客户端极其强大的提交图,就可以轻松地可视化您的 Git 分支。提升您的工作流程,免费试用 GitKraken 客户端

了解有关查看您的 Git 分支列表的更多信息,包括如何从 CLI & GitKraken 客户端查看您的本地和远程 Git 分支。

一旦您确定了想要删除的 Git 分支的确切名称,您就可以实际删除该分支了。

Git 使用 CLI 删除本地分支

要使用终端删除本地 Git 分支,请运行以下命令:

git branch -d <branch name>.

请记住,如果您使用的是 GitKraken Client 以外的终端,您将不会立即看到 Git 分支已经从存储库中正确删除的确认。相反,您必须再次运行git branch来查看您的 Git 分支列表,并确保想要的 Git 分支已经被删除。

Git 使用 GitKraken 客户端删除本地分支

正如我们已经提到的,使用 GitKraken 客户端来可视化您的存储库有很大的好处。

如果您想使用 GitKraken 客户端Git 删除一个本地分支,只需在左侧面板或中央图形中右键单击一个分支名称并选择Delete <branch name>

Git 误删了一个本地分支?不要害怕。你可以随时使用 GitKraken 客户端顶部工具栏中的神奇按钮Undo,让它看起来像从未发生过的错误。

想在 Git 中快速简便地删除本地分支吗?免费下载 GitKraken 客户端

一旦你习惯了删除本地 Git 分支,通过学习 如何使用 CLI & GitKraken 客户端删除远程 Git 分支 来继续提高你的 Git 技能。

Git 删除本地分支常见问题

问:为什么我不能删除一个本地 Git 分支?

答:如果您签出了一个本地分支,Git 不允许您删除该分支。如果您在删除 Git 分支时遇到问题,请确保您签出的分支不是您想要删除的分支。

答:如果您签出了一个本地分支,Git 不允许您删除该分支。如果您在删除 Git 分支时遇到问题,请确保您签出的分支不是您想要删除的分支。

问:我如何删除带有未合并变更的本地分支?

答:要删除包含未合并变更的本地 Git 分支,您需要运行:

git branch -D <branch name>

这告诉 Git 你对删除这个分支是认真的。但是要注意!使用-D标志通常会使数据很容易丢失,所以要小心使用。

这告诉 Git 你对删除这个分支是认真的。但是要注意!使用-D标志通常会使数据很容易丢失,所以要小心使用。

删除过时代码| GitKon 2022 |迈克尔·迈尔斯,麻省理工学院斯隆商学院

原文:https://www.gitkraken.com/gitkon/delete-obsolete-code-michael-miles

https://www.youtube.com/embed/wWAxzim0EkA?feature=oembed

视频

每个活动代码库包含两种类型的代码:活动代码和过时代码。活动代码包括交付项目解决方案的变量和函数。过时的代码就是其他一切:无助于解决项目独特问题的未使用的变量和函数。

代码库必须只包含交付预期功能所需的代码,仅此而已。

使用像 GitKraken Client 这样的工具将会增加您的代码库的可见性,因此您可以快速识别过时的代码,并轻松地删除它以防止出现问题。

过时代码的问题

过时的代码会给开发人员和最终用户带来各种各样的问题。

可读性降低

应该清楚一个变量、函数、对象等。正在被使用和它解决什么目的。过时的代码会降低代码库的可读性,从而使开发人员更难理解代码是如何工作的。

这可能需要更多的时间来维护和更新代码库以满足项目需求,并且还会降低开发团队在进行更改时的信心。

复杂性增加

将过时的代码留在原处需要开发人员构建变通解决方案,这给代码库增加了不必要的复杂性。这可能会导致意外的输出和功能。

随着项目复杂性的增加,维护项目代码的难度也在增加。代码库将变得脆弱,项目团队将无法维护它来满足不断变化的需求。

未知漏洞

将使用代码库中所有可访问的代码,不管它是活动的还是过时的。执行过时的代码会导致意外的结果并暴露漏洞。通过意外调用过时的函数,开发人员可能会产生不正确的数据,而攻击者可能会执行过时的代码并暴露敏感信息。

删除废弃代码

防止由过时代码引起的问题发生的最安全的方法是删除它。不是绕过它,不是注释掉它,而是删除它。

虽然很难有把握地删除过时的代码,但开发人员可以使用各种技术来建立代码删除信心,包括代码林挺、对代码进行评论、尽早提交并经常提交,以及经常进行测试。

代码林挺

大多数集成开发环境(IDE)都提供代码林挺功能,大多数编程语言和框架都有插件来提供额外的林挺功能。

通过为函数中未使用的变量提供警告,或显示函数的引用树,或显示缺少引用树,实现代码标记有助于开发人员识别过时的代码。

代码注释

编写描述性和信息性的代码注释增加了代码的可读性。这有助于其他开发人员理解代码工作流和目的。

养成记录代码的习惯使得审查和重构更加容易。这允许开发人员识别重复和过时的代码。

编写描述性和信息性的代码注释增加了代码的可读性。这有助于其他开发人员理解代码工作流和目的。

尽早提交,经常提交

当使用诸如 Git 之类的代码库时,经常提交作为一种跟踪代码库中变化的方式是很有帮助的。这使得跟踪代码何时被添加或删除变得更加容易。

通过查看提交消息,开发人员可以对他们恢复删除代码的能力充满信心。检查提交消息比扫描文件中被注释掉的代码块并取消提交要容易得多。

当使用诸如 Git 之类的代码库时,经常提交作为一种跟踪代码库中变化的方式是很有帮助的。这使得跟踪代码何时被添加或删除变得更加容易。

测试,测试,测试

代码库上发生的任何变化都需要测试。测试可以以多种形式进行,从功能单元测试到手动冒烟测试和自动回归测试。

有了测试,开发人员可以对他们所做的代码更改充满信心。测试确保删除的代码是过时的,并且不会导致意外的结果。

代码库上发生的任何变化都需要测试。测试可以以多种形式进行,从功能单元测试到手动冒烟测试和自动回归测试。

自信地删除你过时的代码

当开发团队花时间重构他们的代码库并删除过时的代码时,他们会看到许多积极的结果。代码库并不过分复杂,更容易阅读,并且维护和包含较少数量的漏洞。

删除过时的代码后,代码库只包含满足需求所需的代码,仅此而已。然后,开发团队能够将精力集中在维护满足项目需求的活动代码上。

当开发团队花时间重构他们的代码库并删除过时的代码时,他们会看到许多积极的结果。代码库并不过分复杂,更容易阅读,并且维护和包含较少数量的漏洞。

使用 GitKraken Client 轻松维护您的代码库并删除过时的代码,提高项目历史的可见性并简化团队协作。

使用 GitKraken Client 轻松维护您的代码库并删除过时的代码,提高项目历史的可见性并简化团队协作。

如何删除远程 Git 分支?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/delete-remote-git-branch

在您开始在 Git 中删除远程分支之前,我们建议您熟悉如何删除本地分支。

在 Git 中,删除远程分支的工作方式与删除本地分支略有不同。

在 Git 中删除分支是一个破坏性的操作——Git kraken 使您能够安全地执行这个操作,而不会牺牲速度,无论您更喜欢可视化 Git 客户端还是 CLI,都可以让您对工作流更有信心。

如何使用 GitKraken CLI 删除远程 Git 分支

如果使用 GitKraken CLI 删除远程分支,实际上不会使用 Git branch 命令来完成这个操作。如果您运行与远程分支相关的git branch -d命令,Git 会告诉您没有找到该分支。

您将使用 Git push 命令来删除远程分支,而不是使用 Git branch 命令。

您需要告诉 Git 您想要使用哪个远程存储库,后面是--delete标志,再后面是分支名称。

它应该是这样的:

`$ git push <name-of-remote-repository> --delete <branch-name>`

如何找到你的远程 Git 分支列表

如果您使用终端来查看 Git 中远程分支的列表,您将需要运行git branch -r

在对您的回购没有足够了解的情况下删除远程分支机构可能会很危险。降低丢失工作或使您的回购处于不良状态的风险,并通过 GitKraken 获得对您的远程分支机构的更多控制。

如何用 GitKraken 客户端删除远程分支

因为删除一个远程分支是一个破坏性的操作,所以依赖 GitKraken 提供的视觉优势对初学者和专家都有好处。

在主 UI 中,您可以在左侧面板中的REMOTE下快速看到远程分支的列表,这些分支方便地组织在相关的远程存储库名称下。

ProTip:如果你的一个遥控器上有大量的分支,你可以在 Mac 上使用Cmd + Option + f,或者在 Windows/Linux 上使用Ctrl + Alt + f从左侧面板中过滤特定的分支。

要删除远程分支,只需在中央提交图或左侧面板中右键单击目标分支,然后从上下文菜单中选择Delete <remote-branch-name>

还记得我们说过这是一个破坏性的 Git 操作吗?为了格外小心,GitKraken 会在继续之前要求你确认,让你和你的团队安心。

想让在 Git 中使用远程分支更容易吗?下载 GitKraken Git 客户端,现在有 GUI 和 CLI ,今天免费。

基于数据的设计系统| GitKon 2022 | June Cho,Zeplin

原文:https://www.gitkraken.com/gitkon/design-system-june-cho-zeplin

https://www.youtube.com/embed/KZsCLqeIBlg?feature=oembed

视频

如果培养得当,设计系统最终会为设计者和开发者提供一致性、可重用性和效率。

在 Gitkon 2022 大会上,Zeplin 的开发人员 June Cho 讨论了当今采用设计系统所面临的挑战,并展示了一款名为 Omlet 的新独立工具。Omlet 为开发者和他们的设计系统团队提供设计系统分析。请求访问此处

当今设计系统的问题

如今,设计系统的采用有三个主要问题:

1.衡量采用情况很困难:
随着时间的推移,我的设计系统使用情况如何?由哪些团队,跨哪些项目

2.不清楚的组件使用模式:
最近创建了哪些新的定制组件?哪些正在成为一种趋势?
我的团队需要哪个?哪些团队在采用核心组件方面做得很好?

3.组件依赖:
你的组件更新将如何影响产品和团队?
您如何知道您是否正在进行正确的组件改进?

设计系统是一个产品

设计系统必须与你正在工作的项目和团队并行发展。发展设计系统的方法是把设计系统当作一个产品——一个内部产品。

像任何好的产品一样,需要有一种方法来获得反馈,并证明花费在维护设计系统上的时间是合理的。开发人员和整个产品团队需要快速了解每个组件的执行情况以及组件之间的连接方式,以便进行正确的更新。

什么是 Omlet?

Omlet 是一个设计系统分析工具,它扫描你的代码库来检测组件和它们的使用。您可以从可定制的图表中获得真实的使用数据,以衡量所有项目的采用情况,并确定改进设计系统的机会。
不管你使用什么设计工具,或者像泽普林一样,你都可以开始使用 Omlet!

Omlet 分为两部分

  1. Omlet CLI: 检测组件并分析它们在您的项目中是如何使用的。
  2. Omlet Web App: 可视化来自 Omlet CLI 的数据,以便您可以探索您的组件及其使用情况。

Omlet 解决设计系统问题

  1. 用可持续发展衡量进展:简单的现成图表,可立即跟踪采用情况。没有自定义脚本或可视化。
  2. 识别新兴模式:找出哪些特定的组件正在被创建和使用。深入了解哪些项目和团队正在使用它们。
  3. 对您的更新充满信心:组件依赖可视化提供了一个详细的视图,其中组件被用来理解一个变化如何影响项目和产品。

“过去,为了向利益相关者证明设计系统的价值,我构建了一个类似的工具,现在我很高兴可以简单地使用 Omlet,并花更多的时间来构建组件。”

安德烈·鲁伊斯·拉韦略在 Primer.io

Omlet 安全吗?

扫描过程只在 Omlet CLI 中进行,只有元数据(如组件的使用频率)被上传到 web 应用程序。

您的代码永远不会被处理或存储在云中。

分享反馈或获得帮助

Omlet 团队希望收到您的来信!如果你有任何朋友或同事想试用 omlet,他们可以分享一个邀请。

开发室自白

原文:https://www.gitkraken.com/blog/dev-room-confessions

关于开发室中实际发生的事情,可能会有一些误解。走过走廊,从门里探出头来。刚洗过的衣服和熏衣草的浓郁香味;明亮整洁的装饰在自然阳光的照射下令人耳目一新。

现在去隔壁的开发室。里面很暗。他们需要工作,这意味着纯粹、黑暗、专注,不受外界干扰。充满巨大显示器(顺便说一句,除非至少有一个显示器是纵向的,否则你不是一个真正的开发者)和持续的键盘咔嗒声的黑暗房间有一定的诱惑力。

编码很难。黄金法则是尽可能保持代码的整洁。那么,开发者们会做些什么来放松一下呢?除了奇多、激浪和流浪的“dev hairs”这些陈词滥调之外,还有其他 dev 吗?(不要问)

以下是对我们开发人员,可能也是你的开发人员复杂且有时令人恐惧的思维的五点见解。

1。命名惯例

与普遍的看法相反,开发人员通常不会将他们的文件命名为愚蠢的单词,或者只是为了好玩而在代码中加入笑话。如果你这么做了,还觉得自己超级聪明,那就收手吧。

if(yourCode.goofyLevel == ‘high’) yourCode.quality = ‘probably quite bad’;

这在当时可能很有趣,但一个月后你会重新审视这个文件,发现它只是愚蠢的、分散注意力的废话,每个人都会讨厌你。

然而,总有时间和地点。如果你正在测试你的代码,那么就在无关紧要的地方使用模拟但功能性的值。也许你想使用坚果的所有分类:松木、榛子、可乐果。澳洲坚果是 Axosoft 的最爱。请记住,这种做法只有在测试时才是合法的;在这种情况下,去“坚果。”

如果您想在命名约定中发挥您的创造力,请随意命名新特性。进入:Rickscroll,Slidy 面板,Loadyspin,一个 Spinny Bob,和著名的, NSFW。

2。松弛通道

我们是 AXO soft Slack 的快乐用户。我们有各种渠道来帮助我们提高工作效率!但是,如果你挖得足够深,你会发现“黑暗松弛”,一个充满肮脏的废话和替代话语方法的地下渠道网络。

例如,一些开发人员被踢出一个空闲频道并被扣为人质,只是为了看着 gif 文件从指向他们的地方滚过。

见证所有指向某个 dev 的疯狂 gif,注意,dev 没有被邀请到频道。

#Random变得如此随机,以至于它突破了通道,导致了额外程度的随机:可怕的#chaos通道。

当你从编码中出来呼吸新鲜空气时,这些频道是受欢迎的干扰,一些随意的轻松的废话正等着你。

3。味道很像墨西哥卷饼的复活节彩蛋

如果你一直在使用 GitKraken,我们的 Git GUI ,你可能会在一个随机的周四下午注意到一个“Chipotle 按钮”。你的眼睛没有欺骗你。我们添加这个按钮纯粹是出于需要。

这是一个 @GitKraken 复活节彩蛋吗?同事在工具栏中有一个“Chipotle”按钮!pic.twitter.com/wpQwgDzXE4

—迈克尔·理查森(@ anaccidentaldev)2016 年 9 月 26 日

window.addEventListener('DOMContentLoaded', function() {

每周四,Axosoft 的员工都会在网上订购 Chipotle,然后一名志愿者会拿起这个大订单,把它带回我们的办公室。向 Jonathan 大喊,我们最敬业的 Chipotle 跑步者!这个星期四的传统已经延续了好几年了。

如您所知,Chipotle 有多个位置,如果您不仔细保存您的订单历史,您可能会从错误的位置订购。或者更糟的是,如果你正在编码,没有在截止日期前下订单,你可能连 Chipotle 都拿不到!

输入,Chipotle 按钮。它是由一个需要更简单的方法来完成这个过程的创新(和渴望)开发人员创建的。最初,这个按钮只是我们内部开发的 GitKraken 版本的一部分。然后我们想,难道每个人都不想享受我们的墨西哥薄饼星期四传统吗?!'就这样,我们按下了直播按钮。

@GitKraken 一个 chipotle 按钮?我喜欢 chipotle 和 gitkraken,但伪装成 UI 的广告很低俗。如果这是个笑话,那就不好笑了。

—lafncow(@ lafncow)2016 年 9 月 22 日

所以,回答所有好奇的推特用户,答案是‘不,我们没有为 Chipotle 做广告’。我们真的很喜欢,好吗?

4。恶作剧

开发者是一个紧密的团体。所以,被接受并最终被信任的捷径是通过一个屡试不爽的恶作剧。毕竟,有什么比有预谋的痛苦和不便更能表达“我爱你,我支持你”呢?

你有没有试过拿一条最小的胶带粘在某人的鼠标底部?之所以经典,是因为管用。没有什么比准备好一整天的编码却不能移动鼠标更好的了。带着平静的期待倾听沮丧和困惑的咕哝声。随你怎么摆弄你的蓝牙设置,伙计,没用的!

另一个最喜欢的是使用无线键盘连接到某人的桌面。间歇性地折磨他们,通过输入他们看到的随机按键,但不是创建的。通过创建一个受害者不被邀请的私人休闲频道,远程但一起愉悦。当众羞辱真的是最好的,amiright?

如果你真的很幸运,一两个开发人员会去度假至少一周,给你足够的时间把他们的整个办公桌用保鲜膜包起来,挂在天花板上。

像一个真正的宇航员一样拥有自己的恶作剧。

Own that prank like the true astronaut that you are.

你甚至可能有一天下班后发现你的车被塑料浸成了粉红色。

塑料蘸车粉?当然,为什么不呢?

Plasti Dip a car pink? Sure, why not.

当心,因为在你问“为什么这里没有任何创造性的恶作剧?”之后,你可能会成为发现你的键盘被装在果冻里的受害者所以,祝你好运,不要问问题。

Watch out, because you could fall victim to finding your keyboard encased in Jello after you ask, “why aren’t there any creative pranks here?” So, good luck and don’t ask questions.

5。庆祝发布

发布之后,是庆祝的时候了。有什么比在全能的 Squidpope(被指定在一周内回答产品问题的开发人员)脚下拍照(是的,只有一张)更有趣的呢?)

为你干杯,我们的开发者伙伴!继续做你该做的来完成任务。

仁慈的乌贼。

The benevolent Squidpope.

更新您的开发者简历| GitKon 2022 | Nicolas Frä nkel

原文:https://www.gitkraken.com/gitkon/developer-cv-nicolas-frankel

https://www.youtube.com/embed/KvvmHGmzO00?feature=oembed

视频

作为一名软件开发人员,更新您的开发人员简历可能会感到麻烦和耗时。当你面前有一大堆工作要做,最后期限又快到了,你会觉得自己没时间了。

不是这样的!只需一点努力,在 GitHub actions 等自动化工具的帮助下,您就可以确保您的 GitHub 个人资料始终是最新的。

定制您的 GitHub 个人资料

有人说 GitHub 是开发者的简历;只需快速浏览一下某人的承诺历史就能让招聘人员了解他们需要知道的一切。但是如果你的公司不把他们的代码发布到公共的 GitHub repos 上呢?

GitHub 最近引入了定制个人资料页面外观的功能。这与 GitHub 页面不同,它允许用户向他们的 GitHub 个人资料添加内容。这是一个向潜在雇主展示你经验的好机会。

要开始,请按照下列步骤操作:

  1. 在 GitHub 上创建一个与您的 GitHub 帐户同名的存储库。
  2. 在根处加一个README。这可以是 GitHub 呈现的任何类型。

现在,GitHub 将把README呈现在你的档案顶部,如下例所示。

README应包含以下数据:

  • 个人简历
  • 最近的三篇博文
  • 接下来计划的五次会谈
  • 最新的 YouTube 录像

使用 Kotlin 脚本更新您的 GitHub 档案

许多开发人员选择使用 Python 脚本来更新他们的 GitHub 概要文件,但是如果您更熟悉 Kotlin,您也可以使用它。

了解更多关于 Kotlin 脚本的入门知识和技巧创建自述文件模板以自动更新您的 GitHub 配置文件

了解更多关于 Kotlin 脚本的入门知识和技巧创建自述文件模板以自动更新您的 GitHub 配置文件

用 GitHub 动作更新您的 GitHub 档案

2019 年 11 月,GitHub 推出了自己的持续集成工具:GitHub Actions。您可以使用 GitHub 操作自动更新您的 GitHub 个人资料,并保持您的开发者简历更新。

了解更多关于 GitHub 操作的信息,使用环境变量和工作流命令来更新你的 GitHub 档案。

2019 年 11 月,GitHub 推出了自己的持续集成工具:GitHub Actions。您可以使用 GitHub 操作自动更新您的 GitHub 个人资料,并保持您的开发者简历更新。
了解更多关于 GitHub 操作的信息,使用环境变量和工作流命令来更新你的 GitHub 档案。

刷新你的开发者简历

花点时间建立一个自动更新你的开发人员简历的流程,通过更新你的 GitHub 个人资料,这将在你未来的职业发展中为你带来很多好处。

考虑用 GitHub 库排名第一的 Git 可视化工具 GitKraken Client 来升级你的工具箱。

考虑用 GitHub 库排名第一的 Git 可视化工具 GitKraken Client 来升级你的工具箱。

开发者生产力| GitKon 2022 | Beyang,Liu,Sourcegraph

原文:https://www.gitkraken.com/gitkon/developer-productivity-beyang-liu-sourcegraph

https://www.youtube.com/embed/xOup5X8HfCY?feature=oembed

视频

当我们谈论开发人员的生产力时,我们经常听不到开发人员的声音。大多数研究开发人员生产力的专家似乎都在推销一些东西,而不是研究开发人员真正是如何工作的。

归根结底,开发人员是系统思考者。他们建模和构建系统,并经常绘制图表来说明这些系统是如何工作的。在考察开发人员的生产力时,为什么不采取同样的方法呢?

从直接的开发人员经验开始,并使用开发人员关于他们如何工作的心智模型是一个好得多的方法。

显影剂内循环和外循环

虽然传统的软件开发生命周期(SDLC)很好地强调了将代码投入生产的众多阶段,但它忽略了如何理解和编写代码的关键步骤。

对许多人来说,开发人员的工作嵌套在两个循环中:

  1. 粗略映射到 SDLC 的外部循环,发生在 sprints、projects 或 releases 级别。
  2. 一个读-写-运行的内部循环,当你正在写代码、运行测试、迭代直到你对你的代码满意的时候,每天都会发生很多次。

当您在开发过程中“接近源”时,开发人员进入内循环,这发生在他们在外循环工作时的多个点,例如:

  • 开始编写您将要更改的代码。
  • 创作错误修复或新功能或错误修复。
  • 修复 CI 中中断的测试。
  • 查看补丁或回复查看。
  • 调试失败部署中的错误。
  • 补救生产中的事故。

重要的是要讲一下内循环;毕竟,这是软件创作的核心。

流动状态

铺设在内环内的是黄金状态:流动。心流状态是指当灵感和动力完美结合时,任何人都能达到的专注和高效的状态。这是工作变得有趣的时候。

在开发中,达到心流状态加速了内部循环,但需要不间断的时间来实现。像上下文切换和其他中断这样的事情可以很快让 devs 脱离这种状态。

流动中断可以是内部的或外部的。外部干扰可以包括预定的会议或队友的即兴提问。内部中断可以由一个必要的附带任务触发,比如学习一个库或工具,或者解决一个阻塞。有时候是无法避免的。

GitKraken 的 Git 工具旨在通过减少上下文切换和授权开发人员在他们喜欢的工具中工作,使开发人员保持在流状态。今天免费试用 GitKraken 的所有工具:桌面版的 GitKraken Client ,VS Code 版的Git lens,吉拉版的Git Integration

如何衡量开发人员的生产力

你如何衡量开发人员的生产力?除了开发人员感觉“处于最佳状态”,我们还可以查看其他数据点,例如代码行或提交的代码,但是这些真的能衡量生产力吗?

从本质上讲,软件开发是一种创新的努力。与物理制造不同,我们的目标是生产以前从未生产过的东西。创新的自动单元是迭代,它包括在内部循环中循环。

如果生产率是通过内部循环的一次交互来衡量的呢?我们应该度量的单位是迭代频率,而不是代码量。

面向学生的最佳开发工具

原文:https://www.gitkraken.com/blog/developer-tools-students

文章更新于 2020 年 8 月

刚开始学软件开发会觉得像是迷失在迷宫里……像是迷宫里那种诡异的,吓人的迷宫。

你在学习语言、方程式和变量、时间管理和组织——我告诉你,这太疯狂了,太疯狂了!!

但是不要害怕!在 2020 年学习软件开发意味着你有大量的工具来帮助你从普通人轻松过渡到编码大师。

最棒的是。!这些产品中的许多,包括 GitKraken,通过 GitHub 学生开发者包对学生免费开放。

我们请我们的社区,包括我们在教育领域的 GitKraken 大使,分享他们为学生开发者推荐的工具。

以下是面向学生的 5 大开发工具:

  1. 上冲下冲下 GUI
  2. GitHub
  3. Visual Studio 代码编辑器
  4. 松弛
  5. 跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式

1、当你离开时,去 GUI

作为一名学生学习 Git 可以让你从你的同学中脱颖而出,并让你对未来的雇主更具吸引力。

通过 GitHub 学生开发者包免费获得 GitKraken Pro 套件!

作为一名学生,学习 Git(一个强大而复杂的版本控制系统,VCS)的基础知识将使你在加入你的第一个开发团队时,能够快速投入并与未来的同事合作。

众所周知,学习 Git 的困难之处在于可视化引擎下发生的事情,因为命令行界面可能非常神秘。GitKraken 的 UI 是市场上最好的,它提供了项目所有方面的大量可见性,包括分支和提交。

在本文中,您将看到 GitKraken 与命令行的提交历史有多么不同:Git kraken Git GUI 与 CLI

我向我的学生推荐 GitKraken,因为变更历史的可视化表示有助于他们理解 Git 复杂的分支和分叉特性。GitKraken 还可以轻松完成常见任务。

– Justin Hunt, teacher at Georgian College in Ontario, Canada

GitKraken 让我们更容易看到视觉上发生的事情;我非常喜欢它的用户界面。

– Dan, full stack development student at Helios Training

最精彩的部分?!学生可以通过 GitHub 学生开发包免费获得 GitKraken Pro 套件,该包包含我们的应用内代码编辑器,允许您直接在 GitKraken 中创建和编辑文件。GitKraken Pro 套件还包括 GitKraken 板GitKraken 时间线的 Pro 许可证。

2️⃣ GitHub

GitHub 是一个 Git 存储库托管服务,被全球数百万开发人员使用,他们利用 Git 对他们的编码项目进行版本控制。

编码 San 的 2019 年软件开发状态报告显示,超过 91%的受访组织使用 Git 进行版本控制,34.53%使用 GitHub.com 进行项目管理(2020 年报告显示同比增长至 43.22%)🚀).了解这个工具可以让你更好地为进入职场做准备。

The 2019 State of Software Development Report by Coding Sans shows that over 91% of organizations polled are using Git for version control, with 34.53% using GitHub.com for project management (the 2020 Report shows a year-over-year increase to 43.22% 🚀). Having an understanding of this tool will better prepare you for entering the workforce.

GitHub 远不止是一个存储代码的地方;这是一个支持实践社区和促进协作的会议场所。

GitHub is far more than a place to store code; it is a meeting place that supports communities of practice and fosters collaboration.

– Alexey, software developer and PhD student at the University of Virginia, Why You Should Use GitHub: Lessons for the Classroom

Alexey 继续概述了教育工作者可以使用 GitHub 的各种方式,包括跟踪学生进度、收集学生作业、鼓励课堂参与等等。

GitHub 通过 GitHub 教育计划为学生和教师提供了令人难以置信的支持。学生可以通过 GitHub 学生开发包获得免费的开发工具,申请成为 GitHub 校园专家,为学生黑客马拉松寻求资助,并努力成为 GitHub 实习生。

GitHub has done an incredible job of supporting both students and teachers alike through the GitHub Education initiative. Students can receive free developer tools through the GitHub Student Developer Pack, apply to become a GitHub Campus Expert, seek funding for student hackathons, and work to become a GitHub intern.

3️⃣ Visual Studio 代码编辑器

开发人员喜欢 GitKraken 的一些元素也存在于微软的代码编辑器 Visual Studio Code 中。VS Code 提供了一个直观的 UI,带有一个突出的侧边栏、强大的默认值、可发现的扩展等等,为学生开发人员提供了一个简单而干净的代码编辑平台。

Some of the elements developers love about GitKraken are also present in Visual Studio Code, a code editor by Microsoft. Offering an intuitive UI with a prominent sidebar, powerful defaults, discoverable extensions, and more, VS Code provides a simple and clean code editing platform for student developers.

Visual Studio 代码相当完整,但是有许多插件可以扩展它的功能。

VS 代码用户欣赏按文件夹或项目组织文件的能力;还有针对 JavaScript 和 Typescript 等内置语言的智能编辑,这对于不断接触新编码语言的学生来说很方便。

Slant.com

VS Code users appreciate the ability to organize files by folder or project; there is also smart editing for built-in languages like JavaScript and Typescript, which can come in handy for students who are constantly being introduced to new coding languages.

Visual Studio 代码是初学者的理想编辑器。我最喜欢的是好用,稳定,强大。对代码行或标签进行排序很容易,我喜欢文件的搜索,因为它直观而快速。

4️⃣懈怠

– Cristian, G2Crowd

Slack 是越来越受欢迎的沟通工具,被世界各地的团队和公司所使用。使用 Slack 获得经验不仅有助于学生适应你未来的工作场所,而且应用程序中有无数社区可供学生加入,以分享和获取信息。

例如, GitKraken Slack 社区提供了询问支持问题、与其他用户交流以及向我们的产品团队提交功能请求的渠道。我们甚至有一个离题频道,用户可以在这里分享个人兴趣、幽默的模因和更多的病毒式内容。

你是本地开发者聚会或者你学校的计算机科学俱乐部的成员吗?你在一个以科技为基础的非营利组织做志愿者吗?像这样的团体有社区空闲频道是很常见的。

科技行业也有专门的社区,比如这个面向 iOS 开发者的社区。

通过许多在线论坛,Slack 是认识其他志同道合者、分享有用信息和相互支持的好方法。请务必阅读并尊重每个社区的行为准则。

There are also communities for specialities within the tech industry, like this one for iOS developers.

5️⃣ GitKraken 董事会

GitKraken Boards 提供了与前两个工具的集成,提供了一个跨项目跟踪任务和问题的平台。任务管理通常不是学生优先考虑的技能,尽管事实上它可以在工作场所成就你或毁掉你。现在花时间练习问题跟踪和时间管理将会在未来的几年里为你带来好处,并让你脱颖而出。

使用 GitKraken 板跟踪您的问题,然后通过无缝的问题跟踪集成直接从 GitKraken Git GUI 管理这些问题。此外,学生可以将 GitKraken 板连接到 GitHub,以设置工作流自动化,链接卡以拉取请求,并与 GitHub 问题和 GitHub 里程碑同步,以查看您的更改在两个系统中的反映。

Offering integrations with the top two tools, GitKraken Boards provides a platform to track tasks and issues across projects. Task management is often not a prioritized skill for students, despite the fact that it can make or break you in the workplace. Taking the time to practice issue tracking and time management now will serve you well in the years to come, and will set you apart from the pack.

GitKraken Boards 帮助我和我的同学轻松地为我们的 CS 项目设定并满足截止日期,并进行更好的合作。

GitKraken Boards 便于与队友合作,并查看需要完成哪些行动项目。学生可以向其他团队成员分配任务,并跟踪这些任务的完成情况。你甚至可以创建公共图板并与没有 GitKraken 账户的同学分享——你所需要的只是一个网址!

更好的是,GitKraken 板可以通过移动应用程序访问,方便您在电脑前或外出时组织所有课程的待办事项,甚至个人项目或灵感板。这个令人难以置信的工具对所有人都是免费的!

– Gatare Libère, student at Kabarak University in Nakuru, Kenya

GitKraken Boards makes it easy to collaborate with teammates and see what action items need to get done. Students can assign tasks to other team members and track those tasks to completion. You can even create and share public boards with classmates who don’t have a GitKraken account—all you need is a URL!

你可以利用 GitKraken 板为你所有的学习准备一块个人看板。不需要绑定到具体的软件项目。

通过 GitKraken 成为更好的开发者

– Kevin Wittek, teacher at the Institute for Internet Security in NRW, Germany

我教我的学生使用 GitKraken,因为它易于使用,易于理解,并且有漂亮的用户界面/UX。

GitKraken 已经帮助全球成千上万的学生学习 Git,并发挥他们作为软件开发人员的潜力。加入这场运动,通过 GitHub 学生开发者包免费获得 GitKraken Pro 套件,提升你的游戏水平,给同学留下深刻印象,并获得未来梦想的工作。

I teach my students to use GitKraken because it’s easy to use, understand, and has beautiful UI/UX.

– Omar Jair Purata Funes, teacher at Universidad de Guanajuato in León, Mexico

GitKraken has helped thousands of students globally learn Git and reach their potential as software developers. Join the movement and get GitKraken Pro Suite free through the GitHub Student Developer Pack to level up your game, impress classmates, and land that future dream job.

开发容器| GitKon 2022 | Brigit Murtaugh,微软

原文:https://www.gitkraken.com/gitkon/development-containers-brigit-murtaugh

https://www.youtube.com/embed/6IesIsmzzRc?feature=oembed

视频

容器在部署时一直被用来标准化应用程序,但现在有很好的机会来支持其他场景,包括持续集成(CI)、测试自动化和全功能编码环境。

开发容器为这些场景提供了环境,并确保您的项目拥有所需的工具和软件。虽然部署和开发容器可能彼此相似,但您可能不希望在开发过程中使用的部署映像中包含工具。

自 2019 年以来,Visual Studio 代码中已经支持开发容器,最近 GitHub 代码空间也支持开发容器。这种支持得到了 devcontainer.json 的支持,这是一种带有注释的结构化 JSON(jsonc)元数据格式,用于配置容器化的环境。

开发容器规格

随着容器化生产工作负载变得越来越普遍,开发容器在 VS 代码之外的场景中变得越来越有用。微软和 GitHub 的一个团队已经启动了开发容器规范,该规范允许任何人使用任何工具来配置一致的开发环境。

您可以在相关的 containers.dev spec 网站上浏览该规范,并在 devcontainers/spec repo 中查看该规范及其活动提案。与开发容器和规范工作相关的其他 repos 也在 devcontainers GitHub org 中托管。

让我们更深入地了解开发容器规范,以及如何立即开始使用开发容器:

开发容器 CLI

开发容器 CLI 是该规范的开源参考实现。它可以在 devcontainers/cli 存储库中获得。

当像 VS Code 和 Codespaces 这样的工具在用户的项目中检测到devcontainer.json时,它们使用 CLI 来配置开发容器。这就打开了这个 CLI,使得单个用户和其他工具可以读取 devcontainer.json 元数据并从中创建 dev 容器。

开发容器 CLI 既可以直接使用,也可以集成到产品体验中,类似于今天它与远程容器和代码空间的集成。dev container CLI 目前既支持简单的单个容器选项,也支持与用于多容器场景的 Docker Compose 集成。

dev 容器 CLI 也可用于预构建映像,以加快启动时间。

用于构建和测试的开发容器

除了可重复的设置之外,相同的开发容器还提供了一致性,以避免开发人员之间的环境特定问题,以及集中的构建和测试自动化服务。

GitHub 动作和 Azure DevOps 任务在 devcontainers/ci 中可用,用于在持续集成(ci)构建中运行存储库的开发容器。这允许您重用用于本地开发的相同设置,以便在 CI 中构建和测试您的代码。

开发容器特性

开发容器中的特性是安装代码的自包含单元,旨在安装到各种基础容器映像上。

微软和 VS Code 的团队最近开源了一个新的 devcontainers/features 库。从 devcontainers/features 中引用特性就像在您的devcontainer.json中添加一个features属性一样简单。

以下示例安装了 go 和 docker-in-docker 功能:

"name": "my-project-devcontainer",

"image": "mcr.microsoft.com/devcontainers/base:ubuntu", // Any generic, debian-based  image. 

"features": { 

"ghcr.io/devcontainers/features/go:1": { 

"version": "1.18" 

}, 

"ghcr.io/devcontainers/features/docker-in-docker:1": {

"version": "latest",

"moby": true 

}

以下是官方和社区支持的开发容器特性:

开发容器特性创作

如果您想创建自己的开发容器特性,新的开发容器特性模板库是一个很好的起点。除了包含给定特性内容的良好模板,该模板还包含 GitHub Actions 工作流,使用 GitHub 容器注册表为您的帐户快速发布它们,让您尽快启动并运行。

开发容器功能有两个必需的组件:

  1. install.sh:安装入口点脚本。这在概念上作为映像 Dockerfile 的一层添加,并在构建时执行。这个入口点脚本可以安装语言(即 ruby)和工具(即 GitHub CLI)。
  2. devcontainer-feature.json:它包含了关于特性的元数据,一组可以在安装过程中传递给特性的安装脚本的选项,以及将被合并到最终开发容器中的devcontainer.json的“片段”。

Dev 容器特性可以用多种语言编写,最简单的是 shell 脚本。如果一个特性是用不同的语言创作的,那么关于该特性的信息应该包含在元数据中,以便用户可以做出明智的决定。

开发容器特性分布

开发容器特性以 tarballs 的形式分发。tarball 包含特性子目录的全部内容,包括devcontainer-feature.jsoninstall.sh和目录中的任何其他文件。

开放容器倡议(Open Container Initiative)又称 OCI,定义了容器和容器资源的行业标准。微软将开发容器特性视为 OCI 工件,并使用 OCI 注册中心的概念来分发它们。

上面提到的 features template repository 包含了一个 GitHub Actions 工作流来自动化发布过程。它将每个特性打包成一个 tarball,并将资产作为 OCI 工件发布给 GHCR。

通过在 GitHub 上的库的Actions选项卡左侧选择模板库来触发release.yaml工作流。这将在<owner>/<repo>名称空间下向 GHCR 发布每个特性。仅当devcontainer-feature.json中的版本属性被更新时,特征才被重新发布。

共享开发容器特性

如果您希望您的贡献出现在 VS 代码远程开发容器或 GitHub 代码空间 UI 中,用于开发容器的创建,您可以执行以下操作:

转到 devcontainers.github.io

打开一个 PR 来修改collection-index.yml文件

开发容器还有什么新特性?

除了新的开发容器功能 repo,微软最近还开源了一个dev containers/images repository,在那里他们托管了一组特定的图像,这些图像之前在vs code-dev-containers repository中。

微软团队正在为开发容器模板开发一个社区分发计划——在 vscode-dev-containers 中也称为“定义”——这将类似于特性。更新将在 vscode-dev-containers repo 中共享。

了解更多关于开发容器的信息

如果你有兴趣了解更多关于开发容器的知识,你可以看看 https://containers.dev/和 T2 的开发容器/规范回购。

在 repo 中,您将能够审查和评论活动的提议,如开发容器特性和特性发布的提议,并创建您自己的提议。您还可以在devcontainers org 中的任何回购上打开问题和拉请求,以帮助塑造开发容器的未来。

如果您在工作流程中使用 GitHub 和 VS 代码,请考虑使用 GitLens+ for VS 代码升级您的游戏,提供强大的可视化和协作功能。

Download GitLens Free!

本文中的信息由微软 Visual Studio 代码团队的高级项目经理 Brigit Murtaugh 提供。

联系人:brigit.murtaugh@microsoft.com; @BrigitMurtaugh 在推特上

大规模开发| GitKon 2022 | Andrew Pankevicius,Atlassian

原文:https://www.gitkraken.com/gitkon/devops-at-scale-andrew-pankevicius-atlassian

https://www.youtube.com/embed/-vxwMKtG7e0?feature=oembed

视频

将你的产品组织从 1 人扩大到 100 人的真实情况

软件开发团队在扩展时有重要的考虑因素。当我们将这一旅程从 1-100 进行细分时,每个团队规模都需要不同的解决方案来应对其独特的挑战。

不管你的团队规模有多大,重要的是依靠工具链和实践来增强你的能力。

担保是不可转让的

当创业公司刚刚起步时,他们通常不会对安全性给予足够的重视。这可能会在将来导致重大的、有时是不可挽回的问题。

从第一天起,安全性就是一个不可协商的开发工作流需求。句号。

现代软件发展真的很快;开发人员可以一致地利用开源库,而不是从头开始。虽然这是一个很好的实践,但保持对开源包内部内容的关注是很重要的——有时会有很多漏洞。毕竟,交付速度伴随着固有的风险。

您可以通过长期保持主动来管理这种固有的风险。

Gartner 报告称,如今 70%的在线应用程序利用开源包,其中 75%的应用程序存在漏洞,51%的漏洞需要一周以上的时间来修复

你的团队解决他们引入的问题的每一秒钟都意味着金钱的损失。不仅是花在这个问题上的时间,还有项目时间表的延迟和紧张,以及开发人员的精神疲惫。这是一个持续的威胁,需要作为您持续工作流的一部分进行管理。

利用软件组成分析(SCA)和软件分析安全工具(SAST)在项目首次部署之前提供对风险状况的可见性。

工具链蔓延

如果你是一家早期创业公司,一旦你的应用程序开始获得牵引力,你就必须扩大你的团队。更多的人意味着更多关于最佳实践、开发工作流和工具的意见。团队中的每个人经常会根据自己的喜好选择不同的工具。

工具链蔓延——在软件开发中从一两个工具到大量工具的感觉——是生活中的现实。

虽然减少你的工具可能很诱人,尤其是如果你需要减少你的预算,在这个阶段尽量避免减少工具,尤其是如果工具正在帮助你快速前进。如果你的开发人员正在使用他们觉得舒服的工具,并取得了成果,那就要向这方面倾斜。

如果有机会,将开发工具连接到您的工作管理套件,使非技术团队成员(如 QA、产品经理等)成为运输价值的一部分。

弥合开发和非技术团队成员之间差距的开发工具的一个很好的例子是吉拉的 Git 集成,它允许开发人员从他们的编码环境中更新项目状态,并给予管理层更快的可见性。

Get GitKraken Free for Students

Atlassian 将这种工具链蔓延称为 Open DevOps ,鼓励使用吉拉的团队使用其他 Atlassian 工具构建他们的工作流,例如他们的吉拉开发视图。

观看以上嵌入的完整 GitKon 会议,了解 Atlassian 吉拉开发运维高级产品经理 Andrew Pankevicius 为大型团队提供的企业级开发运维最佳实践。

DevOps 平台的时代| git kon 2022 | git lab 的 Brendan O'Leary

原文:https://www.gitkraken.com/gitkon/devops-platform-brendan-oleary

https://www.youtube.com/embed/VvxeJvLrz70?feature=oembed

视频

在过去 15 年左右的时间里,作为一个行业,我们已经踏上了 DevOps 之旅,我们已经看到了几波工具和流程的浪潮。

当团队完全分开时,每个人都带着他们的工具来解决问题。然后,随着组织将团队聚集在一起,他们开始标准化一套一流的工具。此外,团队还花时间在“DIY DevOps”上,将工具与定制集成缝合在一起,试图创造 DevOps 概念所承诺的原始协同效应。

devo PS 平台的发展

最近,该行业已经看到了两种相关力量的另一种转变。随着软件蚕食世界,企业需要想法以软件的速度前进。收集需求,然后花费精力将它们从一个团队传递到另一个团队的大规模、长时间、瀑布式项目的日子已经一去不复返了。

现在,每个行业的公司都是根据他们快速迭代和向客户交付软件和价值的能力来评判的。任何浪费在无差别的“DevOps 管道胶带”上的时间都必须被消除,以解放团队,为利益相关者创造价值。

与此同时,DevOps 工具领域已经出现了向整合的转变。虽然同类最佳的工具以前占据了主导地位,但团队现在正在寻求 DevOps 平台,以更少的集成、更少的浪费周期、更少的不透明流程和更少的干扰来完成更多工作。

所有这些导致了一个新的平台时代,而且不仅仅是在 DevOps 中。我们用来计划、构建、部署、操作、维护和度量我们生产的软件的工具必须不仅仅是紧密集成的,它们必须是一个允许信息和想法无缝流动的平台。

这个原则也适用于我们用来部署软件的方法。基础设施方面也发生了同样的向 DevOps 平台的转变——从内部专门构建的硬件到按需基于云的基础设施等,再到 Kubernetes 等完全抽象化硬件的同质平台。

但是,上述每一项仍然是一种工具,作为技术领导者,我们必须后退一步,问一问:我们的实际目标是什么?我们为什么要考虑这些工具呢?

devo PS 平台的目标

这个目标是:当评估我们用来完成工作的工具和技术时,以更少的迭代时间向我们的涉众交付更好、更安全的软件的能力,必须处于决策过程的最前沿。

我们应该衡量什么是重要的;是什么让我们有信心知道我们做出了正确的决定。十多年来,DevOps 研究和评估(DORA)小组一直在研究软件交付和操作性能的相关性和因果关系。

他们逐渐认识到,衡量四个关键指标:变更间隔时间、部署频率、变更失败率和恢复服务的平均时间,不仅与软件和运营卓越性相关,也是卓越性的指标。

在这些类别中表现良好的组织不仅超过了其他组织的软件性能,而且还看到了对与这些度量直接相关的组织目标的积极影响,例如收入和员工工作满意度。

为了有效和高效地衡量这些指标,需要一个新的时代:DevOps 平台的时代。放下“服务器中的螺丝刀”,让您的团队专注于软件交付和价值创造,这是组织在未来十年中竞争和取胜的方式。

通过引入高质量的 Git 工具来简化您团队的工作流程,这些工具增强了您项目历史的可见性,改善了团队协作,并提高了开发人员的工作效率和幸福感。

DevOps 工具报告 2020 | GitKraken 资源

原文:https://www.gitkraken.com/reports/devops-report-2020

GitKraken Git GUI 连续四年被评为第一开发工具,是 GitKraken 工具套件中的旗舰产品。它允许开发人员在一个彩色的图形中可视化他们的 Git 库的历史,并且它将复杂的 Git 命令简化为拖放动作。通过内置的合并冲突编辑器、交互式 rebase 模式、内置的代码编辑器、集成等等,GitKraken 为有经验的开发人员简化了 Git 工作流,并减少了 Git 新手的陡峭学习曲线。

GitKraken 从其他客户端中脱颖而出,因为它是 Linux、Mac 和 Windows 上可用的少数 GUI 之一——不像 GitHub Desktop 和 Sourcetree,它们不支持 Linux。它通过紧密连接各种代码工具在 DevOps 工作流中发挥着关键作用:Git 客户端、托管服务和 IDE(它内置了来自 VS 代码的 Monaco 代码编辑器)。

GitKraken 集成了上一节列出的所有顶级 Git 托管服务: GitHubGitLabBitbucketAzure DevOps ,以及它们的自托管服务——不包括 TFS——以便在 GitKraken 内部实现以下所有功能:在您的托管帐户上创建存储库,包括。gitignore 和许可证;自动生成一个 SSH 密钥对并添加它;fork 存储库;将身份验证保存到配置文件中;从您的回购清单中克隆;添加用于回购的遥控器;创建带有添加的受分配者、审阅者和标签的提取请求。查看纳入请求的构建状态。

它集成了吉拉云/服务器、GitKraken Boards、 Trello 、GitLab/GitLab 自我管理和 GitHub/GitHub 企业问题跟踪器,因此您可以查看、过滤、编辑和评论问题/卡片,创建与问题/卡片相关的分支,甚至直接从 GitKraken 创建新的问题/卡片。

GitKraken 还通过连接计划和代码步骤来支持无缝的 DevOps 工作流。GitKraken Git GUI 内置了计划工具,如 GitKraken 板GitKraken 时间表

为了增强任务管理,GitKraken Git GUI 中的存储库可以与 GitKraken 电路板上的卡片相关联。创建新的 GitHub pull 请求时,只需链接一张卡;这将自动更新 GitHub 中的拉请求描述。

开发运维 vs 敏捷:非此即彼吗?

原文:https://www.gitkraken.com/blog/devops-vs-agile

过去十年中出现的与软件项目管理相关的各种方法势不可挡。我们需要多少路线图来鼓励成功的软件开发、创新和更快的部署?

广泛流行的项目管理风格包括瀑布、敏捷(scrum、看板、混合)、快速应用开发(RAD)、六适马等等。在整个开发界流行的一种更新的方法是 DevOps,即开发和 IT 操作之间的集成。

在 GitLab 的 2018 年全球开发者报告中,作者对使用敏捷和 DevOps 基础设施的团队进行了严格的区分。

采用 DevOps 的组织比那些实践敏捷的组织更有可能按需部署并优先考虑自动化。

GitLab 2018 Global Developer Report

好吧,我们在这里告诉你:不一定非此即彼!

在 GitKraken,我们相信敏捷和 DevOps 工作结构的价值,并在我们的团队中不断采用这两种结构,以高效、及时的方式实现以客户为中心的创新协作开发项目。

没错,DevOps 和敏捷其实是可以互补的!

团队合作、协作和交流

敏捷的基本要素包括团队合作、自组织和责任;传统上,这种方法是为小型团队设计的。协作和沟通也是任何成功的 DevOps 基础设施的基础,更侧重于跨部门的沟通。

在 GitKraken,我们发现敏捷思维虽然在小范围内更容易完善,但可以在更大的组织内扩展。

DevOps 是软件团队之外的敏捷应用。

– Ian Buchanan, Agile and DevOps: Friends or Foes?

我们的秘密是什么?每个部门都必须理解并重视协作文化。

GitKraken 的团队拥有一些令人难以置信的工具(内部开发的)来增强我们的项目管理和任务跟踪: Axosoft ,一个支持 Scrum、看板和混合敏捷模型的健壮工具,以及 Glo Boards ,一个提供看板板的轻量级任务跟踪工具。

Axosoft 旨在帮助团队更准确地计划冲刺和发布,并提供强大的功能来排列任务和估计团队成员的工作量和产出。

Axosoft 还有一个非常强大的帮助台平台,旨在帮助团队收集和评估反馈,这是敏捷的另一个基本价值。这是 GitKraken 客户成功团队获取用户反馈的主要来源之一。 开始免费试用 Axosoft!

我们的 Glo 板与我们的 Git 客户端无缝集成,并提供直观的拖放功能、令人印象深刻的搜索过滤器以及易于共享的板和卡。

这两个工具都允许跨部门的团队成员保持持续的沟通,并有助于为每个人提供工作项目的完全透明性。

收集反馈

虽然 DevOps 的结构元素可能更侧重于内部反馈和部门之间的沟通,但当与敏捷的基础(优先考虑客户输入和用户请求)相结合时,您真的可以两全其美。

然而,假设所有部门都能从所有来源收集改进反馈是不现实的。在 Axosoft,我们将工作平均分配给多个团队。

客户成功和营销通过支持票、社交媒体、Slack、电话等获得大量客户反馈。并立即将其传递给我们的开发和 QA 团队。然后,部门领导可以对工作项目进行评估并确定优先级,然后将部署状态直接反馈给用户。

我们还不断为我们自己的软件更新提供内部意见,这是一种更常见的与 DevOps 相关的策略。当你喂自己的产品时,这是一个更容易实现的壮举,GitKraken 团队对此非常自豪。

我们的开发人员对我们自己的系统有着深入的了解,这使他们能够与我们的 IT 运营团队一起解决问题,从而更快地找到并实施解决方案。

保持快节奏

敏捷和 DevOps 都旨在实现更快的开发和部署。而敏捷更关注软件开发方面,DevOps 更关注持续集成。

敏捷和 DevOps 都旨在实现更快的开发和部署。

这两种方法都旨在实现持续部署。在这方面,DevOps 可能是一个更复杂的迭代,提供了一个更有组织的基础和与 IT 运营的协作。

Axosoft 的 IT 团队和我们的开发团队行动一样快。他们了解运营在产品改进过程中必须扮演的角色,并愿意与我们的开发团队保持同步,以实现高质量的代码和我们高标准的安全性、性能和可靠性。

而敏捷更关注软件开发方面,DevOps 更关注持续集成。

同样,我们的开发人员理解他们的开发选择和变更的后果,并对其负责。我们的 Glo 板可以很容易地为工作项目提供全面的上下文,这样每个人都可以保持在同一页面上。

让我们谈谈自动化

自动化对于实现 DevOps 的成功是绝对必要的,但不一定是敏捷的意图,也不冲突。

有人会说自动化可以改进任何工作方式,在 DevOps 中增加对自动化的关注是对敏捷流程的补充。

实施变更

使用 DevOps,更关注早期测试和持续实现,但是当与敏捷思维融合时,可以找到公平的平衡,敏捷思维更关注实际的软件开发。

在 GitKraken,我们的 DevOps 方法有助于减缓开发过程,但不会影响我们的时间表,只会让我们在部署前更有效地发现和修复 bug。

我们在开发过程后期实施和适应变更的敏捷习惯,帮助我们的团队预测未计划的工作,不管我们在交付时间表中处于什么位置。

增量试验对于避免部署中的严重延迟至关重要。这使我们能够更好地提前了解部门移交如何导致延迟,并且我们可以不断地检查和适应。

定义和传递值

敏捷的原则侧重于向客户交付价值,而 DevOps 侧重于交付可持续的业务价值。集成这两种方法使得协同向业务和客户交付价值成为可能。

敏捷的原则侧重于向客户交付价值,而 DevOps 侧重于交付可持续的业务价值。

当然,以客户为中心是 GitKraken 团队的重中之重,但对提供商业价值的持续和互补的关注是我们组织可持续发展并为增长做好准备的原因。

集成这两种方法使得协同向业务和客户交付价值成为可能。

当我们的 DevOps 方面帮助我们考虑开发变更的更大影响时,我们的敏捷方面防止我们的团队被无休止的技术改进周期所麻痹。

归根结底,这一切都与文化有关

在一天结束的时候,这一切都是关于你的公司的总体文化,领导,和个人团队成员。

如果您的部门主管相互尊重,理解公司的长期目标,并由提供透明度和现实期限的高管领导,那么实现敏捷和 DevOps 的最高水平就容易得多。

DevOps 工作流程中断| GitKon 2022 | Peter Pezaris,New Relic

原文:https://www.gitkraken.com/gitkon/devops-workflow-peter-pezaris-new-relic

https://www.youtube.com/embed/bsUK7pS2eXg?feature=oembed

视频

虽然在缩小开发人员和运营工程师之间的差距方面已经取得了很大的进步,但是在角色和职责、一致性以及对信息的访问方面仍然存在根本性的差异,这将继续阻碍进一步的进步。

每个人都熟悉 DevOps infinity 循环:这是一个理想的工作流,软件开发生命周期(SDLC)的每个阶段都进入下一个阶段。虽然这一理念已广为人知,但组织一直致力于在 DevOps 的旗帜下将开发人员和站点可靠性工程师(sre)更紧密地联系在一起。

事实是,大多数时候,DevOps infinity 循环或 DevOps 工作流是中断的。开发人员继续专注于构建功能,而没有从生产数据提供的数据驱动的洞察中获益。开发人员经常在没有完全理解他们的变化将如何影响性能和用户体验的情况下“祈祷”。结果,公司错过了更快改进产品和更快取悦客户的机会。

DevOps 失败

据 Gartner 称,90%的开发运维计划将无法完全达到预期。然而,全球 DevOps 市场规模在 2021 年为 73 亿美元,预计到 2030 年将达到 370 亿美元。总而言之,我们都在花费数十亿美元来实施那些预计 90%的情况下会以某种有意义的方式失败的计划。

问题是:DevOps 工作流中的什么失败了,对此可以做些什么?

DevOps 工作流工具

随着 DevOps 工具链的不断扩展,跨工具的协作变得越来越困难,成功取决于您的组织在实现一致性的同时简化和自动化的能力。开发人员在日常工作中使用来自不同供应商的各种工具。

使用最广泛的 DevOps 工具是微软的 VS Code,Atlassian 的吉拉,Salesforce 的 Slack。代码主机包括 GitHub、GitLab 和 Bitbucket。弥补这一差距的是 CI/CD 供应商,如 Jenkins 和 CircleCI。

GitKraken 为 DevOps 工作流构建了传奇的 Git 工具,集成了大多数开发人员已经在使用的工具。 GitKraken 客户端帮助开发者可视化托管在 GitHub、GitLab、Bitbucket、Azure DevOps 上的知识库; GitLens 在 VS 代码中添加关于你的项目的重要信息;和吉拉的 Git 集成减少了上下文切换,简化了开发人员和项目经理的沟通。

运营工程师的日常工作通常依赖于其他供应商,如 New Relic 、Datadog 和 Dynatrace。那么,我们如何确保 SDLC 中的所有利益相关者能够同时访问所有相关信息,理解目标并获得不同输入和工作流的综合视角,而不管他们使用什么工具?

如何修复 DevOps 工作流程

DevOps 计划必须解决三个基本领域,以便建立一致性、成功协作和简化 DevOps 工作流。

  1. 协作。第一步是良好的协作。大多数组织依靠 Slack 或 MS 团队来实现这一目的,但是当涉及到代码和指向代码的事件的协作时,这两者都不是最佳的。将代码和数据放在 DevOps 协作的中心可以确保每个人都可以访问解决问题所需的信息,减少甚至消除过程中的意见分歧。

  2. 能见度。运营工程师和开发人员必须了解整个技术体系中应用的性能。这三个障碍可能出现在组织运营的不同方面,它们的影响可能会限制团队向客户交付价值的能力,就像开发运维工作流效率低下一样。可见性有助于组织在共同目标上达成一致。

  3. 上下文切换。考虑到成功实施开发运维所涉及的流程和工具的数量,努力减少上下文切换以及在已建立的开发运维工作流中集成工具非常重要。将协作、跟踪、历史和可观察性集成到单一平台的能力可以大大提高清晰度和解决问题的时间。

对于 DevOps 团队来说,提高速度和透明度总是值得追求的。然而,当其他恼人的问题可能隐藏在众目睽睽之下时,不要短视地关注开发运维工作流,这一点很重要。

通过致力于生产遥测,开发人员团队可以采用客观的、数据驱动的软件工程方法——节省时间并避免基于意见而非事实的潜在误导方法。可见性、透明度和速度可以帮助工程团队满足不断增长的需求,并为其组织提供最佳的业务成果。

如果您正在使用 Git Integration for 吉拉来简化您的 DevOps 工作流,那么使用 CI/CD for 吉拉可以更进一步,允许您直接在吉拉查看构建和部署数据。

Start a trial of Git Integration for Jira

公共部门发展合作

原文:https://www.gitkraken.com/blog/devsecops-public-sector

政府实体向私营部门的技术领导者寻求趋势和技术并不罕见。具体来说,国防部(DoD)已经做出了协调一致的努力来实现软件开发过程和工具采购的现代化。在本文中,我们将引用两份 2019 年的报告,以指导国防部的 DevSecOps 实施和持续成功。

采纳创新科技公司的实践是两篇论文的主题。毕竟,现代软件公司必须快速开发和交付以保持竞争力。 作为一家快速发展且极具竞争力的 SaaS 公司,我们深知成功的软件公司必须在以下三个方面发展最佳实践:软件开发、项目管理和人员管理。

在本文中,我们将讨论传奇开发者工具 GitKraken 套件如何帮助政府和军事组织实施 DevSecOps 的最佳实践。

DevOps vs DevSecOps

DevOps 方法是一种组织演变,侧重于支持开发和运营之间更快生产和更好协作的工具和流程,已成为全球开发团队的标准最佳实践。

详细了解为什么全球的科技组织都在采用 DevOps,以及哪些工具将帮助实现成功转型。

2020 DevOps 工具报告

另一方面,DevSecOps 更加细致入微,非常强调安全性。考虑到这一点,了解到负责机密信息和公共安全的政府和公共部门实体普遍采用 DevSecOps 也就不足为奇了。

DevSecOps 的定义是什么?

DevSecOps 是一种组织软件工程文化和实践,旨在统一软件开发(Dev)、安全(Sec)和操作(Ops)。DevSecOps 的主要特点是在软件生命周期的所有阶段自动化、监控和应用安全性。

– Thomas Lam, DoD Enterprise DevSecOps Reference Design

然而,虽然安全性是方法论的首要焦点,但是 DevSecOps 首先是以软件开发为中心的,并且采用成功的策略将依赖于您在第一线使用的工具和过程。

软件开发标准

源代码/版本控制

正如所有现代的、负责任的软件开发一样,DevSecOps 方法依赖于使用源代码控制来跟踪文件变更和版本历史。Git 是被采用的用于版本控制的行业标准系统,任何致力于采用现代 DevSecOps 策略的团队都需要理解它的复杂性和优势。

从根本上说,Git 是高度技术性的,需要对复杂的需求和框架有广泛的了解;但是,当与一套正确的工具搭配使用时,协作和生产力的限制是无穷无尽的。

DevSecOps 开发者工具

没有合适的设备,你永远不会去上班,软件开发人员也不应该没有合适的工具来实现最大的生产力。获得正确的工具集将有助于确保您的开发人员对他们的日常工作流程充满信心,最终导致更少的错误和更高的性能。

在 DevSecOps 实践中,技术和工具在缩短软件生命周期和提高效率方面起着关键作用。

– Thomas Lam, DoD Enterprise DevsecOps Reference Design

为了达到预期的结果,您需要一个或一组工具来完成:

  • 对托管 Git 存储库的安全访问
  • 版本控制文档
  • 代码审查
  • 团队协作
  • 项目规划和管理
  • 问题跟踪
  • 团队入职

上冲下冲下 GUI

如前所述,Git 可能很复杂。幸运的是,有许多工具可以让使用 Git 的体验更加直观和有价值,而最重要的投资工具是 Git 客户端。

现代 Git 客户机中特立独行的是 GitKraken。

加入依赖 GitKraken 按时按预算完成任务关键型项目的知名公共部门组织。

Join prestigious public sector organizations that rely on GitKraken to keep mission-critical projects on time and on budget.

利用 GitKraken Git GUI 这样的强大工具,将有助于领导层建立和实施跨团队的工作流标准;这使得实现更好的入职、减少错误和更快地交付成为可能。

Utilizing a robust tool like the GitKraken Git GUI will help leadership establish and implement workflow standards across teams; this makes it possible to accomplish better onboarding, reduce errors, and deliver faster.

安全访问源代码

无论您的 Git 存储库是在内部托管还是自托管以增强安全性,GitKraken 都可以与 GitHubGitLabBitbucketAzure DevOps 以及它们的自托管对等物无缝集成。

如果 DevSecOps 是一个焦点,那么您的团队很可能在内部的防火墙环境中托管您的 Git repos。GitKraken 有一个由技术实施专家组成的团队来帮助您管理安装过程,并可以让您的团队快速启动并运行该工具,同时确保您的源代码完全安全。

If DevSecOps is a focus, it’s likely your team is hosting your Git repos in a firewalled environment on-premises. GitKraken has a team of technical implementation specialists to help you manage the setup process and can get your team up and running with the tool quickly, all while ensuring complete security of your source code.

版本控制文档

版本控制的概念是能够跟踪源代码随时间的变化。由于许多原因,这可能是有价值的,但一个重要的好处是能够保存应用程序的过去版本,并在需要时恢复。

“对于许多国防部系统来说,源代码不可用于检查或测试,国防部依赖供应商为新的计算机环境编写代码。” (国防革新局。"软件永无止境:重构获取竞争优势的代码."国防部,2019 年 3 月 26 日,预发布和安全审查办公室。)

因为不要求供应商维护活动合同之外的代码库,遗留代码并不总是被迁移,并且随后会丢失。

GitKraken Git GUI 将确保您的团队从一开始就可以访问整个项目的历史。最重要的是,UI 将您的回购可视化在一个中央图形中,这样可以很容易地快速查看在任何给定的时间点,谁在做什么,谁做了什么更改。

提交按时间顺序显示,最新的更改显示在顶部,包括正在进行的工作(WIP)。图的左侧列出了分支和标记,右侧的提交面板是显示、暂存和提交文件和更改的地方。

代码审查

DevSecOps 的另一个基本原则是降低风险;代码审查已经被证明是避免冲突和增加软件交付稳定性的策略。

GitKraken 鼓励团队通过 pull 请求进行代码审查,并为 GitHub、GitLab、Bitbucket 或 Azure DevOps 上的远程存储库提供集成。GitKraken Git GUI 更进一步支持 pull 请求模板,使您的团队成员能够添加带有描述和标签的附加上下文,并分配审阅者。随后,审核者可以通过 GitKraken 直接批准和推送拉式请求;不需要上下文切换。

Another foundational principle of DevSecOps is the reduction of risk; code review has been a proven strategy to avoid conflicts and increase the stability of the software delivered.

问题跟踪集成

在其他特性中,GitKraken Git GUI 与竞争对手不同,它与开发团队广泛使用的行业标准工具进行了全面的问题跟踪集成。如果您的工程师永远不必离开他们的编码环境来组织他们的日常任务并与同事交流进展会怎么样?

GitKraken Git GUI 通过与以下问题跟踪程序集成来优化工作流程:

Among other features, the GitKraken Git GUI stands apart from competitors with comprehensive issue tracking integrations with industry-standard tools used widely across development teams. What if your engineers never had to leave their coding environment to stay organized with their daily tasks and communicate progress to colleagues?

这些集成允许用户直接从他们的编码界面管理他们的问题,并执行以下操作:

查看和过滤问题/卡片

查看问题/卡详细信息

  • 创建与问题/卡相关的分支机构
  • 向问题/卡片添加评论
  • 编辑问题/卡片
  • 创建新问题/卡片
  • 项目管理标准
  • 规划是成功的 DevSecOps 生命周期的关键阶段。

计划阶段包括帮助项目管理时间、成本、质量、风险和问题的活动。

当你看到需要完成的数百个项目的列表时,很难确定哪些行动项目是最重要的,并将最终影响里程碑目标。此外,当试图向高层领导传达项目进展和目标时,通常会出现脱节。

“DevSecOps 计划子系统使用一套沟通、协作、项目管理和变更管理工具来支持计划阶段的活动。规划工具有助于人际互动,提高团队生产力。” (Lam,Thomas。“国防部企业开发部门参考设计”尼古拉斯·柴兰,1.0 版,国防部,2019 年 9 月 12 日,预发布和安全审查办公室)

The plan phase involves activities that help the project manage time, cost, quality, risk, and issues.

– Thomas Lam, DoD Enterprise DevSecOps Reference Design

DevSecOps 规划工具

GitKraken Git 客户端在中央提交图中提供了很大的透明度,可以显示哪些团队成员正在执行哪些任务,但该工具还集成了为团队协作和项目管理而创建的其他两个产品:Git kraken Timelines&Git kraken Boards

穿越时间线

GitKraken 时间表是在考虑到一些先前陈述的挑战的情况下创建的;我们的团队需要一个工具来帮助规划大型项目目标和里程碑,其格式可以跨部门交流。我们还需要一个工具,允许我们根据需要迭代计划。

时间线在代表时间的连续线上显示主要项目里程碑;每个里程碑标志突出显示主要目标以及里程碑计划发生的时间。

您还可以在同一个视图中将时间表重叠在一起,以比较产品发布时间表,从而避免冲突和重叠。每条时间线都有一种独特的颜色,因此您可以很容易地将它们区分开来。

至关重要的是,所有团队成员都了解他们的个人努力如何影响最终目标;它不仅能让你的开发人员更加投入,还能激励任务的个人所有权和团队协作。

Timelines show major project milestones on a continuous line that represents time; each milestone flag highlights primary goals and when the milestone is scheduled to occur.

软件项目必须有助于商业的总体目标,并且努力必须与最终目标相一致。

It’s critical that all team members understand how their individual efforts affect an end goal; not only will it keep your developers more engaged, it incentivizes personal ownership of tasks and team collaboration.

跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式跳跃式

GitKraken Boards 允许开发团队查看和跟踪看板中的任务,看板中的列定义了您工作流程中的不同步骤,卡片代表了各个任务。任务可以分配给个人或开发人员小组,进度表可以让每个人看到动力和能力。

– Defense Innovation Board, Software Is Never Done: Refactoring the Acquisition Code for Competitive Advantage

GitKraken 电路板最大的优点之一就是集成数量众多。团队可以与 Slack 集成,Slack 是企业团队流行的通信工具,因此开发人员可以在任务分配时立即收到通知。

**GitKraken Boards **

使用 GitKraken 板自动完成任务

GitKraken Boards 和 GitHub 玩的也不错;开发者可以与 GitHub 问题同步,通过 GitHub 动作自动操纵棋盘上的卡片,并通过与 GitHub 拉请求集成来基于拉请求状态自动推进卡片并检查构建状态。

GitKraken Boards 还与本文中强调的另外两个工具无缝集成:GitKraken Git GUI 和 Timelines。这使得在不切换工具的情况下实时跟踪任务成为可能,并帮助团队可视化他们的日常活动以及更高级别的公司里程碑。

“从规划和需求到部署和运营,采用通用工具。”(林,托马斯。“国防部企业开发部门参考设计”柴兰,尼古拉斯,1.0 版本,国防部,2019 年 9 月 12 日,预发布和安全审查办公室)

选择一套协同工作的工具将为您节省开销、入职和日常工作的时间和金钱。

**利用我们的教育资源帮助您的团队加入 Git 和 GitKraken。跟 GitKraken 学 Git **

“Adopt common tools from planning and requirements through deployment and operations.” (Lam, Thomas. “DoD Enterprise DevSecOps Reference Design.” Chaillan, Nicolas, Version 1.0, Department of Defense, September 12, 2019, Office of Prepublication and Security Review)

人员管理

当然,您选择使用的工具将决定您的 DevSecOps 战略的成败,但是与技术同样重要的是使用它的人。采用 DevSecOps 将需要文化上的转变,并可能调整部门内部和跨部门的当前治理。

"DevSecOps 描述了组织的文化和实践,使组织能够在开发人员、安全团队和运营团队之间架起桥梁。它要求组织转变文化,发展现有实践,采用新技术,并加强治理。”(林,托马斯。“国防部企业开发部门参考设计”柴兰,尼古拉斯,1.0 版本,国防部,2019 年 9 月 12 日,预发布和安全审查办公室)

成功的文化建立在信任和尊重的基础上;有了 DevSecOps,没有什么不同。结合开放的交流、透明性和所有权,以及现实的期望,你的团队将具备成功的基础。

Of course, the tools you choose to utilize will make or break your DevSecOps strategy, but just as important as the tech, are the people who will use it. Adopting DevSecOps will require a cultural shift and will likely adjust current governance within and across departments.

在公共部门采用发展合作项目

GitKraken Git GUIGit kraken timelineGitKraken Boards 的帮助下,您将顺利地为您的公共部门组织完成一个成功的 DevSecOps 计划。

转移到 DevSecOps 可以提高灵活性,并加快新功能的投入。但这也需要新的政策、流程和文化变革。

…和一点耐心。😉

Moving to DevSecOps improves agility and speeds new capabilities into the field. But it also requires new policies, processes, and cultural change.

– Thomas Lam, DoD Enterprise DevSecOps Reference Design

…and a little patience. 😉

GitKraken 将于 2023 年 2 月 28 日停止访问旧版 GitKraken 客户端。升级至最新版本。

原文:https://www.gitkraken.com/blog/discontinuing-access-and-support-for-gitkraken-client-6-6-0-and-older

从旨在帮助软件开发人员集中精力编写代码的播放列表中进行选择。播放列表包括流行的音乐剧、视频游戏曲目、棕色噪音等等。

实施 DORA 指标| GitKon 2022 | Hezheng Yin,Merico

原文:https://www.gitkraken.com/gitkon/dora-metrics-devops

https://www.youtube.com/embed/IDu92GG4Gc8?feature=oembed

视频

Dora devo PS 指标

在本文中,我们将介绍一些非常实用且可行的实现 DORA 指标的技巧。

  • 什么是 DORA 指标,它们为什么有用?
  • 对于 DORA 指标,您需要正确计算什么?
  • 如何使用开源解决方案在短短几分钟内成功实现 DORA?

什么是 DORA 指标

DORA 由一组研究人员在六年前创建,代表“DevOps 研究和评估”,是多年数据分析的答案,已经检查了数千个团队,寻求一种可靠和可行的方法来了解软件开发团队的绩效。

此后,DORA 成为了一个关注开发过程的稳定性和速度的标准化框架,它避免了更具争议性的生产力测量和个人绩效指标。

DORA 中有两个关键的数据集群:速度和稳定性。DORA metrics 框架侧重于将这两者作为一个整体而不是独立变量保持在相互关联的环境中,从而使数据更难被误解或滥用。

朵拉速度指标

velocity 中有两个核心指标:

  • 部署频率:成功部署到生产的次数;你的团队发布给用户的速度有多快
  • 从提交代码到投入生产需要多长时间?这很重要,因为它反映了您的团队对用户需求的响应速度。

自然地,如果您一直在推动高节奏,您也希望确保交付的工作是可靠的,并且停机时间和故障是容易恢复的。

DORA 稳定性指标

稳定性由两个核心指标组成:

  • 更改故障率:您的部署导致故障的频率如何?
  • 平均恢复时间:一旦发现故障,团队需要多长时间才能从故障中完全恢复?

为了使 DORA 指标更具可操作性,有一些成熟的基准提供了一个简单的镜头来确定您是处于“精英”、“高”、“中”还是“低”水平。

实施 DORA 指标的挑战

虽然 DORA 不一定是新的,但由于与获取、统一、查询和可视化必要数据相关的挑战,实施 DORA 指标已被证明对许多公司和团队来说遥不可及。

正确实现 DORA 的一个内在复杂性是,所需数据通常存在于许多工具、帐户和格式中,这使得编译过程变得困难、手动且耗时。

团队配置和过程通常是非常独特的,使用不同的交付过程、定义和标准。最终,当涉及到许多声称提供 DORA 指标的现有解决方案时,“一刀切”实际上意味着“一刀切”。

上述挑战是 Merico 团队构建 DevLake 的部分原因,dev lake 是一个开源的开发数据平台,它以最透明和可定制的软件包收集、分析和可视化来自许多开发工具的数据。

最近,Merico 宣布了对 DORA 框架的强大支持,使各种形状和规模的团队比以往任何时候都更容易和更容易使用这些强大的数据!

使用 DevLake 实施 DORA 指标

您需要的资源,以及 DevLake 如何计算 DORA

计算 DORA 指标的三个关键实体包括:

  • 变化:对于大多数团队来说,这只是简单的拉请求 (PRs),所以这些数据将来自代码托管工具。DevLake 目前支持 GitHub、GitLab 和 BitBucket。
  • 部署:这些数据来自您的 CI/CD 工具。DevLake 目前支持 Jenkins、GitHub Actions 和 GitLab CI,CircleCI 正在开发中。DevLake 还有一个定制的 web 挂钩,如果您的 CI/CD 工具还不支持,它允许您将部署数据推送到 DevLake。
  • 事件:这是稳定性指标的来源。DevLake 将很快支持 PagerDuty 和 Sentry,使这些数据更加有效。

只需简单的四个步骤,DevLake 就能克服上述挑战,让你过得更好。

  1. 设置 DevLake: 使用 Docker Compose 和 Kubernetes、Helm 或 Temporal。
  2. 收集数据:使用 DevLake 的多功能连接器,您可以从许多工具中提取您需要的数据。
  3. 推出随时可用的仪表盘: DevLake 预配置了许多指标和仪表盘,包括完整的 DORA 支持。
  4. 定制:只需几个 SQL 查询,您就可以在 DevLake 中个性化甚至创建全新的指标和仪表板。

设置好 DevLake、连接好数据源并运行必要的收集管道后,DevLake 就可以利用 Grafana 的功能呈现完整的 DORA 仪表板了。

无论您是想以标准格式实现 DORA,还是想开发更高级、更具体的仪表板,使用 DevLake,您只需点击几次鼠标并进行几次查询。

关于和政尹

和政是 Merico 的联合创始人兼首席技术官,Merico 是一家成长中的科技公司,专注于评估代码和软件交付过程。他还是 DevLake 的创建者和主要维护者,dev lake 是一个开源的开发数据平台,目前正由 Apache 软件基金会孵化。

Hezheng 在加州大学伯克利分校的计算机科学博士项目期间开始了评估和基准测试软件和软件交付过程的旅程,研究评估代码贡献的算法和方法。他的研究催生了 Merico 和 DevLake,这两家公司都已成为全球技术领导者。

探索 DORA Metrics 和 DevOps 分析

原文:https://www.gitkraken.com/gitkon/dora-metrics

https://www.youtube.com/embed/9OBLkxb85k0?feature=oembed

视频

你想开发成功的地图,没有任何人从你那里窃取结果的风险吗?那你来对地方了。让我们探索朵拉,但不是尼克国际儿童频道的角色,特别是朵拉矩阵。

朵拉是 DevOps 研究与评估小组。由 Nicole Forsgren 博士和 Gene Kim 创建,它开始对 DevOps 以及组织如何在他们的软件交付组织中实现它进行学术风格的研究。目标是尝试并理解是什么促成了一个伟大的 DevOps 转型。

许多业内人士仍然在努力理解开发和运营是如何结合在一起的,以及这对敏捷或者软件的未来意味着什么。

现在,让我们回到 DevOps 刚起步的时候。一名开发人员走过一个服务器机房,门开着。这从来都不是一个好兆头。他们看到一名首席开发人员正在开发公司准备推向市场的新产品,这位首席开发人员将一把螺丝刀插入服务器,试图取出硬盘。该服务器用于跟踪他们正在做的所有工作和产品计划。硬盘出现故障,开发人员不知道下一步该做什么,所以他们没有编码,而是试图修复服务器。

这是经济学家喜欢称之为“机会成本”的一个例子在这种情况下,该团队致力于将一种新产品推向市场,即现有产品线的现代化,以在其有限的垂直市场中率先将基于平板电脑的调查问卷推向市场。这是那个项目的首席开发人员,实际上是建筑师,拿着一把螺丝刀在服务器上。

这个团队需要合适的开发工具,他们不需要用螺丝刀,这样他们就可以继续花时间为客户做工程工作。

如果您正在寻找一种工具来简化您团队的协作和工作流程,GitKraken 的 Git 客户端允许您的团队利用 Git 的真正功能,无论您的开发人员更喜欢 GUI 还是 CLI。

软件已经吃掉了世界

众所周知,风险投资家马克·安德森说过“软件正在吞噬世界”考虑到我们生活在这样一个时代,你从一个应用程序订购你真正的食物,然后通过用另一个应用程序拍照来记录它,我们可以有把握地说,软件实际上已经“吃掉了世界”。

在这个世界上,能够生存和发展的企业是那些能够快速适应市场变化的企业。如今,企业快速适应的方式是通过软件。这就是为什么最近有人引用安德森的话说:“周期时间,即从想法到生产或从概念到现金的时间,是决定技术领域赢家和输家的最被低估的力量。”科技领域的赢家和输家将决定每个行业的赢家和输家。每个公司都是软件公司。他们以更快的速度发布更好软件的能力将决定他们在各自市场的成败。

快速突破:稳定性 vs 速度

你可能会想“你不能跑得太快而弄坏东西。”某种程度上说,没错。你不仅要关心速度,关心你能以多快的速度将产品投放市场,以及你能以多快的速度使这些产品适应不断变化的市场条件,而且你还要考虑你的产品和你的平台的稳定性。只有当你能为客户提供稳定可靠的产品时,他们才会成为你的客户。一个他们可以依靠的人。安全可靠的人。

在技术世界中,你经常会看到这两种力量不同步。对交付安全和稳定的产品意味着什么的直觉或先入为主的想法使我们想到这样的事情:“哦,你知道保持系统稳定的方法是放慢速度”或“更多的变化只会破坏任何系统的稳定。”所以,为了稳定,你忍住了加快脚步的冲动。

那是完全错误的。这是生活中你可以鱼与熊掌兼得的情况之一。事实上,不仅在软件交付操作方面表现最好的人在速度和稳定性方面都很出色,实际上在速度和稳定性之间有一个积极的预测关系。

输入 DORA 指标

这就是我们在多拉的朋友们的用武之地。他们已经进行了七年多的研究,将复杂的统计分析应用于从数千个组织收集的数据,以从所述数据中得出有意义的结论并识别模式。他们这样做是为了创建模型,可以帮助任何规模的组织知道应该关注什么来提高他们自己的软件交付性能。他们已经就这个主题写了一本书。DORA 计划的创始人 Nicole Forsgren 博士、Jez Humble 和 Gene Kim 根据他们多年研究的综合发现写了一本书,名为“ Accelerate:精益软件和 DevOps 的科学:构建和扩展高性能技术组织”这本书强烈推荐给所有的软件工程师、工程经理、产品经理、首席技术官、首席信息官和首席执行官。实际上任何一个依赖软件创业的人。

这是一次对科学数据和他们应用于这些数据集的原则的奇妙检查,这些数据集为从多年研究中得出的结论提供了信息。

来自 DORA Research 的令人惊讶的重要发现

首先,也许是最令人惊讶的是,它彻底揭穿了必须在速度和稳定性之间进行权衡的想法。在研究中,他们发现被他们称为“精英执行者”的高绩效团队实际上在部署代码方面要快得多。他们比表现差的人部署得更频繁。

与此同时,对于那些精英员工来说,他们服务的“平均恢复时间”明显更短。这是指发生影响生产的事件时实施修复所需的时间。即使在控制其他变量,如公司规模、行业或其他信息时,也是如此。

不仅仅是数据显示一些高科技公司能够快速行动,拥有更稳定的系统;它实际上表明这种情况发生在各个行业。您可以看到零售、医疗保健、制造、政府和金融服务领域也存在同样的模式。

这些精英演员到底在哪些方面比表现不佳的同行做得更好?推动绩效的衡量标准是什么?工程师和领导者要想很好地提升业绩,应该重点关注哪些重要因素?幸运的是朵拉已经能够回答这些问题了。他们发现了四个关键的度量,这四个度量都与更高的性能相关联,并且与软件交付性能和整体组织性能有预测关系。专注于实现这些关键点的能力使组织能够衡量和改进这些 DORA 指标。

这些指标直接归因于组织在收入或其他组织目标方面的整体表现,以及工作满意度等人为因素。这些类别的改进可以由所有这些 DORA 指标来推动,因此这确实是一个突破性的发现,得到了直觉和数据的支持。

【DORA 的四个关键指标

4 个 DORA 指标是:

  • 变革的准备时间
  • 部署频率
  • 故障率
  • 恢复服务的平均时间

考虑软件开发过程的有效性和效率。上面列出的前两个指标实际上指的是速度,而后两个指标指的是稳定性。这些 DORA 度量得到了软件部署过程以及它们在为组织实现那些稳定性目标中的有效性。

Consider the effectiveness and efficiency of the software development process. The first two metrics listed above are really speaking to speed, while the last two speak to stability. These DORA metrics get at the software deployment processes and their effectiveness in achieving those stability goals for organizations.

变更的交付时间

考虑一下,变革的准备时间似乎是一个简单的指标。你可能知道在整个过程中做出改变需要多长时间。但是用科学的准确性来衡量它需要一个更具体的定义。

在制造业中,提前期指的是客户提出请求和该请求得到满足之间的时间。在软件开发中,要复杂一点,因为设计和产品工程需要时间来满足一些需求,如果不是全部的话。另一端也可以有多个定义。如果“生产中”意味着等待应用商店发布新版本,甚至是等待客户更新软件,那该怎么办?

为了关注软件交付性能,变更的交付周期具体指的是从代码被提交到生产环境中所花费的时间。或者更具体地说,代码已经发布并准备好投入生产,即使这意味着在这之后,在客户实际看到变更之前,还要花费额外的时间。这是软件和开发团队无法控制的时间。考虑一下:假设你有一行代码需要修改。那条生产线投入生产需要多长时间?那一行代码要经过的每一步是什么?从表面上看,这似乎是一个非常简单的问题,但是思考这个问题实际上可以导致关于将代码投入生产的整体瓶颈的极其富有成效的讨论。

To focus on software delivery performance, lead time for changes specifically refers to the time it takes from code being committed to being in a production-like environment. Or more specifically, that the code is released and ready for production, even if that means there’s additional time spent after that point, but before the customer actually sees the change. That is time that the software and DevOps teams don’t have control over.

Consider this: let’s say you have one line of code to change. How long does it take for that line to get into production? What is every step that line of code has to go through to get there? On the surface, that seems like a pretty simple question, but thinking through this can actually lead to extremely fruitful discussions about the overall bottlenecks of getting code to production.

部署频率

另一个 DORA 度量标准是部署频率,当提到更快地交付更好的软件时,它将团队区分开来。您多久将代码部署到生产环境中一次?起初,更频繁地部署代码,实际上更频繁地更改东西,实际上与系统稳定性正相关,这似乎有悖常理。直觉告诉我们,确保生产的变化缓慢且不频繁,最终会让系统变得更好,或者至少更稳定。

但实际上,那只是子虚乌有!多拉报告和之前提到的 DevOps 书中讨论了许多因素,并对此进行了详细说明。想象一下像肌肉一样部署到生产中。你锻炼肌肉越多,建立肌肉记忆越多,它就会变得越强越好。如果您发现您的团队害怕发布或部署日,或者您害怕在星期五部署,答案可能不是减少部署,而是增加部署!

表现最好的人每天都要进行多次部署。他们已经锻炼出了肌肉,所以周五的部署不会比其他任何一天差。他们建立的系统具有弹性和可靠性,因为它经过了多次部署和测试。

The other DORA metric that sets teams apart when it comes to delivering better software faster is deployment frequency. How often are you deploying code to production? At first, it may seem counterintuitive that deploying code more often, literally changing things more often, can actually have a positive correlation to system stability. Intuition says making sure changes to production are slow and infrequent will make the system better in the end, or at least more stable.

But in practice, that’s just not true! And there are a lot of factors discussed in the DORA reports and the previously mentioned DevOps book that go into detail about this. Think about deploying to production like a muscle. The more you work out that muscle and build muscle memory, the stronger and better it becomes. If you find that your team dreads releases or deploy days or you’re scared to deploy on Fridays, the answer might not be to deploy less, but to deploy more!

The top performers are deploying multiple times per day. They’ve built up that muscle so that deploying on Friday is no worse than any other day. The system they’ve built has resilience and reliability because it has had many at-bats with deployments and testing.

改变故障率

说到无忧无虑地部署,我们来谈谈在部署或更改某些东西时,您在生产中制造问题的频率。这就是所谓的变化失败率

你的团队今天有没有一个实证的方法来看待这个问题?您知道有多大比例的生产变更会给您的用户带来问题吗?今天,许多人不跟踪这种类型的具体数据,大多数人充其量只是根据轶事信息进行计算。

即使组织有意识地努力跟踪这些数据,变更失败率也几乎无法衡量。很难在整个开发生命周期中真正追溯变更,并确定是什么导致了变更。因此,许多变化都以类似“嘿,让我们在马已经出来之后关上这个谷仓的门”的情况结束。

但是与其他 DORA 指标一样,衡量和关注这一比率的改进显示了变更失败率与我们团队的整体软件交付和运营绩效之间的直接预测关系。

Even if organizations are making a conscious effort to track this data, the change failure rate can be next to impossible to measure. It’s very hard to really trace the change back through the entire development lifecycle and identify what caused it. Thus, many changes end up in a situation like “hey let’s close this barn door after the horse already got out.”

But as with the other DORA metrics, measuring and focusing improvements on this rate shows direct predictive relationships between change failure rate and the overall software delivery and operational performance of our teams.

平均恢复时间

平均恢复时间(T1)或 MTTR 衡量修复措施生效的速度。生产事故的数量永远不会是零,即使是世界上拥有最好的分布式系统工程师的最大的技术组织也是如此。也就是说,精英执行者和精英执行软件组织使用像站点可靠性工程 (SRE)和服务水平目标 (SLO)这样的方法工作,并且有错误预算来确保当事件确实发生时,它们影响用户的时间长度尽可能地被最小化。

The mean time to recovery, or MTTR, measures how fast fixes go into effect. The number of production incidents will never be zero, even for the largest technology organizations in the world that have the best distributed systems engineers. With that being said, elite performers and elite performing software organizations work with methods like Site Reliability Engineering (SRE) and Service Level Objectives (SLO), and have error budgets to ensure that when incidents do happen, the length of time they impact users is minimized as much as possible.

可视化 DORA 指标

这些 DORA 指标到底是什么样的?你如何将自己与业内同行进行比较?DORA 报告恰恰提供了这样的能力。

下表来自 2019 年 DevOps 状况报告。

What do these DORA metrics really look like? How can you measure yourself against peers in the industry? DORA reports provide the ability to do exactly that.

The table below is from the 2019 state of DevOps report.

有趣的是,一天部署多次与每六个月部署一次相比,差距仍然存在。这对一个组织适应市场条件的能力有着巨大的影响。想想这些天事情变化有多快。那些能够专注于他们现在在这张图表上的位置并建立改进措施的人将能够以他们甚至还没有想到的新的和创新的方式击败他们的竞争对手。但是还有一个问题。

问题是衡量所有这些东西可能会非常复杂。如果你度量它,你可以专注于改进它,但是今天的工具并不总是很容易对即使是最简单的事情有清晰的理解。例如:代码是何时提交的?什么时候投产的?在一个工具互不关联的世界里,为软件开发生命周期过程做独立的工作可能是一个黑箱。代码从一个方向进入,在一群团队和不同的工具之间跳跃,然后有希望在某个时候从另一个方向进入生产。

如果您有许多不同的非集成系统,那么要理解如何度量这些类型的 DORA 指标,即使不是不可能,也是非常困难的。或者将它们可视化,然后使它们对您的团队可行。

If you have many different unintegrated systems, it can be really hard, if not impossible, to understand how to measure these types of DORA metrics. Or visualize them and then make them actionable for your team.

让 DORA 指标具有可操作性

要使 DORA 度量具有可操作性,您必须能够理解流程中时间被浪费在哪里。通常作为工程师,你可以很容易地看到这一点,但只是轶事。你可能会说“哦,安全性通过一个构建需要很长时间”或者“测试需要太长时间,我们还没有足够的时间来自动化很多测试。”将这些轶事转化为任何级别的任何人都可以看到的数据,从仪器仪表和控制工程师一直到首席技术官,这对于建立组织范围内的认同以改善真正浪费时间的地方至关重要

正如 DORA 团队已经看到精英们在他们多年的研究中适应和改进,我们也看到了团队思考他们的 DevOps 工具链的方式的演变。DevOps 已经超过 10 岁,经历了许多不同的阶段。

Just as the DORA team has seen elite performers adapting and improving over their years and years of research, we have also seen an evolution in the way teams think about their DevOps toolchains. DevOps is over 10 years old and has gone through a number of different phases.

devo PS 的四个阶段

The Four Phases of DevOps

DevOps 的四个阶段是:

自带(BYO)

同类最佳(BIC)

  1. 自己动手(DIY)
  2. DevOps 平台
  3. 自带 DevOps
  4. 在自带(BYO)开发运维阶段,每个团队在一起创建单个产品或应用时选择自己的工具。当团队试图一起工作时,这种方法可能会导致问题,因为他们不熟悉其他团队的工具,或者甚至可能缺乏对相同工具和数据的访问。

考虑安全性测试全部由一个人完成的情况。在为期八周的开发周期结束时,只有一个审查者通常会导致数百个新的安全漏洞,必须仔细检查和修复。一直以来,在发布时间之前,工程师都无法访问这些数据。这导致到处都是挫折。

**Bring Your Own DevOps **

同类最佳开发工具

为了解决这些工具和数据脱节的问题,许多组织转向第二阶段:同类最佳开发运维。在这个阶段,组织为所有团队标准化相同的工具集,为 DevOps 生命周期的每个阶段提供一个首选工具。有时,这些工具允许某种程度的集成,但通常,它仍然是一组非常多样化的独立工具。

这些独立的同类最佳工具可能有助于团队成员相互协作,但问题是如何最好地集成和调整当前的工作流以利用这些工具。实现这些工具的任务经常落在单个团队身上,导致团队之间缺乏一致性。

Best in Class DevOps

自己动手 DevOps

自己动手(DIY) DevOps 构建于所有同类最佳工具之上。这个阶段的团队执行大量定制工作来将他们的 DevOps 点解决方案集成在一起。然而,由于这些工具是独立开发的,它们可能永远都不合适。不同的工具报告和与多个数据点交互的方式可能会有很大的不同,就像那些属于 DORA research 的工具一样。任何处理过大规模数据集成项目的人都会告诉你这是一场多么巨大的斗争。

这些 DIY DevOps 工具需要大量的升级和更改工作。对这些工具中的每一个进行修改都很容易破坏脆弱的集成点,甚至有可能使数据与当前数据集不兼容。与坚持使用同类最佳产品相比,所有这些努力实际上会导致更高的拥有成本。更糟糕的是,随着工程师花时间维护工具集成而不是致力于他们的核心产品,你又回到了螺丝刀和服务器。

**Do It Yourself DevOps **

GitKraken 的构建考虑到了团队协作和开发人员体验,优先考虑我们的 Git 客户端跨操作系统的相同体验,使您的团队可以轻松采用简化的流程。

These DIY DevOps tools require significant effort for upgrades and changes. Modification to each of these tools can easily break the brittle integration points or even threaten to make the data incompatible with current data sets. All of this effort actually results in a higher cost of ownership when compared to just sticking with Best In Class. Worse yet, with engineers spending time maintaining tooling integration rather than working on their core product, you’re back to screwdrivers and servers.

devo PS 平台方法

需要一种平台方法来改善团队体验和业务效率。许多大型组织将他们的 DIY 工具称为“平台”,但他们缺乏单个应用程序、单个数据平面和用于用户角色管理的单个位置的集成。

devo PS 平台是一个单一的应用程序,由一致的用户体验提供支持,独立于自我管理或 SaaS 部署。它建立在具有统一数据存储的单一代码基础上,允许组织解决 DIY 工具链中的所有这些低效和漏洞。

DevOps 平台方法允许组织替换他们的 DIY DevOps。这允许对开发运维生命周期的所有阶段进行全程可见性和控制。一个公司的生存取决于它发布软件的能力。为了更快地发布更好的软件,您必须能够控制、度量和理解您的团队是如何构建软件的。

让团队团结起来不能只是一句口号。这必须是我们组织运作模式的现实。没有这一点,你永远不会理解和实现 DevOps 的真正承诺。用更实际的术语来说,这意味着让团队使用相同的工具来优化团队生产力。这一举措缩短了部署频率、MTTR 的周期时间,并降低了变更失败率。

A platform approach is needed to improve both the team experience and business efficiency. Many large organizations refer to their DIY tools as “platforms,” but they lack the integration of a single application, a single data plane, and a single place for user role management.

A DevOps platform is a single application, powered by a cohesive user experience, agnostic of being self-managed or SaaS deployed. It’s built on a single code base with a unified data store which allows organizations to resolve all these inefficiencies and vulnerabilities in DIY toolchains.

A DevOps platform approach allows organizations to replace their DIY DevOps. This allows for visibility throughout and control over all stages of the DevOps lifecycle. A company’s very business survival depends on its ability to ship software. To ship better software faster, you have to be able to control, measure, and understand how your teams are building that software.

Bringing teams together can’t just be a catchphrase. It has to be the reality of the operating model of our organizations. Without that, you’ll never understand and realize the real promise of DevOps.

In much more practical terms, this means moving teams to using the same tools to optimize for team productivity. This move improves cycle time for deployment frequency, MTTR, and reduces the change failure rate.

Drupal 的故事| GitKon 2022 | Dries Buytaert,Acquia

原文:https://www.gitkraken.com/gitkon/drupal-story-dries-buytaert

https://www.youtube.com/embed/W-qd2yCuEF0?feature=oembed

视频

Drupal 最初是 Dries Buytaert 的一个爱好项目,他现在仍然是这个项目的负责人,并且在过去的五年里有了很大的发展。在 GitKon 2022 上,Dries 分享了他的个人故事,2001 年从他在比利时的宿舍爬上平台,为白宫和其他地方建立网站。

什么是 Drupal?

Drupal 是一个开源的 web 管理系统,使用户能够构建网站、web 应用程序等等;众所周知,Drupal 甚至为飞机上的娱乐系统供电。本质上,如果您有一个想要交付内容的屏幕,可以使用 Drupal 来实现。

Drupal 是市场上的主导者,拥有非常活跃的社区,有超过 10,000 个活跃的社区贡献者和超过 100,000 个组织为该项目做出贡献。

Drupal 的故事

Dries 于 2001 年在比利时安特卫普的大学宿舍里创建了 Drupal。这个项目的第一个意图是与朋友分享消息,他也想了解更多关于 PhP 和 mySQL 的知识,这些在当时都是新技术。

当 Dries 离开大学时,他决定将他在宿舍里为娱乐而开发的应用程序转移到公共互联网上,供任何人访问。有趣的事实:Drupal 和维基百科同一天生日。

迪安空间

Dries 继续在 Drupal 上工作,这是他的激情项目,社区继续快速发展。2003 年,Drupal 开发几年后,美国总统候选人迪安·霍华德以一种前所未有的方式在政治上利用了互联网。

Dries 继续在 Drupal 上工作,这是他的激情项目,社区继续快速发展。2003 年,Drupal 开发几年后,美国总统候选人迪安·霍华德以一种前所未有的方式在政治上利用了互联网。

Dean 为他的支持者建立了一个平台,叫做 Dean Space,他是在 Drupal 之上建立的。这让 Drupal 在媒体上声名狼藉,曝光率更高,帮助用户群迅速扩大。

Dean 为他的支持者建立了一个平台,叫做 Dean Space,他是在 Drupal 之上建立的。这让 Drupal 在媒体上声名狼藉,曝光率更高,帮助用户群迅速扩大。

第一届德鲁巴康

时间快进到 2005 年,当时我们在比利时安特卫普举办了第一次会议,只有 30 名开发人员参加,超出了 Dries 的预期。

时间快进到 2005 年,当时我们在比利时安特卫普举办了第一次会议,只有 30 名开发人员参加,超出了 Dries 的预期。

该活动持续了整整一周,取得了巨大的成功,以至于他们决定继续举办一年一度的 DrupalCon,这一活动一直持续到今天,Drupal con 布拉格 2022 将于 2022 年 9 月结束。

该活动持续了整整一周,取得了巨大的成功,以至于他们决定继续举办一年一度的 DrupalCon,这一活动一直持续到今天,Drupal con 布拉格 2022 将于 2022 年 9 月结束。

巨大的服务器崩溃

随着 Drupal 在 2005 年的持续增长,一个重大事件发生了。在此之前,Dries 一直在一个朋友的服务器上使用一个免费的共享 shell 帐户来运行 Drupal 网站。

到了 2005 年,Drupal.org 接待了如此多的访问者,服务器已经不堪重负。在年底的某个时候,服务器崩溃了,他们无法恢复运行。

作为解决方案,Dries 用一个空白页重新创建了 Drupal.org 的每一页,并添加了一个 PayPay 按钮。贝宝按钮下面有几个句子,上面写着:“服务器停机了。我们需要大约 4000 美元来购买新的服务器,然后我们会回来。请捐赠。”在 24 小时内,Drupal 社区就捐献了 10,000 美元。

大约在同一时间,Sun Microsystems 的一位首席技术官给 Dries 发了一封电子邮件,告诉他他的团队一直在使用 Drupal,并提议为 Dries 提供一台服务器。很快,一台价值 7000 美元的服务器出现在邮件中。

然后,俄勒冈州波特兰大学的开源实验室(OSL)向 Dries 提出了一个建议。他们提出为 Drupal 提供免费的主机和带宽、免费的电力以及免费的劳动力,形式是计算机科学学生帮助维护实验室,作为他们教育的一部分。

在 24 小时内,他们收到了 10K 的捐款,一台 7K 的服务器,以及免费的主机、带宽和维护。全部来自 Drupal 社区。

下面是 Drupal 团队制作的海报,包括所有帮助他们度过这段时间的社区支持者的名字。

下面是 Drupal 团队制作的海报,包括所有帮助他们度过这段时间的社区支持者的名字。

2006 年,Drupal 开始看到有更多认知度的公司采用这个平台,比如 MTV。当 MTV.com 搬到 Drupal 后崩溃时,Dries 自愿抽出时间帮助他们解决问题。Dries 致力于让 Drupal 用户成功,不管要花多少时间。

输入 Acquia

Dries 知道,如果 Drupal 是唯一一个提供用户支持的人,而且是在空闲时间无偿提供支持,那么 Drupal 是不可持续的。

Drupal 要想成功,需要一家公司来支持它;有点像 Red Hat for Linux:一家可以随着平台的扩展提供商业支持的公司。因此 Dries 在 2007 年创建了 Acquia。

多年来,Acquia 最终筹集了 1.8 亿美元,Dries 甚至在疫情之前就通过 Skype 召开投资会议。

Drupal 要想成功,需要一家公司来支持它;有点像 Red Hat for Linux:一家可以随着平台的扩展提供商业支持的公司。因此 Dries 在 2007 年创建了 Acquia。

多年来,Acquia 最终筹集了 1.8 亿美元,Dries 甚至在疫情之前就通过 Skype 召开投资会议。

白宫里的德鲁巴

在 2008 年和 2009 年的金融危机期间,奥巴马总统通过了一项 8000 亿美元的刺激法案。花掉的每一美元都在一个网站上被追踪:recovery.gov;对于每个项目,网站上都显示了经理、预算、利益相关者等信息。对政府非常透明的做法。

2009 年,德赖斯收到一封邀请他去白宫的电子邮件。在会议上,他期望他们谈论 recovery.gov 网站,但相反,他们开始谈论一个新网站的想法:whitehouse.gov,并询问 Dries 是否 Drupal 可以运行该网站。接受干燥。

这标志着 Whtie House 第一次使用开源。该网站取得了巨大的成功,在可伸缩性和安全性方面没有任何问题——这是 Drupal 的一个不可思议的证明。

2009 年,德赖斯收到一封邀请他去白宫的电子邮件。在会议上,他期望他们谈论 recovery.gov 网站,但相反,他们开始谈论一个新网站的想法:whitehouse.gov,并询问 Dries 是否 Drupal 可以运行该网站。接受干燥。

Drupal 继续增长

2010 年,Dries 从欧洲搬到了波士顿,到 2011 年,DrupalCon 在芝加哥 DrupalCon 迎来了 3000 多名开发人员。

Drupal 继续增长

2010 年,Dries 从欧洲搬到了波士顿,到 2011 年,DrupalCon 在芝加哥 DrupalCon 迎来了 3000 多名开发人员。

2016 年,许多组织采用了 Drupal,如 NBC Sports、雀巢、纳斯达克、强生、辉瑞等。如今,Dries 估计每八个企业级网站中就有一个运行在 Drupal 上。

来自 Drupal 故事的开源经验

Dries 分享了他在从宿舍到白宫扩展 Drupal 的旅程中学到的三个技巧:

“一夜之间”的成功至少需要 10 年

创业 80%是销售和营销

  1. 你的团队比你的想法更重要
  2. 创业 80%是销售和营销
  3. 有趣的事实:Drupal 已经从 CVS 迁移到 SVN 再到 Git,并且已经使用 Git 超过 10 年了。

如果您正在使用 Drupal 和 Git 进行开发,可以考虑将 GitKraken Client 添加到您的工具箱中,以便更好地了解您的项目历史和健壮的协作特性。另外,它在公共回购上是免费的!

有趣的事实:Drupal 已经从 CVS 迁移到 SVN 再到 Git,并且已经使用 Git 超过 10 年了。

如果您正在使用 Drupal 和 Git 进行开发,可以考虑将 GitKraken Client 添加到您的工具箱中,以便更好地了解您的项目历史和健壮的协作特性。另外,它在公共回购上是免费的!

转贴、即兴重复和摇滚明星编程语言——迪伦·贝蒂

原文:https://www.gitkraken.com/gitkon/dylan-beattie-rockstar-programming-language

https://www.youtube.com/embed/j5xQR02LWlU?feature=oembed

视频

有一个关于开发者实际做什么的长期有趣的讨论。编码是一门艺术吗?它是一门科学吗?是工科吗?仅仅是美化打字吗?

代码实际上可以是所有那些东西;这取决于代码。

写代码有很多理由。您可以编写一些函数来完成诸如计算税收之类的工作,并将它们推送到生产环境中。你可以写代码只是为了看看它能做什么,一旦它回答了一个问题就把它扔掉。

你也可以写代码,只是因为你希望它存在。你可以像对待诗歌、歌曲或笑话一样对待计算机程序。这里有一个例子——c#“午餐订单”:

public class LunchOrder {
    double CheeseBurger;
    char GrilledPeppers;
    short Cake;
    long IslandIcedTea;
{

或者

public class MuhammadAli {
    float LikeAButterfly;
    string LikeABee;
}

大多数开发人员都认为他们编写代码的方式中有一种工艺元素。变量名或缩进样式,几乎没有迹象表明是真人写的代码,因为这些东西对计算机没有任何影响。当你作为一个人阅读代码时,这些事情告诉你写代码的人关心你;他们很关注。我们还可以假设,如果有人注意到了小事情并且做对了,他们可能也注意到了大事情并且也做对了。这些是工匠。

在 2021 GitKon Git conference 的一次演讲中,摇滚之星编程语言的创造者 Dylan Beattie 分享了他对编码作为一种工艺、Git 以及更多的想法,所以让我们深入了解一下。

编码为手工制作

这里明显的比较是和制作实物的人。让我们以吉他制作工艺为例,它也被称为琴行。当你拿起一把吉他时,有无数的小细节可以告诉你那把吉他是由什么样的制琴师打造的。你可以走进一家商店,花 200-300 美元买一把相当不错的吉他。但如果你仔细观察,你会注意到一些小细节,比如螺丝可能没有与预期的孔对齐,或者组件之间的微小间隙应该完全齐平。但是另一方面,如果你出去花 10,000 美元买一把吉他,你会期待完美。你期待的是一个高质量的产品,由一个完全知道自己在做什么的工匠制作。有人有技能,花时间和资源去创造一些你知道他们不可能做得更好的东西。

软件制作不同于其他形式制作的核心归结为版本控制。现实世界的手工艺没有备份。在软件领域,创建一个几乎每个决策都是可逆的工作环境是非常容易的。
如果您意识到您花了一整天构建错误的东西,因为产品负责人忘记提到数据导出将是 XML 而不是 CSV,没什么大不了的;您可以回滚到以前的提交,删除文件并填充一些新文件。

但是想象一下,编写软件就像制造吉他。不能使用退格键,不能‘撤销’,没有版本控制,也没有备份。你做的每一件事,每一个决定,都是永恒的。如果你去编译你的解决方案,有一个 bug,你需要从内存重新写一遍。听起来一点都不好玩。

做个饭桶英雄!有了 GitKraken 的可视化提交图,您将成为开发团队的明星。

工艺流程谱

你可以把这一切想象成一个精心制作的工作流程。在这个范围的一端是一个完全数字化的、非破坏性的工作流程。如果你有足够的硬盘空间,你可以保留一个项目的每一个元素的每一个版本。每个决定都是可逆的。另一方面,你正在用有限的库存木材制作吉他。如果你犯了一个错误,你就毁了整个项目。

整个行业已经从光谱的一端移到了另一端。30 年前,拍电影有点像做吉他。电影是用胶片拍摄的。胶片是按英尺出售的,所以你的电影的每一分钟需要大约 90 英尺的胶片。在开始拍摄之前,你必须算出你需要多少英尺的镜头。经过几个星期的拍摄,你会有所有这些胶卷,没有备份。剪辑一部电影是一个破坏性的过程,你需要找到你想要的场景,用刀片将电影切片,然后用胶带将它粘贴到前一个镜头的末尾。这是一项极其精细和艰苦的工作。今天,仍有一些导演坚持在胶片上拍摄,但即使这样,在他们开始剪辑之前,电影通常仍然是数字化的。

但是绝大多数的电影和电视制作已经跨越了光谱,现在是用数字拍摄的。整个过程是非线性和非破坏性的。音乐也差不多。如今一千美元的 MacBook 比 20 世纪 70 年代的 Abbey Road studio 拥有更强的编辑能力。

光谱的数字端给你自由。它给你尝试事物的能力,用想法做实验。如果你不喜欢,你可以回滚。当你学习时,探索和实验的能力是奇妙的。

Git 之前的时间

在 Git 发明之前,当涉及到修订控制时,您有两种选择。你有并行版本系统,CVS,和像微软 Visual SourceSafe 这样的工具。这些方法不能真正处理 Git 合并冲突,所以它通过确保一次只有一个人可以编辑文件来避免冲突。要在其中一个系统中编辑文件,您必须将其签出,并且在您签出该文件时,其他人无法对其进行操作。有一些商业解决方案,如 BitKeeper 和 Perforce,最初试图解决这些问题。

你也有过颠覆。某一代开发者通过 Subversion 第一次接触到类似分支合并和标签这样的概念。它带来了一种全新的协作模式,但是有两个非常明显的缺点。首先,每隔一段时间,您就会遇到一种叫做“树冲突”的情况,即您的一个分支从主干分叉出去太远,以至于 Subversion 无法再将它们放回一起。对颠覆的另一个偶尔的挫折是一种奇怪的坚持,即历史必须按时间顺序发生。事实证明,重写历史实际上非常有用。

还停留在 SVN 的旧时代吗?查看这些从 SVN 迁移到 Git的分步说明。

用 Git 进行时间旅行

时间旅行或非线性工作的能力是 Git 的主要卖点之一。跨多个分支进行变更,然后以有意义的顺序应用这些变更的自由是非常令人信服的。软件开发是一个发现的过程;当你完成一件事情的时候,你通常已经学到了一大堆你希望在开始的时候就已经知道的东西。

在 Git 中,错误是不可避免的,但是通过 GitKraken 神奇的撤销/重做按钮,只需点击一下就可以撤销提交、签出等操作。

Git 和 Rockstar 编程语言

读到这里,您可能想知道 Rockstar 编程语言是否对 Git 做了什么特别有趣的事情。这是一种古怪、深奥的语言,你所有的程序都是重金属歌曲,让你编写 80 年代的代码,重金属、强力民谣、歌词。

虽然 Rockstar 编程语言本身有点奇怪,但代码库只是一个 JavaScript 项目,并配有 markdown 中的文档。然而,摇滚明星做了一些有点不寻常的事情。Rockstar 实际上是两个存储库;两者都托管在 GitHub 和开源上。其中一个仓库是核心的 Rockstar 编程语言仓库,包括语言规范、解释器和测试套件。

然后,还有 CodeWithRockstar.com 的网站。该站点是使用 Jekyll 和 GitHub Pages 构建的,目标是维护 Rockstar 编程语言的单一明确规范,使其出现在多个地方,而不是将 Rockstar 语言 repo 变成 GitHub Pages 站点。这意味着,通过利用 Git 子模块将一个库导入另一个库,语言规范和编译器最终会成为网站的子文件夹。Git 中的子模块对于特定的代码重用场景来说是一种非常强大的模式,比如网站可以直接从语言库中提取语言规范的片段和大块,以及 javascript 组件。

但是还有其他方法可以在多个地方实现代码重用。那就是使用树枝,长寿的树枝。你可能认为这是有争议的,有人认为特性分支应该只存在几个小时,有人认为你根本不应该有任何分支!

在 Git 中,有几个 Git 分支策略可供选择,所以要确保找到最适合你和你的团队的工作流。

长期 Git 分支的案例

有一个场景可以考虑以一种相当不寻常的方式使用 Git 分支:教授编码研讨会。在两天的动手编程中,学生们构建了像分布式系统或 JavaScript 组件这样的东西。在研讨会期间,你必须能够运行、解释和证明每一行示例代码。

理想情况下,车间代码必须运行在你从未见过的机器上。Workshop 代码具有挑战性,因为它没有发布版本,而是必须同时存在于多个状态中。在每个 workshop 存储库中,都有六个分支,它们代表了在为期两天的 workshop 中某个特定点的代码状态。

想象一个为期两天的研讨会。如果在研讨会期间你需要更新一个引用或者修复一个 bug,它不能仅仅在项目的最终版本中被修复。所有相关的地方都需要修复。这里的分支并不充当最终将被合并回“main”中的特征分支。每一个分支都是一个长期的窗口,随着代码在研讨会过程中的演进和发展,可以看到可能的未来的最新版本。Git 使得这在概念上成为可能。

用 Git 创作艺术作品

Git 不仅仅给你一种新的做事方式,它还给你一种新的思考方式。一旦你真正钻研并开始利用 Git 真正允许你做的事情,你会发现自己不知道没有它你是如何编写代码的。

一定要看看迪伦的最后一段对话,赶上他的新单曲 re:bass全球首演。

如何增强您的 DevOps 工作流程

原文:https://www.gitkraken.com/blog/enhancing-devops-workflow-2019

持续集成。我在听……连续发货。继续… DevOps。 YAAAS!

DevOps 方法已经成为头条新闻,大大小小的公司都在采用这种发展战略并分享他们的经验。据 TechBeacon 报道,亚马逊、塔吉特百货和网飞只是几个在 DevOps 大获全胜的公司。遵循这些过程已经导致组织比他们的竞争对手更快地改进和发布他们的产品,同时增加深入的交流和减少上下文切换。

在本文中,我们将向您展示如何使用三个工具来增强您的 DevOps 工作流,这三个工具共同为用户带来速度、自动化和效率。

我们将在本文中看到的三个非常有用的工具是: GitKraken Git 客户端Bitbucket 服务器Jenkins 。启动你的引擎!🏎💨

流量

1。从使用 Git 存储库的直观环境开始。

**1.  **Start with an intuitive environment for working with your Git repositories.

并开始免费试用应用程序内的专业版,或以 49 美元的价格升级到专业版。

注意:你将需要 Pro 来释放 GitKraken 的最新功能之一的力量:
Bitbucket 服务器集成

Note: You will need Pro to unleash the power of one of GitKraken’s newest features:
Bitbucket Server integration.

2。向 Bitbucket 服务器认证。

2.  Authenticate with Bitbucket Server.

3。 GitKraken 一直允许用户通过 HTTPS/SSH 对 Bitbucket Server 进行推/拉更改,但在 v4.2 版本中,我们为 Bitbucket Server 用户引入了新的有价值的功能,如克隆、远程操作和管理拉请求。

这让我想到了流程中的第三步:

克隆现有的 Bitbucket Server repo 或使用 Bitbucket Server 集成启动新的 repo。

Clone an existing Bitbucket Server repo or initiate a new one using the Bitbucket Server integration.

4。你有代码要写吧?!🤣使用 GitKraken 的应用内文件编辑器编写和编辑代码,就像您是工程冠军一样。我有没有提到应用内文件编辑器有语法高亮,文件小地图,和许多编程语言的自动完成功能?

4. You have code to write, right?! 🤣 Use GitKraken’s in-app file editor to write and edit code like the engineering-champ you are. Did I mention the in-app file editor has syntax highlighting, a file mini-map, and auto-complete for many programming languages?

5。代码看起来不错,已经提交。通过 GitKraken 中的 Bitbucket 服务器集成使用拉请求功能来启动您的 PR。

与流行的 Git 存储库托管站点(如 Bitbucket Server)的集成有助于将您通常会在其他地方执行的操作引入 GitKraken。难道您不喜欢在 Git 客户端之外采取行动的感觉,而不必离开 Git 客户端吗?谢谢整合!🙌

Integrations with popular Git repository hosting sites–like Bitbucket Server–help bring actions you would typically perform elsewhere into GitKraken. Don’t you love the feeling of taking action outside of your Git client, without having to leave your Git client? Thank you, integrations! 🙌

6。您的变更成功通过了代码审查!👏您的 PR 现已合并。

7。欢迎来到流程的最后阶段!使用从 Bitbucket 服务器到 Jenkins 的 webhook 在 Jenkins 中触发测试构建。在我们的例子中,每当一个 PR 被合并到 production 分支时,就会在 Jenkins 中触发一个测试构建。

7.  Welcome to the final phase of the flow! Trigger a test build in Jenkins using a webhook from Bitbucket Server to Jenkins. In our example, whenever a PR is merged to the production branch, a test build is triggered in Jenkins.

DevOps 现在是你的了

总而言之,使用这些工具和这个流程有几个好处:

在部署之前,知道代码是否被破坏

** 消除人为错误和“照看”构建过程的需要

  • 消除工具之间的上下文切换
  • 整合所有团队成员的代码变更
  • Integrate code changes from all team members

现在你知道了!在七个快速步骤中,凭借 f1 车手的轻松和技巧,我们已经完成了整个过程,并向您展示了如何将三个独立的工具结合使用。🏎💨我们希望你已经准备好在领奖台上开香槟庆祝了。

Psst: 🗣Dig 进入 DevOps,了解今天发布的 2020 DevOps 工具报告。

如果你已经有了带有 webhooks 和 Jenkins 的 Bitbucket Server,我敢打赌你可以在比阅读这篇文章更短的时间内完成上面提到的步骤。自己去发现吧!

If you already have Bitbucket Server with webhooks and Jenkins, I bet you can perform the steps mentioned above in less time than it took you to read this article…. Find out for yourself!*

如何使用模板增强拉取请求

原文:https://www.gitkraken.com/blog/enhancing-pull-request-descriptions-templates

Syncfusion 更喜欢使用 Git 工作流来管理我们跨各种平台的所有复杂产品。自从在我们的开发阶段采用 Gitflow 模型以来,我们的日常工作已经被简化了。我假设这篇文章的读者已经熟悉了 Gitflow 的基础知识,并且知道拉请求在每个开发阶段的重要性。

作为开发人员,我们的责任不仅仅是修复问题或实现新的特性,而是将开发工作清楚地传达给评审人员。开发人员可以通过详细的文档或其他交流方式传达建议的代码更改及其目的。

这里是拉或合并请求的不可避免的描述发挥作用的地方,代码贡献者分享他们代码的详细注释。

GitKraken 团队在开发其工具时仔细考虑了团队协作:GitKraken Git 客户端Glo 板。在 GitKraken 中有很多机会为您的文件更改和拉取请求添加重要的上下文,git kraken 支持提交到 GitHub、GitLab 或 VSTS(包括具有传统 VSTS URL 的 Azure DevOps)上的远程回购的拉取请求模板。稍后会有更多相关信息…

描述在拉取请求中扮演什么角色?

为了更好的代码审查过程,强烈建议提供对拉请求的描述。描述清楚地回答:

  • 评审者在评审提交的代码时可以期待什么?
  • 在提交他们的代码供评审之前,开发人员考虑了哪些标准?

稍后,评审者可以在他们自己和开发人员之间发起一个公开的讨论,以便在那些变更被推进到存储库之前跟踪每一个代码变更。

描述清单

为了使“拉”请求尽可能清晰,它应该包括一个关于建议的代码更改的相关信息的适当清单(而不是一行摘要),例如:

如何修复 bug 以及解决方案的描述。

  • 对新功能的描述或总结。
  • 涵盖的单元测试用例。
  • 这段代码是否破坏了现有的功能。
  • 任何测试细节。
  • 是否在所有设备和浏览器中进行了测试。
  • 是否在所有设备和浏览器中进行了测试。

如果每次您发出新的拉取请求时,这些清单都自动出现在描述字段中,这不是很好吗?好消息!Gitflow 模型通过模板选项提供了这种能力。

更好的是,GitKraken 让您在整个工作流程中轻松访问模板。在本文的后面,我们将回顾如何在 GitKraken 中使用 pull 请求模板。

更好的是,GitKraken 让您在整个工作流程中轻松访问模板。在本文的后面,我们将回顾如何在 GitKraken 中使用 pull 请求模板。

免费下载我们的 Git GUI 客户端,轻松访问拉请求模板。

免费下载我们的 Git GUI 客户端,轻松访问拉请求模板。

在下图中,您可以看到一个如何在拉取请求中查看这些描述的示例。

在下图中,您可以看到一个如何在拉取请求中查看这些描述的示例。

什么是拉取请求模板?

当您为项目存储库中已实现的功能或错误修复启动新的 pull 请求时,您可以允许 description 字段预先填充与您的团队相关的项目的清单,就像上一节中提供的清单一样。在拉请求表单中显示预先填充的描述字段的过程通常被称为拉请求或合并请求模板。

对于 description 字段中详细信息的自动预填充,您必须首先定义自己的一组模板,然后将它们添加到项目的根目录中。您还可以为 bug、特性、文档等分别创建多个模板..

描述模板通常被起草为 Markdown 文件,并且应该被添加到项目存储库的适当目录中。目录的命名,以及项目存储库中单个和多个模板的处理,根据您更喜欢使用的服务(GitHub 或 GitLab)而有所不同。出于本文的目的,我们将重点关注 GitHub。

:参考降价文档了解如何根据提供的语法指南编写降价文件中的内容。

例如,您可以使用下面屏幕截图中显示的任务列表语法,引用减价文件中定义的清单。

相同的任务列表将显示在提交的合并请求页面中,如下所示。

相同的任务列表将显示在提交的合并请求页面中,如下所示。

如何在 GitHub 中创建单个拉请求模板

如果您的项目存储库在 GitHub 上,模板的名称和它在存储库中的位置非常重要。默认情况下,创建为 Markdown 文件的模板应该命名为PULL_REQUEST_TEMPLATE.md,并放在项目的根文件夹或.github目录中。

创建一个 Markdown 文件,将其命名为PULL_REQUEST_TEMPLATE.md,并将其放在项目的根文件夹中。

或者,创建一个目录,命名为.github,并将 Markdown 文件放在这个文件夹中。

注意:确保将 Markdown 文件放在前面提到的位置之一,并用相同的名称保存并合并。

现在,当您创建一个新的 pull 请求时,您将看到模板内容自动加载到 description 字段中,如下图所示。

现在,当您创建一个新的 pull 请求时,您将看到模板内容自动加载到 description 字段中,如下图所示。

在 GitKraken 中使用拉请求模板

正如我们之前简单提到的, GitKraken 支持 pull 请求模板提交到 GitHub、GitLab 或 VSTS 上的远程回购(包括带有传统 VSTS URL 的 Azure DevOps)。

当您在 GitKraken 中创建新的拉式请求时,将出现拉式请求模板下拉菜单,允许您选择您在其中一个存储库中创建的拉式请求。这使您可以使用预先起草的模板上指定的所有信息,轻松快速地填写拉动式请求。

https://www.youtube.com/embed/YUiz3uZ_2Gc?feature=oembed

视频

https://www.youtube.com/embed/YUiz3uZ_2Gc?feature=oembed

视频

如何在 GitHub 中创建多个拉请求模板

对不同类别的拉请求使用相同的描述模板是不明智的。例如,您可能需要发起一个 pull 请求来提交一个新实现的特性的代码变更、一个简单的 bug 修复、文档或者任何类型的配置工作。对于每个拉请求链接来说,最好根据提交的拉请求类别,在描述字段中加载和预填充不同的模板内容。

要使用不同的模板,您必须首先创建多个模板文件,并将它们作为单独的降价文件保存在存储库中,如以下步骤所述:

创建一个名为PULL_REQUEST_TEMPLATE的文件夹,并将其放在根目录或名为.github的目录中。

  1. 创建多个模板降价文件,并将它们全部放在文件夹PULL_REQUEST_TEMPLATE中。
  2. 创建多个模板降价文件,并将它们全部放在文件夹PULL_REQUEST_TEMPLATE中。

注意:在这个过程中创建的 Markdown 文件可以随意命名,但是第一步中提到的文件夹必须有名称PULL_REQUEST_TEMPLATE

如果您在 GitHub 中有多个模板文件,您总是需要手动导航到您想要在 pull request 表单中预填充的特定 Markdown 文件的 URL。

例如,我正在创建一个 Markdown 文件,并将其命名为bug-template.md。我将它放在主存储库的PULL_REQUEST_TEMPLATE文件夹中。当我想将一些更改推入这个主存储库时,我将启动一个新的 pull 请求。为了用bug-template.md文件的内容预先填充我的拉取请求表单,我需要通过传递一个额外的模板参数导航到 URL:

https://github.com/Scheduler_Project/compare/master…Test_branch?expand=1&template=bug-template.md

这里,Scheduler-Project指的是我的主存储库的名称,我试图将来自Test_branch的代码变更合并到我的master分支中。在 URL 的末尾,有template=bug-template.mdbug-template.md文件的内容预填充到我的拉取请求表单中。

:也可以参考 GitHub 帮助文档,里面解释了如何在 URL 中使用模板查询参数。

现在,在进行这些 URL 更改之后,您可以看到描述内容被加载到 pull request 表单中,如下所示。

您可以使用相关详细信息编辑之前的描述,并单击Create pull request按钮,这将打开您提交的拉取请求页面,如下所示。

您可以使用相关详细信息编辑之前的描述,并单击Create pull request按钮,这将打开您提交的拉取请求页面,如下所示。

在 GitLab 中创建合并请求模板

与 GitHub 存储库不同,GitLab 允许您在合并请求表单的用户界面中选择多个模板。

你可以在 GitLab 支持文档中看到更多相关信息。

结论

GitHub 和 GitLab 提供了一种更好的方法来为 pull 请求创建预定义的模板。两者都提供了模板选项,允许开发人员在评审过程开始时共享他们提出的代码变更的准确细节。提供更清晰的代码描述使得代码审查过程更容易,这反过来有助于实现更好的代码质量,并限制未被注意到的错误的风险。

一旦您花时间在 repo 中创建拉式请求模板,您和您的团队就可以在使用 GitKraken 时持续使用它们——节省您的时间,减少上下文切换,鼓励一致性,并提高生产率。

GitHub 和 GitLab 提供了一种更好的方法来为 pull 请求创建预定义的模板。两者都提供了模板选项,允许开发人员在评审过程开始时共享他们提出的代码变更的准确细节。提供更清晰的代码描述使得代码审查过程更容易,这反过来有助于实现更好的代码质量,并限制未被注意到的错误的风险。

一旦您花时间在 repo 中创建拉式请求模板,您和您的团队就可以在使用 GitKraken 时持续使用它们——节省您的时间,减少上下文切换,鼓励一致性,并提高生产率。

从开发人员到技术主管| GitKon 2022 | Eric Amodio,GitKraken

原文:https://www.gitkraken.com/gitkon/eric-amodio-interview-kerry-oshea-gorgone

https://www.youtube.com/embed/RoA2vJ9iu80?feature=oembed

视频

在这个特别的 GitKon 2022 会议中,Appfire 的高级编辑 Kerry O'Shea Gorgone 与 GitLens 的创建者兼 GitKraken 的 CTO Eric Amodio 坐在一起,听他讲述自己从一名独立开发者到一名开发开源产品的企业家,再到现在 GitKraken 团队的一名高管的历程。

Eric 是一名企业家、创新者、架构师和全栈工程师,GitLens 的创建者和 GitKraken 的 CTO,之前在微软和 CodeStream 的 VS 代码团队中担任工程领导职务。

埃里克早年的编码岁月

在成长过程中,Eric 喜欢乐高,实际上他把对软件的热情归功于他小时候做的修补工作。

埃里克的父亲是一名从事个人电脑工作的程序员,埃里克喜欢看他工作,甚至在他五岁的时候也是如此。他的父亲主要在 PC 上开发基于文本的终端,但他的家人也有一台“新 MAC”,埃里克喜欢玩它的图标和视觉功能。

随着软件工具越来越先进,Eric 开始接触微软的 Visual Basic,这改变了他的游戏规则。他觉得他第一次可以在脑子里构建东西,并实际创造出来。从那时起,Eric 迷上了从硬件到软件的转变。

凭激情成就事业

在大学里,Eric 决定从构建 CPU 转向构建软件,他看到了早期的成功,创建了几个小应用程序,并迅速流行起来。当时,还没有一个真正公开共享代码的地方,但 Eric 能够培养他对创建软件工具的热情。

当 Eric 第一次开始编码时,工具处于最前沿,但后来逐渐消失了。然后 VS 代码出来了,Eric 彻底爱上了;这重新激发了他对开发工具的热情。Eric 特别喜欢 VS 代码的开源特性和在工具上“入侵”的能力。

然后 Eric 有机会以微软员工的身份加入 VS 代码团队,并在那里工作了几年。

输入 VS 代码的 git lens

用 Eric 的话来说,GitLens 一开始是双重的:1)他想玩新推出的 VS 代码扩展模型,2)他想探索 TypeScript,这在当时是一项新技术。GitLens 提供了两者兼顾的机会。

CodeLens 在 Git 中存在并提供了关于代码更改作者的信息,所以 Eric 认为他可以在 VS 代码中复制这一点,他是对的。他最终希望在不离开 VS 代码的情况下,让他和他的团队更好地理解 Git 内部的情况。

Eric 热衷于构建工具,热衷于让自己的生活变得更轻松的事情,他致力于让 GitLens 成为最好的工具,并继续在它的成功基础上发展。

Eric 说,当 GitLens 在多个微软主题演讲中被提及时,当他开始在 Twitter 上看到专用于该工具的 memes 时,他就知道 GitLens“成功了”,开发人员幽默地发布关于 Git 责备功能的帖子,提醒他们注意自己的错误。

【GitLens 如何取得成功

Eric 将 GitLens 的流行归功于几个因素。该工具在该领域处于早期阶段,但不仅如此,一旦用户安装了 GitLens,他们就会立即获得“被动价值”,这意味着他们不必做任何事情就可以获得有价值的信息,帮助他们理解他们正在查看的代码。从那里,用户可以轻松地使用越来越多的产品。

开发人员空间和 VS 代码中的一个趋势是让这些非常小的工具做一件事情,并且你必须将多个工具组合在一起以创建一个内聚的体验。Eric 想为 GitLens 走一条相反的路,这意味着通过引入付费的 GitLens+功能让这个工具更加健壮。但是 Eric 不想影响任何不需要使用这些协作工具的用户的性能,所以将这些功能设为可选。

【GitLens 的下一步是什么

Eric 有一个构建工具来更好地处理“Git 部分”的愿景;让 Git 变得更容易访问,并继续其“为 Git 增压”的使命。该工具还可以做更多的事情来增强使用 Git 的能力,同时还可以简化开发人员的工作流程。

不要错过新的 GitLens+特性,它们在 VS 代码中实现了更好的可视性和团队协作!

Try it for free today

如何在敏捷开发中使用快速反馈循环

原文:https://www.gitkraken.com/blog/feedback-loops-agile-development

文章更新于 2020 年 9 月

我最喜欢的格言之一是“快速移动,打破东西”。不幸的是,当谈到软件时,我们倾向于打破东西,而不是移动得很快。敏捷开发的目标是以更高的速度发布代码。关键是足够有效地管理过程,同时不破坏东西——或者至少减少东西。

在这篇文章中,我将提供一些关于如何实现 DevOps 和使用 Scrum 框架快速反馈循环来提高速度和质量的技巧。

AXO soft 的 Scrum 开发时间表

什么是反馈回路?

创建好的软件最关键的是沟通。反馈循环是用于验证和获得关于软件开发过程的反馈的机制。目标是获得能够立即反馈到流程中的正反馈和负反馈。尽可能快地这样做可以加速和改善整个开发过程。

反馈回路的类型

反馈循环不仅仅是验证你写的代码是否符合用户的需求。尽管这很重要。知道你的代码是否有效,是否充满了错误也是很重要的。反馈循环是日常最佳实践、自动化和工具的混合体。你最不希望的事情就是让你的用户对你所做的事情真正感到兴奋,然后当事情闹得满城风雨时,他们会发疯。

每日混战

能够快速说出你的进展并向你的整个团队提出简单的问题是持续分享反馈的一个很好的方式。简单地提及你正在做的事情可能会激发队友提及你可能想要避免的潜在问题。

召集您的团队进行一致的面对面会议,即使你们都远程工作,也可以提供有价值的集体项目可见性。每日例会(有时被称为每日站立会议)是一个向你的团队寻求反馈或帮助的好地方,这样你就可以让你的项目继续前进。

Daily Scrum

会见利益相关者并获得用户反馈

没有什么比用户反馈更重要的了。你最不想做的事情就是花很多时间走错方向。同样,让任何有权改变项目基本方面的利益相关者参与进来,对你也有好处。

避免执行瓶颈,同时通过 GitKraken Timelines 等工具为正在进行的项目提供透明度,使项目时间表和里程碑的规划和沟通变得轻松愉快。

与利益相关者和用户会面是至关重要的,而且不一定要花很多时间。尽量避免持续的有组织的会议,这可能是一个很大的时间吸。相反,利用 Slack 这样的交流工具来保持联系。鼓励用户提交特性请求和 bug 报告的社区 Slack 频道可以很好地收集用户反馈。

吉克拉肯湖社区的讨论

没有什么比用户反馈更重要的了。你最不想做的事情就是花很多时间走错方向。同样,让任何有权改变项目基本方面的利益相关者参与进来,对你也有好处。

避免执行瓶颈,同时通过 GitKraken Timelines 等工具为正在进行的项目提供透明度,使项目时间表和里程碑的规划和沟通变得轻松愉快。

考虑利用项目管理工具,比如与 Slack 集成的 GitKraken Boards,这样你的团队就可以跟踪日常对话中出现的任务。

代码分析和跟踪

你的代码刚才做了什么?表现如何?开发人员现在可以使用一些神奇的工具来帮助实时回答这些问题。当您在工作站上编写和测试代码时,您可以获得关于代码执行情况和正在做什么的即时反馈。这些应用性能管理 (APM)工具可以向您显示 SQL 查询、HTTP web 服务调用、错误、日志消息等等。查看免费 APM 工具,如 Stackify Prefix、DevTrace、MiniProfiler 等。它们因您的编程语言而异。

此外,像 Grafana 这样的监控工具能够本地支持来自多个来源的数十个数据库。生成热图、直方图、地理图、定制仪表板等。

拉式请求和代码审查

拉请求可以帮助确保你的代码在准备好之前不会被合并和部署。当很多人不停地签入代码时,很难知道您是否准备好进行部署。拉请求也提供了一个很好的机会来做一些快速的代码审查。在发布代码之前,来自团队的反馈对于发现潜在问题至关重要。

你的代码刚才做了什么?表现如何?开发人员现在可以使用一些神奇的工具来帮助实时回答这些问题。当您在工作站上编写和测试代码时,您可以获得关于代码执行情况和正在做什么的即时反馈。这些应用性能管理 (APM)工具可以向您显示 SQL 查询、HTTP web 服务调用、错误、日志消息等等。查看免费 APM 工具,如 Stackify Prefix、DevTrace、MiniProfiler 等。它们因您的编程语言而异。

在这个中级 Git 教程视频中,了解更多关于 Git 中的 pull 请求以及如何使用 PRs 提升您的工作流的信息。

学习 Git:什么是拉取请求?

拉式请求和代码审查

“拉”请求实质上是请求某人在您的更改最终完成之前对其进行审核。

拉请求在Git kraken Git GUI

在这个中级 Git 教程视频中,了解更多关于 Git 中的 pull 请求以及如何使用 PRs 提升您的工作流的信息。

作为 Git 客户端,GitKraken 更进一步,支持来自 GitHub、GitLab 和 Azure DevOps 存储库的 pull 请求模板。了解如何通过模板增强拉取请求。

立即开始使用 GitKraken Git 客户端处理拉请求。

拉请求在Git kraken Git GUI

持续集成和部署

您只能以部署代码的速度发布代码。自动化构建和部署的方式至关重要。它消除了人为错误,加快了流程。在您完成一个部署并需要快速修复一个 bug 之后,能够检查它并进行快速的新部署是非常重要的。利用持续集成来每天或持续运行单元测试也是一个非常有价值的反馈循环。

通常,持续集成(CI)包括每天多次将代码合并到共享的 repo 中,然后进行构建和自动化测试。devo PS 领域流行的 CI/CD 工具包括 Jenkins 和 Travis CI。

立即开始使用 GitKraken Git 客户端处理拉请求。

在生产前环境中验证性能

希望您的 QA 团队在测试您的应用程序方面做得很好。在 QA 过程中,这是寻找应用程序错误和审查整体性能的好时机。应用监控解决方案可以帮助您做到这一点。如果你的应用在预生产环境中没有任何流量,合成测试和负载测试会有所帮助。

在一个完美的世界里,你希望在软件进入生产之前找到它们。谢天谢地,市场上已经出现了测试工具,这使得 QA 团队的工作变得更加容易。

单元测试

测试框架应该用来为跨团队创建和设计用例提供高层次的指导方针。一些面向 DevOps 开发人员的测试工具包括 JUnit、Jest、Selenium 和 PhPUnit。

单元测试、集成测试、自动化 web 测试等等,提供了一个快速的反馈循环。我开发的一个应用程序有超过 100 个复杂的集成测试。每当我对代码进行任何修改时,我都会在我的工作站上重新运行所有的测试,以确保我没有破坏任何东西。这些测试对我来说是一个关键的快速反馈环。没有它们,我无法对应用程序进行更改!

希望您的 QA 团队在测试您的应用程序方面做得很好。在 QA 过程中,这是寻找应用程序错误和审查整体性能的好时机。应用监控解决方案可以帮助您做到这一点。如果你的应用在预生产环境中没有任何流量,合成测试和负载测试会有所帮助。

监控生产绩效

你刚刚把你的新版本推向生产。恭喜你。!现在怎么办?这是一个很好的时机来监控你的代码中出现的新错误。很可能你会有几个。无论你在产品化之前对你的软件做了多少测试,你总会在产品中发现一些奇怪的问题。客户数据、流量和主机的差异都很难事先测试。

应用程序监控对于尽快发现潜在问题至关重要。您应该监控整体性能,以确保您的应用程序不会运行得更慢,使用更多的 CPU,等等。这些都是潜在的问题,如果您使用应用程序监控最佳实践,您可以快速检测并修复这些问题。

Azure 是微软的一个工具,它让你的应用程序、基础设施和网络变得非常透明。为您的开发运维战略获取更多监控工具

微软 Azure Monitor

跟踪产品使用情况

你知道有多少客户在使用你的新功能吗?了解你的产品是如何被使用的是一个重要的反馈环。有几种方法可以做到这一点。

你可以使用简单的 Google Analytics,但是如果你的应用程序使用 REST 风格的 URL,它就不能很好的工作。如果你正在使用 APM 解决方案,如 Retrace、New Relic、App Insights 等。,它们可能能够提供一些关于代码的某些部分被访问的频率的见解。如果你想要更高级的功能,试试完整版。看起来很神奇。

摘要

每个开发团队和软件项目都是不同的。你的目标应该是找出在保持高质量的情况下你能走多快,然后就走那么快。如果走得太快降低了质量,那么你就有一个好主意,在哪里释放加速器。希望这些提示和快速反馈会有所帮助!

微软 Azure Monitor

跟踪产品使用情况

你知道有多少客户在使用你的新功能吗?了解你的产品是如何被使用的是一个重要的反馈环。有几种方法可以做到这一点。

你可以使用简单的 Google Analytics,但是如果你的应用程序使用 REST 风格的 URL,它就不能很好的工作。如果你正在使用 APM 解决方案,如 Retrace、New Relic、App Insights 等。,它们可能能够提供一些关于代码的某些部分被访问的频率的见解。如果你想要更高级的功能,试试完整版。看起来很神奇。

摘要

每个开发团队和软件项目都是不同的。你的目标应该是找出在保持高质量的情况下你能走多快,然后就走那么快。如果走得太快降低了质量,那么你就有一个好主意,在哪里释放加速器。希望这些提示和快速反馈会有所帮助!

Summary

Every development team and software project is different. Your goal should be to figure out how fast you can go while maintaining high quality, and then go that fast. If going any faster reduces quality, then you have a good idea of where to let off the accelerator. Hopefully, some of these tips and fast feedback loops will help!

流程工程| GitKon 2022 | Steve Pereria,可见价值流咨询

原文:https://www.gitkraken.com/gitkon/flow-engineering-steve-pereira-value-stream

https://www.youtube.com/embed/tw3whUFQuXc?feature=oembed

视频

当我们在软件开发中谈论流程工程时,它指的是集体流程。在整个组织中流动的想法意味着涉及所有的活动和所有需要发生的事情,从一个想法的开始,从客户的要求到生产,并看到客户使用你的努力成果。

除了组织流程,开发人员考虑个人流程也很重要。流畅的状态是挑战和技巧的完美结合;在那里你会觉得自己“进入状态”

集合流水工程

话虽如此,但重要的是要认识到,如果没有集体流动,就很难达到这种状态,如果你在孤岛中工作,这可能很难实现,这是团队在这种新的远程工作环境中越来越多地面临的问题。

因此,开发人员在不同时区、不同部门、不同部门,甚至可能是不同公司的团队之间进行更多的协作。这使得集体流工程在应对现代协作挑战中变得更加重要。

提升速度、质量、&开发人员的幸福感

如今,大型组织都有着雄心勃勃的目标:转变业务、进军新市场、为客户推出新产品和新体验。虽然这些都是有价值的努力,但它们经常导致需要完成的任务大量积压。

那么,我们如何才能让这些计划真正开花结果,实现这些成果呢?我们如何才能足够快地取得更好的结果?

重要的是要以正确的方式来避免开发人员精疲力竭,并实现高绩效的可持续结果。你不想以牺牲质量为代价去追求速度。协作流程通常会因需要完成的工作缺乏明确性而受阻。

开发人员和团队也不清楚他们如何达到下一个水平来提高性能和成果。这在协作环境中很难做到,因为多个人意味着多种观点和经历。这会导致每个人都朝着不同的方向前进。为了实现集体流动,每个人都需要朝着同一个方向划船。

那么,你如何让每个人都清楚团队的前进方向,以及你将如何到达那里?第一步是将所有利益相关者聚集在一起,达成共识。一个好的策略是从一个目标结果开始,然后从那里制定你的小目标和任务。

价值流图

价值流图技术的价值完全在于集体流。这个策略指的是从开始到结束,围绕你的产品或服务如何为顾客提供价值,展开所有的活动;你的工作流程是什么样的;您目前的运营顺序是什么?

价值流图的一个极其重要的方面是测量。如果地图不代表现实或呈现任何有意义或可操作的东西,没有测量的地图可能是无用的。另一方面,价值流图背后有数据和度量。

要获得这些数据,您需要询问您的团队完成任务需要多长时间,从请求被记录到系统中到被实现需要多长时间。

另一个有价值的数据点是延迟时间。人们会因为无效的任务管理而在活动之间等待多久?还是因为步骤不清晰?您可能会发现您的团队没有使用正确的工具来实现正确的移交。

价值流图在一个地方给你所有你应该注意的东西。

如果您希望提高团队的速度、质量和开发人员的幸福感,那么看看 GitKraken 套件 Git tools 就知道了,该套件是为协作和开发体验而设计的。

桌面版 GitKraken Client 使 Git 更加直观和易于访问,并为开发人员提供了使用 GUI 或终端完成操作的选项。

GitLens for VS Code 通过可视化 VS 代码中的代码作者和责备来解锁知识。

吉拉 Git 集成将 Git 数据引入吉拉,以提高团队中每个人的透明度和责任感。

使用 GitLens 获取 VS 代码|责备、代码透镜等 Git 信息

原文:https://www.gitkraken.com/blog/get-git-info-gitlens

这篇文章是由 通过 同步带给你的。

GitLens 是一个为 Visual Studio 代码构建的流行扩展,帮助开发人员提取隐藏在 Git 代码库中的强大洞察力。这个 VS 代码扩展通过提供快速浏览、比较和跟踪每一行代码的工具,使开发变得毫不费力。它还有助于解决大规模项目中本机 Git 特性的缺点和侵扰性。

本文将概述单独使用 Git 时很难发现的洞察,以及 GitLens 如何在您的 IDE 中神奇地发现它们。

GitLens+解锁了强大的团队功能,如可视化文件历史,它向您显示何时、由谁以及它们的重要性进行了更改。

Sign up for GitLens+ for free!

在本文中,我们将回顾 GitLens 和 GitLens+中提供的一些特性,这些特性帮助用户在工作流程中的多个点快速获取 Git 信息。

Git 的“黑暗”面

尽管 Git 有许多开发人员友好的原生特性,比如查看当前的变更日志和遍历提交,但是毫不费力的变更跟踪并不在其中。因为使用 Git 和 GitLens 这样的工具缺乏做出明智决策所需的环境,开发人员经常被迫切换到 Git GUI 或其他工具,而不是直接在他们已经工作的 IDE 中比较和跟踪变化。

虽然这可能不是一个噩梦,但是缺乏对项目的适当的可见性会给开发人员带来一些不适。事实上,让我们看看在没有 GitLens 的情况下使用 Git 和 VS 代码时缺少的一些重要部分。

Git 中的修订导航

Git 没有提供一种简单的方法来浏览 ide 中的多个版本。开发人员必须切换到在托管服务或 web 浏览器上查看他们的 Git 存储库,并手动浏览各种提交,以便跟踪更改。

这种转换中断了开发工作流,因为它要求开发人员切换应用程序。此外,即使查看了特定文件上的提交,开发人员也必须检查每个提交,以检查提交影响的行。

Git 没有提供一种简单的方法来浏览 ide 中的多个版本。开发人员必须切换到在托管服务或 web 浏览器上查看他们的 Git 存储库,并手动浏览各种提交,以便跟踪更改。

这种转换中断了开发工作流,因为它要求开发人员切换应用程序。此外,即使查看了特定文件上的提交,开发人员也必须检查每个提交,以检查提交影响的行。

Git 中的逐行差异跟踪

当使用 Git 和没有 GitLens 的 IDE 时,开发人员不得不走很长的路来跟踪多个文件修订中的变化。通过多次修订检查一行代码的更改的唯一方法是检查每次提交并手动比较差异。

如果没有像 GitLens 这样的工具,这个过程会非常耗时,在开发人员可以解决关键问题的时候会分散他们的注意力。

跟踪最近的 Git 文件更改

当生产环境中出现关键问题时,快速找到问题的根源至关重要。如果您认为它是由于最近的更改而发生的,那么识别更改和作者是第一步。

尽管 Git 提供了作者及其更改的视图,但它不允许开发人员快速浏览多个开发人员所做的数千个更改。这很困难,并且需要花费大量的精力,尤其是当所讨论的更改来自多次提交时。

跟踪最近的 Git 文件更改

GitLens 改进了 VS 代码和 Git 的使用

GitLens 将 Git 存储库增加的洞察力直接引入到最流行的 IDE VS 代码中。这非常有益的原因有很多,包括通过防止需要在不同任务的多个应用程序之间切换来保持平稳完整的工作流。

下面的 GitLens 特性通过让使用 Git 和 VS 代码的开发工作流更加高效,提高了开发人员的工作效率。

GitLens 责备

GitLens 责备在每一行的末尾插入一个清晰的注释,显示最后一次提交及其作者:

下面的 GitLens 特性通过让使用 Git 和 VS 代码的开发工作流更加高效,提高了开发人员的工作效率。

通过将鼠标悬停在注释上,您可以很容易地看到关于更改的更多细节。

GitLens 责备

GitLens 责备在每一行的末尾插入一个清晰的注释,显示最后一次提交及其作者:

作为一个特性,GitLens 责备为开发人员提供了更多的可见性,并允许他们直接从他们的 IDE 中查看信息。他们只需将光标移动到某一行,而无需输入任何 Git 命令。

git 无代码

Git CodeLens 在识别文件或代码块的最新变更时非常有用。这对于确定哪个修改破坏了应用程序至关重要。CodeLens 在文件或特定代码块的顶部显示最近的更改和作者。

在 GitLens 中,CodeLens 还允许开发人员查看关于提交的更多信息,并让他们通过点击文件或代码块顶部的作者姓名来跟踪每一行。

CodeLens 在代码的当前版本旁边显示每个 Git commit ,这使得跟踪更改变得容易。

git 无代码

Git CodeLens 在识别文件或代码块的最新变更时非常有用。这对于确定哪个修改破坏了应用程序至关重要。CodeLens 在文件或特定代码块的顶部显示最近的更改和作者。

使用 GitLens 中的 CodeLens 跟踪每次提交的更改再简单不过了。将鼠标悬停在提交上,更改会神奇地出现在代码中!

在 GitLens 中,CodeLens 还允许开发人员查看关于提交的更多信息,并让他们通过点击文件或代码块顶部的作者姓名来跟踪每一行。

当您单击单个提交时,CodeLens 更进一步。它显示了一次提交中所做的所有更改,并为它们着色以便于查看。

Git 装订线更改

Git gutter changes 特性添加了一个颜色编码的热图,用于标识特定文件的最新更改。此外,它提供了对文件所做更改的视图,允许开发人员缩小最近编辑的代码行。

使用 GitLens 中的 CodeLens 跟踪每次提交的更改再简单不过了。将鼠标悬停在提交上,更改会神奇地出现在代码中!

GitLens 的这个特性还允许开发人员根据自己的喜好定制注释。

Git Gutter 热图

Git gutter 热图类似于 Git gutter changes 特性,但是它跟踪最近的更改,并在一行代码变冷时分配不同的颜色。默认情况下,90 天后的线路被认为是冷的,但是这可以在设置中自定义。

更好的版本导航

GitLens 提供了强大的能力,通过并排比较修订版和文件的当前版本,可以在一个 Git 存储库中的所有可用修订版之间跳转。

单独使用您的 IDE,这将需要相当大的努力。然而,使用 GitLens,只需几秒钟。

GitLens+功能

虽然 GitLens 提供的大多数功能都是完全免费的,不需要帐户,但也有一个免费的基于帐户的版本,名为 GitLens+ ,它包括工作树和可视文件历史等附加功能,以进一步提高生产力和改善团队协作。GitLens+对于公共存储库是完全免费的。用户还可以升级到 GitLens+ Pro ,以很低的价格访问工作树和私人回购上的可视文件历史等功能。

GitLens 的这个特性还允许开发人员根据自己的喜好定制注释。

GitLens+具有强大的功能,如可视化文件历史,让您快速浏览项目变更的极有价值的信息。

可视文件历史

GitLens+中的可视化文件历史视图允许开发人员可视化项目中单个文件的演变,包括每个作者的更改和贡献。

可视化表示使开发人员可以很容易地通过彩色编码的插图快速识别所有更改。变化的幅度由图中圆圈的大小表示。

更好的版本导航

GitLens 提供了强大的能力,通过并排比较修订版和文件的当前版本,可以在一个 Git 存储库中的所有可用修订版之间跳转。

VS 代码+ Git 用 GitLens 更好

我们已经讨论了在 IDE 中使用 Git 与在同一个工作流中使用 vs 代码、Git 和 GitLens 在开发人员体验上的区别。本文中重点介绍的 GitLens 特性将通过将繁琐的步骤简化为几个毫不费力的鼠标点击来提高开发人员的工作效率,所有这些都不需要离开您的 IDE。

这篇博客是由 Syncfusion 的一位作者写的。 Syncfusion 拥有超过 1700 个组件和框架,用于 WinFormsWPFWinUI。NET MAUI(预览版)、ASP.NET(Web FormsMVCCore )、 UWPXamarinFlutterJavaScriptAngularBlazorVue考虑使用它们来加速您的应用程序开发。

虽然 GitLens 提供的大多数功能都是完全免费的,不需要帐户,但也有一个免费的基于帐户的版本,名为 GitLens+ ,它包括工作树和可视文件历史等附加功能,以进一步提高生产力和改善团队协作。GitLens+对于公共存储库是完全免费的。用户还可以升级到 GitLens+ Pro ,以很低的价格访问工作树和私人回购上的可视文件历史等功能。

如果您正在使用 VS Code + Git,您可以通过有用的见解增强您的工作流程并做出更好的决策——Git lens+完全免费。

GitLens+具有强大的功能,如可视化文件历史,让您快速浏览项目变更的极有价值的信息。

Sign up for GitLens+ for free!

可视文件历史

GitLens+中的可视化文件历史视图允许开发人员可视化项目中单个文件的演变,包括每个作者的更改和贡献。

可视化表示使开发人员可以很容易地通过彩色编码的插图快速识别所有更改。变化的幅度由图中圆圈的大小表示。

The visual representation makes it easy for developers to identify all changes quickly with color-coded illustrations. The magnitude of the change is represented by the size of the circle in the graph.

VS 代码+ Git 用 GitLens 更好

我们已经讨论了在 IDE 中使用 Git 与在同一个工作流中使用 vs 代码、Git 和 GitLens 在开发人员体验上的区别。本文中重点介绍的 GitLens 特性将通过将繁琐的步骤简化为几个毫不费力的鼠标点击来提高开发人员的工作效率,所有这些都不需要离开您的 IDE。

这篇博客是由 Syncfusion 的一位作者写的。 Syncfusion 拥有超过 1700 个组件和框架,用于 WinFormsWPFWinUI。NET MAUI(预览版)、ASP.NET(Web FormsMVCCore )、 UWPXamarinFlutterJavaScriptAngularBlazorVue考虑使用它们来加速您的应用程序开发。

This blog was written by an author from Syncfusion. Syncfusion has over 1,700 components and frameworks for WinFormsWPFWinUI.NET MAUI (Preview), ASP.NET (Web FormsMVCCore), UWPXamarinFlutterJavaScriptAngularBlazorVue, and React. Considering using them to speed up your application development.

如果您正在使用 VS Code + Git,您可以通过有用的见解增强您的工作流程并做出更好的决策——Git lens+完全免费。

If you’re using VS Code + Git, you can enhance your workflow and make better decisions with helpful insights – completely free with GitLens+.

Sign up for GitLens+ for free!

了解如何使用 Git 添加命令|全部、交互式、撤消

原文:https://www.gitkraken.com/learn/git/git-add

Git 允许您随着时间的推移拍摄存储库的快照。这些快照中的每一个都被称为 Git 提交。但是 Git 怎么知道我们要提交什么信息呢?

这就是 Git add 的用武之地。Git add 是一个命令,它允许您转移单个文件,或者一次转移项目目录中的所有文件,为转移它们做准备。Git add 是 Git 中最重要和最基本的命令之一,有很多方法可以使用它。本文将介绍 Git add 如何工作,以及使用该命令的一些可选方法。

“@GitKraken 无疑是我今年发现的最好的工具之一,它显著提高了我作为软件开发人员和作者的效率。”–@ hflickster

添加 Git 索引

Git add 是一种用于暂存即将提交的文件的机制。您可能会问:“Git 将文件添加到什么地方?”这是一个好问题。在每个 Git repo 内部,都有一个名为.git的文件。这个文件是在用 Git init 创建项目时创建的。Git 使用这个文件来跟踪存储库中的所有更改和工作。其中一个文件。git 文件夹包含的内容称为“索引”

Git add 是一种用于暂存即将提交的文件的机制。您可能会问:“Git 将文件添加到什么地方?”这是一个好问题。在每个 Git repo 内部,都有一个名为.git的文件。这个文件是在用 Git init 创建项目时创建的。Git 使用这个文件来跟踪存储库中的所有更改和工作。其中一个文件。git 文件夹包含的内容称为“索引”

当运行 Git add 时,Git 将工作目录中修改和保存的文件压缩成二进制大对象,也称为 blobs,并将它们添加到索引文件中。这里的索引文件充当单个 blobs 的临时区域。您可以随意修改索引,直到您准备好通过执行 Git commit 来永久记录项目的状态。

当运行 Git add 时,Git 将工作目录中修改和保存的文件压缩成二进制大对象,也称为 blobs,并将它们添加到索引文件中。这里的索引文件充当单个 blobs 的临时区域。您可以随意修改索引,直到您准备好通过执行 Git commit 来永久记录项目的状态。

您实际上可以打开索引,但您将无法读取存储在那里的绝大多数内容,因为它是以压缩形式存在的,只有文件名仍然清晰可辨。

去添加全部

当向索引中添加文件以准备提交这些更改时,您可以选择一次存放一个文件,或者您可以告诉 Git 存放工作目录中已经修改并保存的所有文件。实际上有几种不同的方法可以一次添加所有文件。

提交所有文件,可以使用选项--all,或者简称为-A。该命令将被结构化:

git add -A

或者,您可以使用特殊字符.(称为“点”)来指定当前目录以及所有子目录要使用此方法暂存所有文件,请使用以下命令:

git add .

注意:虽然一次将所有文件添加到索引中很方便,但是要小心不要过度使用这两种方法。如果不小心,您可能会意外添加、提交和 Git push 未准备好或从未打算提交给回购的东西。

或者,您可以使用特殊字符.(称为“点”)来指定当前目录以及所有子目录要使用此方法暂存所有文件,请使用以下命令:

git add .

Git 添加互动

命令行上学习 Git 可能很困难,所以 Git 的创建者增加了一个交互模式,你可以用-i--interactive调用它。

通过在交互模式下运行 Git add,Git 将向您显示一个可能选项的菜单,并让您对每个文件做出决定。这是一种非常安全的工作方式,它可以让你在任何给定的时间内对指数的进出进行精细的控制。要调用交互模式,请使用以下命令:

git add -i

Git 添加交互模式的选项包括:

状态–显示有变化的路径

更新–将工作树状态添加到阶段化的变更集中

恢复–将暂存的变更集恢复为原始版本

添加未跟踪文件–将未跟踪文件的内容添加到暂存的变更集中

  1. 补丁——挑选大块并有选择地更新

  2. 差异–查看标题和索引之间的差异

  3. 退出–退出 Git 添加交互模式

  4. 帮助–将帮助菜单打印到屏幕上

  5. 放弃去添加

  6. 您可以完全控制索引文件中存放的内容。这意味着您也可以在将内容添加到暂存索引后删除它们,从而有效地撤销 Git 添加。从索引中删除文件有几种方法:一次删除一个文件,或者一次删除索引中的所有文件。

    要从索引中删除单个暂存文件,使用命令:

    git rm --cached <filename>

  7. 替换为要从暂存中删除的文件的名称。

    要同时删除索引中暂存的所有文件,使用

    git reset HEAD -- <directory-name>命令

  8. 替换为您的存储库的目录名。

如果您想要从您正在工作的目录中移除暂存的所有文件,您可以使用快捷键.来引用当前目录。

git reset HEAD – .

您可以完全控制索引文件中存放的内容。这意味着您也可以在将内容添加到暂存索引后删除它们,从而有效地撤销 Git 添加。从索引中删除文件有几种方法:一次删除一个文件,或者一次删除索引中的所有文件。

要从索引中删除单个暂存文件,使用命令:

git rm --cached <filename>

GitKraken Client 可以让你很容易地看到你的存储库中发生了什么,并随时掌握最新的变化,无论你在索引中添加了多少文件!

替换为您的存储库的目录名。

如何在命令行中添加 Git

在命令行中,您可以 Git 添加您修改和保存的文件,一次一个或者一次全部添加。

要对单个文件执行 Git 添加,使用命令:

git add <filename>

用您想要添加的文件名替换

在命令行中,您可以 Git 添加您修改和保存的文件,一次一个或者一次全部添加。

当您在 CLI 中工作时,运行 Git status 来确保操作按预期执行总是一个好主意。

Psst:当你在 GitKraken 客户端中使用终端时,你不需要运行额外的命令来确保动作按预期执行。GitKraken 图形将同时自动更新,如上所示,因此您可以验证执行了哪些操作以及项目历史是如何更新的。

您也可以一次添加多个文件,只需在 Git add 后输入每个文件名。

git add <filename1> <filename2> <filenameN>

用您要添加的文件名替换上面编号为<的文件名>条目。

当您在 CLI 中工作时,运行 Git status 来确保操作按预期执行总是一个好主意。

您也可以使用A选项将所有修改过的文件一次性添加到工作目录中:

git add -A

如何使用 GitKraken 客户端进行 Git 添加

使用 GitKraken 客户端,将文件添加到索引非常容易。GitKraken 客户端会一直显示你修改文件的状态,不需要运行任何命令或者点击任何选项。该状态在位于应用程序中央 UI 右侧的提交面板中可用。

您也可以使用A选项将所有修改过的文件一次性添加到工作目录中:

要将单个文件添加到临时区域(也称为索引),请使用将鼠标悬停在提交面板中的文件名上时会出现的Stage File按钮。

您甚至可以通过将鼠标悬停在提交面板的Stages Files部分中的文件名上来取消转移文件。

如何使用 GitKraken 客户端进行 Git 添加

使用 GitKraken 客户端,将文件添加到索引非常容易。GitKraken 客户端会一直显示你修改文件的状态,不需要运行任何命令或者点击任何选项。该状态在位于应用程序中央 UI 右侧的提交面板中可用。

GitKraken 客户端还允许您使用提交面板中的Stage all changes按钮一次添加所有修改的文件。

要将单个文件添加到临时区域(也称为索引),请使用将鼠标悬停在提交面板中的文件名上时会出现的Stage File按钮。

将 GitKraken 客户端添加到您的工作流程中

GitKraken Client 使得在任何给定的时间查看项目的状态变得非常容易,节省了您试图记住您需要运行什么命令来查看您修改的文件的时间和精力。

GitKraken Client 可以通过更好地可视化提交历史来帮助您控制存储库,无论您处于提交周期的哪个阶段。今天就下载并开始免费使用 GitKraken 客户端,以确保您充分利用 Git。

GitKraken 客户端还允许您通过提交面板中的Stage all changes按钮一次性添加所有修改的文件。

将 GitKraken 客户端添加到您的工作流程中

GitKraken Client 使得在任何给定的时间查看项目的状态变得非常容易,节省了您试图记住您需要运行什么命令来查看您修改的文件的时间和精力。

GitKraken 客户端可以通过更好地可视化提交历史来帮助您控制您的存储库,无论您处于提交周期的哪个阶段。下载并开始免费使用 GitKraken 客户端,确保您充分利用 Git。

你为什么对这件事这么迟钝?| Git 最佳实践

原文:https://www.gitkraken.com/gitkon/git-best-practices

你为什么对这件事这么迟钝?

https://www.youtube.com/embed/AN-iaHcXgYI?feature=oembed

视频

Git 是当今世界上最流行的源代码控制管理系统。Git 可以确保您的代码得到备份和版本控制,还可以让其他开发人员访问您的工作。如果使用得当,Git 不仅仅是一种存储或组织代码的方式。Git 可以帮助简化复杂的过程,比如发布管理、特性开发,以及与多人同时工作。

在 2021 GitKon Git Conference 的会议中,Joe Glombek 分享了他最喜欢的 Git 最佳实践。剧透:对如何使用 Git 非常挑剔是可以的!这其实是一件好事。

无论您喜欢在 GUI 或 CLI 中工作,GitKraken Client 都可以在您已经工作的地方会见开发人员,并帮助您轻松开发有效的工作流程最佳实践。

不幸的是,Git 利用率低是一个比您想象的更普遍的问题。无数人将 Git 用作代码的垃圾场,而不是管理良好的软件档案库。

这里有五个简单的提示,可以确保您通过这些 Git 工作流最佳实践充分利用 Git:

提示 1:提交消息就是一切

在下面展示的精彩 XKCD 网络漫画中,作者说“随着项目的拖延,提交信息变得越来越少。”

我们看到评论从描述性的“创建主循环和定时控制”下降到我的“手在打字”和“哈哈哈”的绝对混乱状态。乔想说这只是连环漫画中的一个笑话,但它可能太真实了。

在另一个例子中,他分享了一个 Twitter 用户的实际提交历史记录。

Dennis 在 Git 历史中浏览“有用的”提交消息来调查一个问题。很明显,这些提交消息没有提供足够的信息来知道在引入 bug 后从哪里开始查找。

想象一个场景,你在代码库中看到一些奇怪的东西,但是没有代码内注释。使用 Git 责备,您可以看到是谁修改了它,但是您会看到一条提交消息,上面只写着“test”不幸的是,做出改变的开发人员外出度假了,所以你不能立即找到他们改变背后的原因。现在,如果你改变了它,或者在别的地方破坏了某些东西,你就有重新引入一个 bug 的风险。相反,假设你看到了一段代码,自从你最后一次工作以来,它发生了变化,你对它现在的编写方式不满意。再一次,你利用 Git 责备,你看到一个提交消息,说“修复 chrome 中的日期格式问题。”在这种情况下,您最好保持原样。一个好的提交消息实际上救了你!

如果您想要编写一个好的提交消息并遵循 Git commit 最佳实践,提交消息应该像回答问题“这个提交做什么?”还可以考虑用动词开始提交消息。例如“修复恢复”或“集成服务”虽然这是一个很好的背景,但它本身是不够的,因为这些短消息仍然没有完全告诉我们在这些提交中发生了什么。

细节,细节,细节!

GitKraken 客户端为您的提交消息提供了两个字段:标题和描述。最好保持标题简短,不超过 72 个字符,并在描述字段中添加更多细节。

例如,“修复 Chrome 中的日期格式问题”比“修复提交消息标题的错误”要好得多。在提交消息描述中,您可以提供更多的细节。在描述中,你可以这样说:“Chrome 总是采用 MM/DD 格式,不管浏览器的区域设置是什么。”虽然这是一个虚构的 bug,但是这个例子说明了提交消息可以更加健壮和信息丰富。

Git 回复提供更多信息也是非常有用的。默认情况下,Git revert 生成的消息填充了提交消息标题:“revertslast commit message title”比如Reverts new “Paytastic Checkout” checkout flow

如果我们添加描述“客户已经改变主意,希望恢复使用 LegacyCart ”,那么我们在顶部会有一个精彩的概述,在描述中会有更多的细节。

您也可以在命令行上添加提交消息描述。您只需要传入两个消息参数:

Git commit -m “Title” -m “Description”

将提交链接到问题

如果您有一个票务系统或待办事项列表,在提交消息中包含项目的标题或票证 ID 号有时会有所帮助。您甚至可以在描述中提供初始问题的链接。

如果你已经将 GitKraken 客户端连接到一个问题跟踪器,比如 GitHub Issues ,你可以输入搜索找到你想要处理的问题,右击该问题,为该问题创建一个 Git 分支。通过这种方式添加额外的信息非常容易,因此当您将来回到某个问题时,您可以很快看到围绕该提交发生的所有事情。所有这些都不需要工具之间的上下文切换!

提示 2:提交和推送,少而频繁

当谈到人们应该多久犯一次错误时,最有说服力的论点是“少而常”因为 Git 是你工作和进度的备份,所以只有在特性完成时才提交是没有意义的。提交部分完成的工作比什么都不做要有用得多。

尽管确保每个提交都处于可构建或工作状态是一个好的实践,但是只要您在提交消息中声明了这一点,让“正在进行的工作”提交不准备合并也是可以的。

“少而常”的策略也可以帮助您恢复不需要的功能。从一个更大的提交中提取一小块代码确实很痛苦,但是如果您只需要恢复一个小的更改,就会容易得多。

提示 3: Git 壁球

一个缺点是,所有那些“少量且经常”提交的消息可能会很快变得非常嘈杂。虽然较小的进行中的提交在本地是有帮助的,但是您不希望所有这些提交消息都出现在最终的 Git 历史中。清理历史的一个解决方案是合并多个提交,这就是 Git squash 动作的用武之地。挤压是 Git rebase 命令的一部分。

GitKraken Client 使选择您想要组合的多个提交变得非常简单,右键单击选择“挤压 x 个提交”,其中 x 是您选择的提交数。

注意不要掩盖你的错误!你的错误和你的返工讲述了一个故事。它们可以为未来的开发人员提供有价值的解释,同时也记录了您的学习成果。我们应该为这些感到骄傲,因为它显示了你在发展你的手艺。不要隐藏错误。用壁球来整理东西,而不是把东西扫到地毯下。

提示 4:使用 Git 分支策略

有许多 Git 分支策略;虽然 Joe 个人最喜欢的是 GitHub Flow,但是还有很多。无论您选择哪一种,Git 分支策略通常都遵循特性驱动的开发模式。您为您正在处理的每个特性创建一个分支,然后有一个特定版本的状态的一些概念。通常,一个 Git 分支或者一个标签会告诉你部署了什么以及在什么时候部署的。

确保一次只有一个人负责任何一个分支也是很常见的,所以如果你有两个人在处理一个特性,你最好将这个特性分解成子特性。这使得每个开发人员都可以有效地执行“少而多”的提交策略。

GitKraken 客户端具有高级功能,如合并冲突检测,当两个团队成员同时处理同一个文件时,它会提醒用户。与 Git 的合作从未如此之好。

仔细看看 GitHub 流分支策略,您会发现它涉及到为您的特性创建一个分支,该分支映射到一个 GitHub 问题。然后,您将您的提交添加到该分支,打开一个 GitHub pull 请求,引发一场讨论,然后一位同事对您的更改执行一次代码审查

您可能会添加更多的提交,但是一旦那个 Git pull request 过程结束,您就可以部署这些更改以进行测试。一旦测试完成,每个人都满意了,你的代码就被合并到主分支中了。

有理由使用不同的工作流和 Git 分支最佳实践。各有各的优点需要考虑。选择一个作为你的基线,然后使它适应你的组织、你的需求和你的项目。无论你选择哪一个,关键是要有一个分支策略。

提示 5:使用 Rebase 和 Merge

在具有多个并发工作流的较大项目中,您可能会以混乱的分支和合并而告终。分支变得相互关联,很难跟踪发生了什么。GitHub 实际上在创建拉取请求时提供了三个选项:

  1. 创建合并提交
  2. 挤压和合并
  3. 重设基础并合并

“创建合并提交”是不言自明的。如果 pull 请求成功,只需将建议的分支及其变更直接合并到指定的目标分支中。这是最简单的选择,却留下了最乱的历史。

“压缩并合并”选项意味着你的整个特性被压缩到一个提交中,然后直接放到主分支或开发分支上。虽然它非常整洁,但是您丢失了许多关于何时、如何以及为什么进行代码更改的文档。这使得改变变得非常困难,也更难理解为什么会发生一些事情。

“rebase and merge”选项允许您在保持树整洁的同时避免丢失数据。这是乔最喜欢的选择。注意,如果你使用的是 Azure DevOps ,这个选项被称为“半线性合并”,但是它会产生相同的结果。

The “create a merge commit” is fairly self-explanatory. If the pull request is successful, just merge the suggested branch with its changes directly into the specified target branch.  This is the simplest option, but it leaves the messiest history.

The “squash and merge” option means your entire feature gets squashed into one commit and then plopped straight onto the main or developed branch. While it’s very neat and tidy, you lose a lot of the documentation of when, how, and why code changes were made. This makes reversing changes very difficult and it’s harder to see why something might have happened.

The “rebase and merge” option allows you to avoid losing data while keeping the tree clean and tidy. This is Joe’s favorite option. Note that if you’re using Azure DevOps, this option is called “semi-linear merge,” but it generates the same result.

你可以跳到 GitKon 会议视频中的 22:26,听听 Joe 对这个选项更透彻的解释。

改写历史

对于技巧四和技巧五,您正在重写历史,不是作为一种粉饰历史暴行的行为,而是简单地改变已经被推送到 Git 存储库的内容。维护您的真实历史当然有它的好处,因为它对学习和代码审查很有用。如果你从不篡改你的历史,也不可能真的把它弄乱。但是,要知道,从长远来看,这种方法是以回购可读性为代价的。一个快速的整理过程会让整个历史更加清晰。

Rewriting History

推动你改写的历史

安全重写历史的关键是确保在开始篡改历史之前,你已经推送了你的库*。这可以确保您在外部服务器上有备份,并在推送前给您一个复查的方法。重要的是要注意:因为你正在改变历史,你将不得不执行一个强制推动。如果你正在使用 GitKraken 客户端,你会收到一个有用的弹出窗口,有一点警告,确定你真的想做一个强制推重写历史。

GitKraken 客户端让你轻松查看你的 Git 历史,制作和修改 Git 提交消息,挤压提交,利用 Git 让你的提交历史尽可能的好。像 Joe 一样,成为一个真正的 git,使用 GitKraken Client 轻松安全地使用世界领先版本控制系统的高级功能。今天免费下载 GitKraken 客户端!*

Pushing Your Rewritten History

The key to rewriting history safely is to make sure you’ve pushed your repository before you start messing with history. This ensures you’ve got your backup on an external server, and it gives you a way to double-check before you push. It’s important to note: because you’re changing history, you will have to perform a force push. If you’re using GitKraken Client, you will receive a helpful pop-up with a little warning, making sure you really want to do a force push rewriting history.

GitKraken Client makes it easy to see your Git history, make and amend Git commit messages, squash commits, and leverage Git to make your commit history the best it can be.  Be like Joe and be a real git about your Git history, and use GitKraken Client to make it easy and safe to use the advanced functionality of the world’s leading version control system.  Download GitKraken Client free today!

如何查看你的 Git 分支列表?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-branch-list

CLI 没有 GitKraken 提供的可见性。获得远程的即时上下文,包括远程分支和分叉,并查看谁正在对哪些文件进行更改。

最好的 Git 分支策略是什么?| Git 最佳实践

原文:https://www.gitkraken.com/learn/git/best-practices/git-branch-strategy

Git 和其他版本控制系统让软件开发人员能够跟踪、管理和组织他们的代码。

特别是,Git 帮助开发人员与队友合作编写代码;将提交和分支等强大的功能与特定的原则和策略相结合,有助于团队组织代码并减少管理版本所需的时间。

当然,每个开发人员和开发团队都是不同的,都有独特的需求。这就是 Git 分支策略的用武之地。

我们将讨论三种相当流行的 Git 分支策略,每种策略都有各自的优点。最精彩的部分?这些工作流都不是一成不变的,可以而且应该进行修改以适应您的特定环境和需求。

请注意:这些原始策略中有许多都是指“主”分支,但我们选择使用“主”来代替。


无论您选择哪种分支策略,GitKraken 都可以通过预测合并冲突检测和应用内拉请求等功能,实现与 Git 的强大、更简单、更安全的协作。

Git 流分支策略

Git 流分支策略背后的主要思想是将你的工作隔离到不同类型的分支中。总共有五种不同的分支类型:

主要的

  • 发展
  • 特征
  • 释放;排放;发布
  • 修补程序
  • Git 流程中的两个主要分支是开发。有三种类型的支持分支,具有不同的预期目的:特性发布热修复

Git 流:利弊

Git 流分支策略有很多好处,但是也带来了一些挑战。

Git 流量的好处:

各种类型的分支使组织工作变得简单而直观。

系统开发过程允许有效的测试。

发布分支的使用允许您轻松地、持续地支持产品代码的多个版本。

  1. 各种类型的分支使组织工作变得简单而直观。
  2. Git 流的挑战:
  3. 根据产品的复杂程度,Git 流程模型可能会过于复杂,并减缓开发过程和发布周期。

由于开发周期长,Git flow 在历史上不支持持续交付或持续集成。

Git 流与 GitKraken

  1. 传奇的跨平台GitKraken Git GUIfor Windows,Mac,& Linux 有助于在高层次上简化和可视化 Git,并支持 Git 流分支策略。
  2. 由于开发周期长,Git flow 在历史上不支持持续交付或持续集成。

Git 流与 GitKraken

要用 GitKraken 初始化 Git 流,打开 repo,然后导航到PreferencesGitflow来设置您的首选分支命名约定。GitKraken 将帮助您启动和完成特性、发布和修补程序分支。

GitKraken 提供了令人难以置信的 GitHub 集成GitLab 集成Bitbucket 集成Azure DevOps 集成,使其更容易与托管库一起工作。

GitKraken 使大大小小的团队都能够利用 Git 的真正力量,让您更清楚地了解谁在什么时候做什么,这样您就可以避免冲突并保护您的代码。

GitHub 流量分支策略

GitHub 流分支策略是一个相对简单的工作流,允许较小的团队,或者不需要支持多个版本的 web 应用程序/产品,来加速他们的工作。

GitHub 流中,主分支包含您的生产就绪代码。

其他分支,特性分支,应该包含新特性和 bug 修复的工作,并且在工作完成并被适当评审后,将被合并回主分支。

GitHub 流程考虑

Learn more about Git team features

在使用 GitHub 流分支策略时,有六个原则你应该遵守,以确保你维护好代码。

主分支中的任何代码都应该是可部署的。

为新工作从主分支创建新的描述性命名的分支,例如feature/add-new-payment-types

将新工作提交给本地分支机构,定期将工作推送到远程机构。

要请求反馈或帮助,或者当您认为您的工作已经准备好合并到主分支中时,请打开一个拉动请求

在您的工作或功能被审阅和批准后,它可以被合并到主分支中。

一旦您的工作被合并到主分支中,就应该立即进行部署。

GitHub 流:利弊

  1. 与其他 Git 分支策略一样,GitHub flow 也有一些亮点和不足。
  2. GitHub 流程指南启发的自定义图像。
  3. 要请求反馈或帮助,或者当您认为您的工作已经准备好合并到主分支中时,请打开一个拉动请求
  4. GitHub 流的好处
  5. 在本帖中我们讨论的三个 Git 分支策略中,GitHub 流是最简单的。
  6. 由于工作流的简单性,这种 Git 分支策略允许连续交付和连续集成。

这种 Git 分支策略非常适合小型团队和 web 应用程序。

与其他 Git 分支策略一样,GitHub flow 也有一些亮点和不足。

GitHub 流的挑战

这种 Git 分支策略无法同时支持生产中的多个版本的代码。

缺乏专门的开发分支使得 GitHub flow 在生产中更容易出现 bug。

GitLab 流量分支策略

  1. 在其核心,GitLab 流分支策略是一个明确定义的工作流。虽然类似于 GitHub 流分支策略,但主要区别在于根据情况添加了环境分支——即生产和预生产——或发布分支。
  2. 就像其他两个 Git 分支策略一样, GitLab flow 有一个主分支,其中包含可以部署的代码。然而,这些代码并不是发布版本的真实来源。
  3. 在 GitLab 流程中,feature 分支包含新功能和 bug 修复的工作,当它们完成、审查和批准后,将被合并回主分支。

GitHub 流的挑战

在发布周期中使用 GitLab 流程

  1. GitLab 流分支策略适用于两种不同类型的发布周期:
  2. 版本化发布:每个发布都有一个基于主分支的相关发布分支。Bug 修复应该首先合并到主分支中,然后再精选到发布分支中。

自定义图像灵感来自 GitLab 流程中的图像。

在其核心,GitLab 流分支策略是一个明确定义的工作流。虽然类似于 GitHub 流分支策略,但主要区别在于根据情况添加了环境分支——即生产和预生产——或发布分支。

2.连续发布:生产分支被用来包含部署就绪的代码,所以当代码准备好发布时,它被合并到生产分支中。

在 GitLab 流程中,feature 分支包含新功能和 bug 修复的工作,当它们完成、审查和批准后,将被合并回主分支。

git lab 流程的优势

与 Git 流分支策略相比,GitLab 流更简单。

GitLab 流比 GitHub 流分支策略更有组织性和结构化。

稍加修改后,GitLab flow 可以允许连续交付和版本化发布。

  1. 自定义图像灵感来自 GitLab 流程中的图像。

git lab 流程的挑战

GitLab 流不是最简单的 Git 分支策略。

GitLab 流不是最结构化的 Git 分支策略,这可能导致混乱的协作。

git lab 流程的优势

可视化提交和分支的能力将使您和您的团队对您的存储库的结构有一个新的理解,使日常的 Git 操作更加直观。

  1. GitLab 流比 GitHub 流分支策略更有组织性和结构化。
  2. 那么,哪个是最好的 Git 分支策略呢?
  3. 最终,哪个 Git 分支策略是最好的取决于您和您的团队的环境、产品和您的特定开发需求。

没有一种通用的 Git 分支策略,无论您最终选择哪一种,您都可以通过进一步的修改来优化它。

使用 GitKraken 开始使用 Git flow。免费下载 GitKraken Git GUI

  1. GitLab 流不是最结构化的 Git 分支策略,这可能导致混乱的协作。
  2. GitLab flow is not the most structured Git branching strategy which can lead to messy collaboration.

可视化提交和分支的能力将使您和您的团队对您的存储库的结构有一个新的理解,使日常的 Git 操作更加直观。

The ability to visualize your commits and branches will give you and your team a newfound understanding of your repository’s structure, making daily Git actions more intuitive.

Make Git Easier with GitKraken

那么,哪个是最好的 Git 分支策略呢?

最终,哪个 Git 分支策略是最好的取决于您和您的团队的环境、产品和您的特定开发需求。

没有一种通用的 Git 分支策略,无论您最终选择哪一种,您都可以通过进一步的修改来优化它。

使用 GitKraken 开始使用 Git flow。免费下载 GitKraken Git GUI

Get started with Git flow using GitKraken. Download the GitKraken Git GUI for free.

探索教室的 Git 分支模型

原文:https://www.gitkraken.com/gitkon/git-branching-model-classroom

https://www.youtube.com/embed/NgFekb1zDmg?feature=oembed

视频

在 2021 GitKon Git conference 的一场会议中,哈特福德大学的教授 Roy Vanegas 分享了他如何在课堂上使用 Git 和 GitHub。使用 Git,Roy 已经成功开发了可复制的 Git 分支模型,用于课堂友好的工作流、评分和分配作业的方法。

教师可以在更传统的课堂环境中使用这些策略,管理人员也可以使用这些策略来促进专业发展,技术兴趣小组的领导者可以使用这些策略来分享知识,等等。

GitKraken 通过 GitHub 教师工具箱为教师免费提供我们的 GitKraken Client Pro!PS:学生还获得免费资源!

Get GitKraken Free for Teachers

与 Git 和 GitHub 共享任务

创建一个“不在这里工作”的主 Git 分支

如果您想使用 Git 与学生共享作业,首先创建一个默认的本地 Git 存储库。接下来,创建一个名为“不要在这里工作”的 Git 分支,并将该分支推送到您在 GitHub 上的共享库。

您需要将新的“不要在这里工作”分支作为您的主分支。要在 GitHub 中做到这一点,你可以选择“设置”->“分支”->“主”->然后选择“不要在这里工作”->“更新”。

观看此视频跟随 Roy,了解他如何创建“不在此工作”分支并将其设置为默认。

确保你的主要分支机构的标题是“不要在这里工作”,这只是确保学生不会意外地开始在主要分支机构工作。最终,每个学生都将拥有自己的名字写在上面的 Git 分支,从而降低了破坏其他学生代码的风险。

将“不在此工作”分支变成新的“主”分支后,删除原来的主分支。您可以通过运行以下命令来实现这一点:

git branch -d main->-git push origin --delete main->-git push origin --delete main

或者,您可以重命名主分支,而不是创建一个新的分支。不管你如何完成这个,目标是有一个主分支,明确地指导学生不要在它里面做任何改变。

为每个学生创建一个 Git 分支

接下来,使用脚本收集学生数据,包括名字、姓氏和 GitHub 用户名。这将允许您为每个学生创建一个分支。使用这些信息来创建他们的分支将有助于避免两个学生使用相同名称时产生的混淆。

学生分支名称示例:linus-torvalds-linux-inventor

上图是一个虚构学生列表的示例,每个学生都有自己的分支。

最后,指导您的学生上网,访问项目,并分叉分支。每个学生将分支分入他们的 GitHub 帐户后,他们就可以开始工作了!

使用 Git 和 GitHub 提交作品

在布置作业时,你应该给出具体的指示,要求学生将项目作为一个主要文件上交。如果学生计划提交附加文件,这些文件必须是主文件的依赖项。这简化了浏览每个学生提交内容的过程,并使学生提交内容的评分速度更快。

当学生准备提交他们的作品时,他们提交一个 GitHub pull 请求。从教师的角度来看,这使得浏览和分析所有分支以确保它们是正确的变得非常容易。一旦准确性得到验证,教师就可以接受到共享的 GitHub 存储库中的 pull 请求。

将所有学生项目放在一个共享存储库中的另一个好处是能够在课堂上方便地展示学生作业的例子。你可以在同一台机器上展示尽可能多的项目,而不是让每个学生单独连接他们的电脑。

Git 教室中的协作

Git 课堂策略的另一个独特的好处是学生能够协作。虽然每个学生都必须上交自己的独特作业,但他们可以从其他同学的分支中寻找灵感。这确实有风险,因为老师必须相信他们的学生会实践荣誉制度,或者有制度来确保没有人滥用制度和直接抄袭作业。

参考其他人的工作并观察其他人如何解决问题的能力对于 Git 课堂工作流来说是一个巨大的好处。这不仅是一种有益的课堂实践,这种工作流程还模仿了现实世界中开发人员与其团队的互动方式,这使其成为一种理想的实践,为他们进入劳动力市场做好准备。

用 Git Diff 检测作弊

不幸的是,作弊和学术不诚实在许多课堂上发生,这要求教师建立保护措施和程序来检测这种行为。当使用 Git 和 GitHub 给学生项目评分时,可以运行一个脚本来检测分支之间的相似性。

要比较分支,运行git diff后跟每个分支名称,每个分支对应一个您想要评估的学生。该命令返回项目之间的所有差异,并允许教师快速确定是否发生了任何作弊行为。

如果命令显示了各种差异,很可能没有作弊,但是如果命令没有返回差异,很明显一个或多个有匹配项目的学生作弊了。这个过程快速、方便,并且允许指导者清楚地识别作弊是否已经发生。

独特作品的例子

检测到作弊的例子–无差异

GitKraken 客户端中的 diff 工具使您能够做出更明智的决策,因此您可以执行高级 Git 操作,如 rebase,功能更强大,风险更低。

与 Git 和 GitHub 分享示例

在课堂上展示和分享例子是开始使用 Git 课堂工作流的最有说服力的理由之一。想象一下:每天来上课时,学生们在他们的机器上启动 GitHub 桌面,或另一个 Git 客户端,如 GitKraken 客户端,并打开与当天讲座相关的范例库。每当老师对示例回购进行新的修改时,学生们可以执行 Git pull 并立即在他们的电脑上看到示例。

这种共享代码示例的过程有一些主要的优点。学生可以实时查看代码,而不是努力写出错综复杂的代码行和复杂的命令。该工作流程还允许教师通过让学生自己进行 Git 提交来添加到示例中,从而强化学习原则。

概括来说,学生应该在到达教室后执行以下步骤:

  1. 启动他们的 Git 客户端,比如 GitKraken 客户端
  2. 启动他们的代码编辑器
  3. 通过拉、取和刷新来更新他们的示例副本

这种工作流程的最大优势在于它给学生提供了更多的时间来记下代码及其背后的原理,而不是试图跟随并逐字逐句地复制随机代码。

轻松归档存储库以备将来使用

使用这种 Git 工作流的一大优势是归档存储库非常方便。一旦教师结束了一节课,他们可以将存储库标记为私有,并保留它,直到他们在未来的课上再次需要它,或者出于其他目的需要引用它。这个工作流程为所有事情创建一个记录。讲师使用的每一堂课、每一个例子和每一个其他资源都可以很容易地保存下来,供将来参考。

事实上,最近另一所大学的一位教授联系了罗伊,请他帮忙找出一个可能是以前的学生学术欺诈的例子。Roy 能够浏览旧的成绩和作业,并很快收集到另一位教授要求的信息,即使这位学生已经很久没来上课了。

克服 Git 学习曲线

Git 的学习曲线可能会很陡,如果学生从未使用过类似的技术,学习起来可能会特别困难。从教师的角度来看,教学可能很有挑战性。虽然您可以进行深入的讲座,但从根本上来说,Git 可能是一个令人困惑的学习系统。

认识到这一点很重要,Git 教室的工作流程是一种完全不同的使用 Git 的方式,不同于你在私营部门中常见的任何方式。即使是有经验的 Git 用户,在开始时也很难习惯这种独特的项目设计。

但是随着时间的推移,有了足够的有用资源,你和你的学生可以克服学习 Git 的挑战。

Git 的学习曲线可能会很陡,但是花时间去理解 Git 概念将会在未来的几年中对你大有裨益。GitKraken 的学习资源将帮助您和您的团队了解基础知识和高级操作,让您对工作流程更有信心。

Learn Git with GitKraken

工作时的时间戳

在课堂上使用 Git 的另一个好处是能够通过时间戳查看学生何时完成、完成和提交作业。比方说,你有一个不接受任何迟交作业的政策,但是一个学生坚持说他们因为某种原因不能提交。

您可以很容易地查看他们的系统,并运行一些类似于git log的命令来查看最后一次提交是何时执行的,并将该信息与指定的到期日期进行比较。在与学生一起工作时不可避免地会出现各种复杂的情况,在工作中使用时间戳会很有帮助。

在 Git 中搜索大型项目可能会很复杂

在课堂上使用 Git 有一些缺点。首先,很难找到学生上交的文件。如果您在本地操作系统上使用内置搜索来查找特定文件,您需要确定您正在哪个分支上工作。

同时搜索文件和分支会很快变得复杂。这就是为什么需要熟练理解如何使用 Git 命令行来接受这种方法,这对于不熟悉 Git 的人来说是很困难的。

使用 Git 和 GitHub 访问课程材料

如果学生错过了课程,他们仍然可以访问他们错过的代码和课程材料。他们只需访问 GitHub 上的类库,更新他们的本地类库,当天共享的任何代码现在都可以在他们的本地机器上获得。

虽然每个教师可能有不同的出勤政策,但至少使用这种模式,学生有能力跟上课程材料。

实施 Git 课堂模型

概括地说,Git 课堂工作流程遵循以下大纲:

  1. 给每个学生分配他们自己的 Git 分支
  2. 教师在课堂上使用 GitHub repo 示例展示示例
  3. 学生通过提交 GitHub pull 请求来提交作业
  4. 学生通过查看彼此的项目来相互协作和学习
  5. 教师用 Git 和 GitHub 对提交的内容进行评分和比较

虽然在 Git 的密集学习曲线下,这可能是一个很难实现的过程,但如果正确利用,这个工作流对学生和教师来说都会变得非常有效。允许学生在课外查看来自同龄人和教师的示例,可以确保课堂上的时间用于提问和深入材料,而不是简单地捕捉表面笔记。最终,在课堂上使用 Git 模型可以创建一个身临其境的动手环境,让学生真正学习 Git。

如果你正在寻找更多的方法来教学生如何使用 Git,试试 GitKraken 客户端。这款传奇的 Git 工具以其漂亮的视觉效果、直观的操作和团队功能使学习 Git 变得简单——此外,还可以查看给学生教师的免费资源。👀

你如何签出一个提交?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-checkout-commit

每当您想要检查特定行为何时被引入到代码中时,检查提交可能是完美的解决方案。

在向您展示如何在命令行中执行操作之前,我们将介绍如何使用跨平台 GitKraken 客户端来执行 Git checkout 提交。

使用 GitKraken 客户端,只需点击两次即可完成结帐。

如何用 GitKraken 检查提交?

在 GitKraken 中检查提交既快又简单。只需右键单击中间图形中的提交,并从上下文菜单中选择Checkout this commit

是的,就是这么简单。

用 GitKraken 检查提交时不需要提交散列。💥

如何在命令行中检查提交?

要检验 Git 提交,您将需要提交散列。如果您使用的是终端,那么您无法直接看到您的提交信息。要调出提交及其相关散列的列表,可以运行git log命令。

用 GitKraken 检查提交时不需要提交散列。💥

如何在命令行中检查提交?

要检验以前的提交,您将使用 Git checkout 命令,后跟从 Git 日志中检索到的提交散列。

Psst:我们知道你正在做一些重要的事情…你可能只是想完成你的行动,然后继续前进…但是把这个页面加入书签,稍后看看 GitKraken 客户端终端中令人难以置信的自动建议和自动完成功能。

git checkout <commit hash>

使用适用于 Windows、Mac 和 Linux 的 GitKraken Client 使检查提交的过程变得更加容易。可视化上下文允许您只需点击两次就可以签出提交,而不用担心散列。

如何用 GitLens 检查提交?

如果你在 VS Code 上安装了 GitLens,打开一个 repo,然后点击活动栏上的源代码控制图标。

展开提交视图,右键单击任何提交以访问 Switch to Commit 操作。

如何用 GitLens 检查提交?

这将有效地在分离的 HEAD 状态下检验提交,类似于上面的 GitKraken 客户端和 CLI 选项。

或者,有一个有用的 GitLens 特性,可以帮助您在任何时候浏览作为虚拟文件夹的存储库。右键单击提交视图中的任何提交,但是这次单击**Browse**子菜单。

这将允许您从指定的时间点打开一个新的 VS 代码窗口,而无需正式签出分支或提交。

如果你想亲自体验一下这个功能,请进入 VS 网页代码,安装 GitLens 试试看!

GitLens 可以帮助您保持组织性,并跟踪您的任务和项目。免费解锁 VS 代码中 Git 的全部功能!

这将允许您从指定的时间点打开一个新的 VS 代码窗口,而无需正式签出分支或提交。

如果你想自己检验这个特性,跳到 VS 代码网站并安装 GitLens 来试试吧!

GitLens 可以帮助您保持组织性,并跟踪您的任务和项目。免费解锁 VS 代码中 Git 的全部功能!

Install GitLens for VS Code

你如何检查一个 Git 标签?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-checkout-tag

在 Git 中,标签是指向特定时间点的引用,通常用于标识代码的发布版本。

在向您介绍如何在 CLI 中签出一个标记之前,我们将讨论如何使用跨平台 GitKraken Git 客户端来签出一个 Git 标记。

如何用 GitKraken 结账?

在 GitKraken 中,您可以立即看到存储库中的所有标签,它们清楚地列在主 UI 的左侧面板中。你也可以从这个位置过滤和搜索标签,这对于大的转发来说特别方便。

要在 GitKraken 中签出一个标签,只需在中间的图中右键单击一个标签,这里的标签用🏷标签图标。从这里,您可以选择Checkout this commit以分离的头部状态检出标签。

使用 GitKraken,只需点击 2 次,即可将标签签出为提交或分支。

如何使用 GitKraken 将标签签出为分支?

要将 Git 标签作为 GitKraken 中的一个分支签出,右键单击左侧面板或中央图中的标签,并从上下文菜单中选择Create branch here

使用 GitKraken 更自信地快速识别和检查标签。

如何在终端中检查 Git 标签?

如果你使用命令行,你将看不到你的标签列表整齐地排列在你的用户界面的左边,就像你在 GitKraken 看到的那样。要查看 Git 存储库中存在哪些标签,可以运行git tag命令来查看 Git 标签的列表。

从这里,您可以在分离的 head 状态或作为分支签出标签。让我们从如何在分离的 head 状态下签出 Git 标签开始。这可以通过以下方式实现:

git checkout <tag name>

如何在终端中将 Git 标签签出为分支?

或者,您可以使用以下代码将 Git 标记作为分支签出:

git checkout -b <branch name> <tag name>

使用传说中的 GitKraken Git GUI 检查标签是无缝和直观的,并让您对您的工作流程有更多的控制。今天免费下载

Git 签出-签出分支、提交和标签|学习 Git

原文:https://www.gitkraken.com/learn/git/git-checkout

Git checkout 命令告诉 Git 您希望您的更改应用到哪个分支或提交。

现在,在我们开始讨论如何在 GitKraken Git 客户端和命令行中进行 Git 检验之前,让我们先快速复习一下 Git 分支Git 提交

在 Git 中,分支是指向一个特定提交的指针,而提交是您的存储库在特定时间点的快照。

您的分支指针随着您的每次新提交而移动。

在 GitKraken 中,您可以快速识别分支和相关提交,使签出变得轻而易举。

Git 检验分支

如果要对尚未签出的分支进行更改,首先需要签出该分支。

GiTip:学习如何 Git 结账一个远程分支以及如何在本地分支之间切换。

检出 Git 分支将更新您的存储库文件,以匹配分支指向的任何提交的快照。从这里开始,分支指针将继续跟随分支上的每个新提交。

Git 签出提交

也有可能 Git checkout 提交。这将更新您的存储库文件,以匹配您签出的提交的快照。这对于在不创建新分支的情况下审查旧的提交非常有用。

GitTip:如果你想了解更多关于如何 Git checkout 一个 commit 的知识,我们可以指导你。

Git Checkout Tag

类似地,如果你想回顾过去的代码版本,比如最近发布的版本,你可以签出一个标签。

GitTip:了解更多关于如何用 GitKraken 和命令行检查 Git 标签的信息。

Git 分离头

注意这一点很重要:检查 Git 提交或 Git 标签会将头点移动到提交而不是分支。这将使您的存储库处于所谓的分离状态。

当您在 Git 中处于分离的 HEAD 状态时,您不能提交对分支的更改。

Git 结帐的好处

Git checkout 对于将更改应用到分支非常有用,但是如果您想要检查某个行为是何时引入的,它对于检查旧的提交也很有用。

注意这一点很重要:检查 Git 提交或 Git 标签会将头点移动到提交而不是分支。这将使您的存储库处于所谓的分离状态。

你如何用 GitKraken 结账?

无论您是想使用 Git checkout 命令来检查分支、提交还是标记,GitKraken 都可以让整个过程变得简单直观,并提供整个存储库的完整可视上下文。

厌倦了浪费时间搜索提交散列或标记名吗?GitKraken 可以帮忙。

Git checkout 对于将更改应用到分支非常有用,但是如果您想要检查某个行为是何时引入的,它对于检查旧的提交也很有用。

你如何用 GitKraken 结账?

在这个例子中,我们将回顾如何使用 Git checkout 命令来签出一个远程分支。

由于 GitKraken 主用户界面提供的视觉优势,您可以查看左侧面板中列出的所有远程分支机构。

要在 GitKraken 中签出远程分支,只需双击或右键单击左面板或中央图中的分支名称,然后选择Checkout

你如何用 GitKraken 结账?

或者,您可以使用 GitKraken 模糊查找器,方法是键入“checkout ”,然后键入您想要检查的分支名称。

由于 GitKraken 主用户界面提供的视觉优势,您可以查看左侧面板中列出的所有远程分支机构。

如何用 GitKraken 检查提交?

GitKraken 在中央图表中按时间顺序显示您的存储库的提交列表。要在 GitKraken 中检查一个提交,右键单击中央提交并选择Checkout this commit

你如何用 GitKraken 签出标签?

在 GitKraken 中,标签在中央图形中用🏷标签图标。这使得快速和容易地找到您的回购标签。

在中间的图表中,找到您想要签出的标签,然后右键单击。然后,选择Checkout this commit以分离头部状态检出标签。

你如何用 GitKraken 签出标签?

但是,如果您想将标签签出为分支,该怎么办呢?您可以遵循完全相同的过程,但是在中间图形或左侧面板中右键单击目标标记后选择Create branch here

只需点击两次,您就可以在 GitKraken 中签出分支、提交或标记。🤯

如何在命令行中签出一个分支?

如果您正在使用 CLI,您将无法立即看到您的本地分支,因此您将从运行 Git branch 命令来查看您的本地分支列表开始。这也将显示您当前已经签出的分支。

接下来,您将运行 Git checkout 命令,后跟您希望切换到的本地分支的名称。

如何在命令行中检查提交?

为了在 CLI 中检查提交,您将需要提交散列。您可以通过运行 Git log 命令来获得提交散列。

要检验之前的提交,您将使用 Git checkout 命令,后跟提交散列。

git checkout <name-of-branch>

如何在命令行中签出一个标签?

与 GitKraken 不同,在 Git kraken 中,您可以通过在中心图中查找标记图标来轻松定位您的标记,您必须运行 Git tag 命令来查看您的存储库的标记列表。

有了标记名之后,可以在 Git 分离头状态下签出标记,或者将标记作为分支签出。如果您想在分离的 HEAD 状态下签出标签,您将运行:

git checkout <commit hash>

如果您想将 Git 签出标记作为分支,您将运行:

你的时间和精力是宝贵的;为什么要花时间去记忆或查找远程分支、提交散列或标记名呢?让传说中的跨平台 GitKraken Git GUI 为您组织所有这些,并以一个漂亮且易于理解的图形呈现您的存储库。

有了标记名之后,可以在 Git 分离头状态下签出标记,或者将标记作为分支签出。如果您想在分离的 HEAD 状态下签出标签,您将运行:

git checkout <tag name>

如果您想将 Git 签出标记作为分支,您将运行:

git checkout -b <branch name> <tag name>

你的时间和精力是宝贵的;为什么要花时间去记忆或查找远程分支、提交散列或标记名呢?让传说中的跨平台 GitKraken Git GUI 为您组织所有这些,并以一个漂亮且易于理解的图形呈现您的存储库。

去克隆区

原文:https://www.gitkraken.com/learn/git/problems/git-clone-branch

在开始使用 Git 中现有的项目存储库之前,首先需要在您的机器上创建项目的本地副本。这就是 Git 克隆命令的用武之地。

Git 克隆动作将一个现有的 远程 Git 库的副本下载到您的机器上,包括所有的分支。默认情况下,Git 将在新的本地存储库中检出原始 repo 的主分支。

GitTip:获得关于 如何结帐远程 Git 分支的分步教程。

为什么要 Git 克隆一个分支?假设您想要立即开始某个特定分支的工作,那么您想要克隆远程并同时签出该分支。或者也许您不需要克隆整个存储库,因为您只负责一个分支,所以您只想要 Git 克隆分支。

输入 Git 克隆分支。

Git 克隆分支命令提供了两个主要功能:

  1. 克隆整个远程存储库,然后签出并设置特定分支的上游。
  2. 仅克隆指定的分支,然后检出并设置该分支的上游。

在这个 Git 克隆分支的例子中,我们将回顾如何使用跨平台 GitKraken Git 客户端来克隆 Git 分支,然后在 CLI 中完成整个过程。

如何使用 GitKraken 克隆一个分支?

与命令行不同,GitKraken Git GUI 提供了令人难以置信的可视性,因此您可以轻松地管理您的遥控器,并确切地看到克隆过程中发生了什么。

如何使用 GitKraken 克隆一个存储库并检出一个特定的分支?

首先打开一个新标签(+)并选择 UI 左侧的Clone a repo选项。

也可以使用键盘快捷键:Ctrl/Cmd + O,选择Clone。然后,您将选择您的集成远程托管服务:GitHub、GitLab、Bitbucket 或 Azure DevOps。

在这个 Git 克隆分支示例中,我们将对远程 GitHub 存储库使用Clone with URL选项。

在开始之前,您需要仔细检查以下字段:

  1. 您希望克隆到的目录
  2. 新本地目录的名称

如果一切正常,您将点击Clone the repo!按钮。

成功克隆存储库之后,您只需在左侧面板中双击您想要签出的分支。

因为 CLI 没有您需要的可见性,您浪费了多少时间来克隆错误的分支?GitKraken 会照亮道路。

如何在命令行中克隆一个分支?

在使用 can Git 克隆分支之前,您需要两条信息:

  1. 托管远程存储库的 URL
  2. 要克隆和签出的分支的名称

在这个 Git 克隆分支示例中,我们将使用一个公共的 GitHub 存储库,并将克隆 Git 分支:Development

如何在命令行中克隆一个库并检出一个特定的分支?

首先,您将导航到您希望克隆遥控器的本地父目录,在本例中为:/projects

如果需要创建一个新的本地目录,可以使用:

mkdir <directory-name>

接下来,您将使用 Git clone branch 命令:

git clone --branch <branch-name> <repository-url>

(-b也代替这里的--branch工作)

如果执行正确,Git 将获取所有分支,并立即检出指定的分支。

通过我们在 GitHub 上的交互式实践库,直接掌握 Git 中克隆的诀窍。

Practice Cloning

如何在命令行中克隆一个特定的分支?

如果您只希望 Git 克隆一个分支,而不是远程存储库的其他内容,那么您将再次导航到您希望克隆远程存储库的本地父目录。

接下来,您将键入:

git clone --branch <branch-name> --single-branch <repository-url>

这将只从远程获取特定的分支。

因为 CLI 缺乏 GitKraken 所提供的可见性,所以您不能轻易地确认您是否克隆了预期的 Git 分支。

如果您希望验证您的 Git 克隆分支操作是否成功获取了目标分支,您可以运行:

git remote show origin

如果您想节省时间,在克隆一个 repo 后就开始处理分支,那么 Git clone branch 命令是一个非常有用的工具。另一方面,只克隆一个 Git 分支可以通过只从远程获取您需要的数据来帮助增强您的注意力。

GitKraken 主界面左侧的远程面板可以帮助您准确地看到您可以访问哪些远程分支,这样您就不必记住分支名称列表,从而节省您的时间和精力。现在使用 GitKraken Git 客户端简化常见操作,如克隆遥控器和分支。

Git 克隆|创建现有 Git 存储库的副本

原文:https://www.gitkraken.com/learn/git/git-clone

更新日期:2022 年 6 月 15 日

Git clone 用于将现有的 Git 存储库复制到一个新的本地目录中。

Git clone 命令将为存储库创建一个新的本地目录,复制指定存储库的所有内容,创建远程跟踪分支,并在本地签出一个初始分支。默认情况下,Git clone 会创建一个对名为origin的远程存储库的引用。

如何 Git 克隆一个仓库

要 Git 克隆存储库,请导航到您喜欢的存储库托管服务,如 GitHub,选择您想要克隆的存储库,通过 HTTPS 或 SSH 复制存储库 URL,在命令行中键入git clone,粘贴 URL,然后点击enter

克隆一个存储库允许您在提交将它们推送到远程存储库之前,对存储库进行本地更改。

这对于初学者来说尤其有益,因为克隆给了你一个实验的沙箱,而不会影响原始代码库(也不会激怒你的团队成员)😅).在本文中,我们将深入了解如何从 GitKraken 客户端的命令行以及 GUI 中进行 Git clone。

涵盖 Git 克隆主题

Git 远程存储库 URL 协议

Git SSH 远程协议

Git 远程协议

HTTP(S)远程协议

如何使用命令行在 HTTPS 上进行 Git 克隆

如何使用 GitKraken 客户端通过 SSH 进行 Git 克隆

如何使用 GitKraken 客户端在 HTTPS 上进行 Git 克隆

Git 克隆与 GitKraken 客户端集成

Git 克隆常见问题解答

GitKraken 客户端使 Git 克隆变得更加容易

Git 克隆与 GitKraken 客户端集成

不要冒险损害代码的安全性。GitKraken 客户端允许安全连接到远程存储库——这是您不用担心的一件事。

GitKraken 客户端使 Git 克隆变得更加容易

Git 远程存储库 URL 协议

Git 中支持的远程 URL 协议有 SSH、Git、HTTP 和 HTTPS。

Git SSH 远程协议

SSH 代表安全外壳。使用 Git SSH 允许您使用密钥向远程存储库进行身份验证。

SSH URL 的格式:ssh://{user}@{host}:{port}/path/to/repo.git{user}@host:path/to/repo.git

要在命令行中使用 Git SSH ,您需要生成一个公共和私有的 SSH 密钥,将密钥添加到您的 SSH-agent 中,并将公共密钥添加到远程托管服务中。

Git 远程协议

Git 协议是一种未经身份验证的方法,应该谨慎使用。

Git URL 的格式:git://{host}:{port}/path/to/repo.git

HTTP(S)远程协议

HTTP(S)代表超文本传输协议(安全)。通过使用 HTTPS,您可以使用用户名和密码凭证向存储库进行身份验证。

与 HTTP 相比,HTTPS 是一个更安全的版本。

HTTPS 网址的格式:https://{host}:{port}/path/to/repo.git

GitTip:通过我们的 Git 初学者教程视频系列,了解更多关于本地 Git 仓库远程仓库的信息。

使用 GitHub 练习报告,跟随 GitKraken 客户端和命令行中即将出现的克隆示例。

HTTP(S)代表超文本传输协议(安全)。通过使用 HTTPS,您可以使用用户名和密码凭证向存储库进行身份验证。

如何使用命令行在 HTTPS 上进行 Git 克隆

在这个例子中,我们将回顾在 HTTPS 克隆 GitHub 库的过程。要克隆 Git 存储库,首先要从存储库托管服务复制远程 URL 在本例中是 GitHub。

GitTip:通过我们的 Git 初学者教程视频系列,了解更多关于本地 Git 仓库远程仓库的信息。

使用 GitHub 练习报告,跟随 GitKraken 客户端和命令行中即将出现的克隆示例。

Practice Cloning

然后,您将使用 Git clone 命令,后跟远程 repo 的 URL。

如何使用命令行在 HTTPS 上进行 Git 克隆

如果您使用的是私有存储库,系统会提示您输入远程托管服务凭据。

克隆之后,您可以将目录(cd <path>)更改到存储库中,开始在其中工作。有许多额外的标志可以在克隆时使用,比如命名本地目录、命名远程目录或检查分支。

然后,您将使用 Git clone 命令,后跟远程 repo 的 URL。

git clone <repository-url>

如何使用 GitKraken 客户端通过 SSH 进行 Git 克隆

如果在 GitKraken 客户机上使用 URL 通过 SSH 克隆,首先需要在 Git 客户机上配置 Git SSH。GitKraken 客户端有一个内置的 SSH 代理,使得使用 SSH 密钥(包括 GitHub SSH 密钥)变得非常容易。

您的 GitKraken 客户端 SSH 设置可以在Preferences > SSH下找到。在这里,您可以生成一个新的 SSH 密钥,指向一个现有的密钥,或者使用本地 SSH 代理来管理 SSH。

如果这是您第一次通过 GitKraken 客户端使用 SSH,您需要将 SSH 密钥添加到远程托管服务——在本例中是 GitHub。您只需从 GitKraken 客户端复制公钥,并将其添加到托管服务的设置部分。

克隆之后,您可以将目录(cd <path>)更改到存储库中,开始在其中工作。有许多额外的标志可以在克隆时使用,比如命名本地目录、命名远程目录或检查分支。

如何使用 GitKraken 客户端通过 SSH 进行 Git 克隆

完成这些步骤后,您将能够简单地提供 SSH URL 来用 GitKraken 客户端克隆远程存储库。

您的 GitKraken 客户端 SSH 设置可以在Preferences > SSH下找到。在这里,您可以生成一个新的 SSH 密钥,指向一个现有的密钥,或者使用本地 SSH 代理来管理 SSH。

有关在 GitKraken 客户端使用 SSH 的更多信息,请参见我们的 Git SSH 文档。GitHub 也为如何使用 SSH 提供了很好的指南。

如何使用 GitKraken 客户端在 HTTPS 上进行 Git 克隆

如果你用 GitKraken 客户端使用 URL 来克隆 HTTPS,你只需在提示时提供远程 URL。

有关在 GitKraken 客户端使用 SSH 的更多信息,请参见我们的 Git SSH 文档。GitHub 也为如何使用 SSH 提供了很好的指南。

在这里,您还将设置克隆的本地路径和本地存储库目录名。

如何使用 GitKraken 客户端在 HTTPS 上进行 Git 克隆

Git 克隆与 GitKraken 客户端集成

GitKraken Client 为以下远程存储库托管服务提供集成,使克隆和许多其他操作变得更加简单:

如下所示,您连接到 GitKraken 客户端帐户的每个主机服务集成将列出所有可用于克隆的远程存储库。

HTTPS 是 GitKraken 客户端的默认远程协议。在连接到您的远程存储库托管服务之后,在 HTTPS 上工作时,您将不需要填写凭据,因为集成使用 OAuth 或 PAT(个人访问令牌)进行身份验证。

GitKraken Client 为以下远程存储库托管服务提供集成,使克隆和许多其他操作变得更加简单:

对于这些集成中的每一个,您都可以快速创建一个 SSH 密钥或指向一个现有的密钥。生成一个 SSH 密钥会自动将它添加到托管服务中,不再需要从一个平台手动复制它并将其添加到另一个平台。

您可以通过导航至Preferences > Integrations随时管理您的 GitKraken 客户端集成。在这个例子中,您可以看到 GitKraken 客户端正在创建一个 GitHub SSH 密钥。

HTTPS 是 GitKraken 客户端的默认远程协议。在连接到您的远程存储库托管服务之后,在 HTTPS 上工作时,您将不需要填写凭据,因为集成使用 OAuth 或 PAT(个人访问令牌)进行身份验证。

或者,如果您想指向一个现有的 SSH 密钥,您可以通过单击将公共 SSH 密钥添加到托管服务中。

对于这些集成中的每一个,您都可以快速创建一个 SSH 密钥或指向一个现有的密钥。生成一个 SSH 密钥会自动将它添加到托管服务中,不再需要从一个平台手动复制它并将其添加到另一个平台。

测试你的新技能,并使用这个指导性的 GitHub repo 练习用 GitKraken 克隆一个库。

常见问题

问:如何克隆 Git 存储库

答:如果您想要克隆一个现有的 Git 存储库,请在您喜欢的代码托管服务(如 GitHub 或 GitLab)上导航到您想要克隆的 repo,并选择 clone with SSH 或 HTTPS。

问:如何克隆 Git

答:Git 是一个分布式版本控制软件,允许你跟踪项目。您不太可能会遇到想要克隆 Git 本身的情况。相反,使用 Git,您可以通过 SSH 或 HTTPS 从 GitHub、GitLab 等托管服务中克隆一个存储库。如需更多高级克隆选项,如使用 Git clone-shared、Git clone-no check out 等,请访问 Git SCM

测试你的新技能,并使用这个指导性的 GitHub repo 练习用 GitKraken 克隆一个库。

Practice Cloning

GitKraken 客户端使 Git 克隆更容易

你的 Git 投资组合越多,管理你的远程回购库就越难。GitKraken Git client 可以帮助您组织来自多个托管服务的远程信息,让您能够快速找到并克隆您需要的回购。

问:如何克隆 Git 存储库

答:如果您想要克隆一个现有的 Git 存储库,请在您喜欢的代码托管服务(如 GitHub 或 GitLab)上导航到您想要克隆的 repo,并选择 clone with SSH 或 HTTPS。

问:如何克隆 Git

答:Git 是一个分布式版本控制软件,允许你跟踪项目。您不太可能会遇到想要克隆 Git 本身的情况。相反,使用 Git,您可以通过 SSH 或 HTTPS 从 GitHub、GitLab 等托管服务中克隆一个存储库。如需更多高级克隆选项,如使用 Git clone-shared、Git clone-no check out 等,请访问 Git SCM

A: Git is a distributed version control software that allows you to track projects. It is unlikely that you will run into a situation where you would want to clone Git itself. Instead, using Git, you can Git clone a repository from a hosting service like GitHub, GitLab, and others via SSH or HTTPS. For more advanced cloning options like using git clone –shared, git clone –no checkout, and more, visit Git SCM.

GitKraken 客户端使 Git 克隆更容易

你的 Git 投资组合越多,管理你的远程回购库就越难。GitKraken Git client 可以帮助您组织来自多个托管服务的远程信息,让您能够快速找到并克隆您需要的回购。

The more your Git portfolio grows, the harder it will be to manage your library of remote repos. The GitKraken Git client can help organize your remotes from multiple hosting services, giving you the ability to quickly find and clone the repo you need.

基于 Git 的 CMS 与 API 驱动的 CMS

原文:https://www.gitkraken.com/blog/git-cms-vs-api-cms

内容管理正转向两种无头选项:基于 Git 的和 API 驱动的。Headless CMS 解决方案允许开发人员轻松地编辑和管理内容,同时仍然使用他们熟悉和喜爱的前端和后端工具和平台。这些基于 Git 和 API 驱动的 CMS 解决方案为开发人员提供了一种新的方式来加快 CI/CD 流程,而不会影响产品质量。

Git 是初学者和经验丰富的软件开发人员的必备工具。根据我们最近的调查,95%的受访者在他们当前的项目中积极使用 Git。因此,基于 Git 的 CMS 可以对开发人员和团队产生巨大的影响。希望学习 Git 并快速发展可行的技能吗?查看我们学习 Git 的顶级资源。

但是 API 驱动的 CMS 对于新老开发者也有优势。基于 Git 的 CMS 充当 Git 之上的一层,直接与 Git 存储库交互,而 API 驱动的 CMS 使用户能够选择他们想要使用的框架和语言。哪个适合你?让我们讨论一下每种类型的优点、缺点、好处和挑战,这样你就可以决定哪种最适合你。

什么是无头 CMS?

像 WordPress 和 Drupal 这样的传统 CMS 被构建在一个单一的 web 优先的应用程序中,具有后端和前端功能。由于全球注册了超过 3 . 6 亿个域名,传统的 CMS 通常足以满足初露头角的开发者和那些几乎没有编码知识的人的需求。

像 WordPress 和 Drupal 这样的传统 CMS 被构建在一个单一的 web 优先的应用程序中,具有后端和前端功能。由于全球注册了超过 3 . 6 亿个域名,传统的 CMS 通常足以满足初露头角的开发者和那些几乎没有编码知识的人的需求。

图像来源

图像来源

无头解决方案为专业开发人员提供了对其实现的更多控制,并使团队能够创建更加一致的 CI/CD 管道。它还使团队能够跨多个前端重新调整内容的用途。Headless CMS 将内容管理与前端表示层分离,因此开发人员可以交付应用和网站之外的内容。

基于 Git 的内容管理系统

当使用基于 Git 的 CMS 时,开发人员实际上是在使用已经保存到他们的存储库中的文件。基于 Git 的 CMS 解决方案的行为就像 Git 之上的一个层,直接与 Git 存储库交互。一些最流行的基于 Git 的 CMS 包括林业公共散文,但是还有更多可供选择。

基于 Git 的内容管理系统

图像来源

在我们深入探讨好处和挑战之前,让我们从高层次上看一下使用基于 Git 的 CMS 的利弊:

赞成的意见

内容的完整版本控制

内容以平面文件的形式存在,因此开发人员可以使用他们常用的工具

易于回滚

  • 基于 Git 的工作流的同质方法
  • 没有数据或带宽限制
  • 易于设置
  • 基于 Git 的 CMS 与 Git 存储库和开发人员已经在使用的工具无缝融合。因为它本质上是 Git 层之上的一层,所以除了写入代码的内容之外,实际上没有任何数据限制。
  • 骗局
  • 无法从使用相同 CMS 的多个应用程序和网站获取内容

有限的发布能力

不适合包含大量内容的网站

对内容格式的有限控制

存储库大小的限制意味着开发人员可能需要为媒体文件提供单独的服务

  • 无法从使用相同 CMS 的多个应用程序和网站获取内容
  • 尽管基于 Git 的 CMS 对于使用 Git 库进行开发的团队很有帮助,但是对于那些经常向他们的项目发布大型媒体文件的团队来说,它可能会稍微复杂一些。此外,内容格式化严格受限于 Git,这意味着它不能跨多个演示提取内容。
  • 基于 Git 的 CMS 的优势
  • 现在我们已经了解了一些基础知识,让我们了解更多关于使用基于 Git 的 CMSs 的好处。
  • 多对象版本控制

传统的 CMS 平台在其构建能力方面受到限制。有限的版本意味着传统的解决方案必须维护繁琐的数据结构或跟踪单对象图。对于普通开发人员来说,有限的版本控制并不是一个障碍。

基于 Git 的 CMS 的多对象版本控制给组织带来了优势。在基于 Git 的解决方案的支持下,它允许在文件级别跟踪特定的内容变化。因为所有内容都存储为平面文件,所以可以很容易地从测试环境转移到开发和生产环境以及系统之间。

分布式存储库和分支

有了基于 Git 的 CMS,分布式版本管理和工作流管理都得到了简化。传统的 CMS 要求开发者直接在 CMS 中工作。但是基于 Git 的 CMS 开发人员可以在本地工作,并且仍然可以在 CMS 中进行修改。开发人员不用被迫使用中介工具,仍然可以不受限制地使用他们日常使用的工具。

通过分支,团队可以创建无限的阶段环境和预览,以可视化开发过程,并使团队工作更加容易。开发人员和作者可以使用基于 Git 的 CMS 来完成这一切。他们可以尝试新的功能,对网站进行重大改进,并管理内容分发。

所有权

最后,开发人员使用基于 Git 的 CMS 的最后一个主要好处是所有权。内容数据都存储在本地存储库文件中,因此默认情况下,开发人员是内容的唯一所有者。这意味着开发者可以自由地将内容从 CMS 转移到 CMS,而不会产生法律后果。事实所有权解决了许多常见的 Git 错误,这些错误是经验丰富的专业人员和新手开发者在传输和分发内容时经常犯的。

基于 Git 的 CMS 面临的挑战

基于 Git 的 CMS 允许开发人员处理他们的内容,但也有一些挑战需要注意。

基于 Git 的 CMS 中的关系

关系对于建模和检查内容非常重要。与当前基于 Git 的 CMS 解决方案相关的主要问题是,如果不加强监督和定期维护,它们往往太简单,容易出问题。

通过分支,团队可以创建无限的阶段环境和预览,以可视化开发过程,并使团队工作更加容易。开发人员和作者可以使用基于 Git 的 CMS 来完成这一切。他们可以尝试新的功能,对网站进行重大改进,并管理内容分发。

搜索引擎优化的特殊措施是必需的

SEO 对于在线品牌来说也是一个至关重要的因素,但是 Git 没有提供任何具体的支持来帮助改进技术 SEO。使用基于 Git 的 CMS 的开发人员想要提高他们的在线可见性,需要生成站点地图,有效地使用元标签,开放图形标签,以及使用移动友好的主题。

GitHub 不运行插件

开发人员在使用基于 Get 的 CMSs 时遇到的最大问题是 GitHub 不运行插件。虽然许多用 Git 编码的开发人员意识到了这一限制,并推出本地生成的内容来定制某些功能,但这确实会推迟发布时间。

API 驱动的 CMS

API 驱动的 CMS 是另一种通过 API 提供内容的无头 CMS。这允许开发人员将内容与表示完全分离。这意味着数据是结构化的,但如何处理这些内容取决于您自己。一些最流行的 API 驱动的 CMS 包括 PrismicGhostStrapi 。但是正如基于 Git 的 CMSs 一样,有许多 API 优先的解决方案可供选择。

图像来源

关系对于建模和检查内容非常重要。与当前基于 Git 的 CMS 解决方案相关的主要问题是,如果不加强监督和定期维护,它们往往太简单,容易出问题。

以下是使用 API 驱动的 CMS 的利与弊的简要概述:

赞成的意见

在不同的应用程序和网站之间分发相同的托管内容

能够在多个前端使用内容

大多数是完全可定制的

轻松处理大量数据

包括资产管理功能

骗局

未集成到开发人员工作流中

存储和使用限制

重大变更严重依赖开发人员

API 驱动的 CMS 的优势

正如您所看到的,API 驱动的 CMS 比基于 Git 的 CMS 拥有更多的特性,但是对于某些实现来说,缺点可能大于优点。让我们仔细看看使用 API 驱动的 CMS 的好处。

现有生态系统

API 驱动的 CMS 解决方案越来越受欢迎的原因之一是它们与现有的生态系统集成得很好。最佳解决方案还通过使用 API 中适当的端点来帮助团队实施最佳实践并最小化错误。这意味着开发人员可以自由地集成 CRM、分析和自动化等工具,并随时删除它们。通过这种方式,一旦客户情绪发生变化,品牌就可以改变他们的数字体验和平台。

  • 在不同的应用程序和网站之间分发相同的托管内容
  • 通过几种不同的设备接触消费者
  • API 驱动的 CMSs 还使组织能够连接到几个不同设备上的消费者。平板电脑、智能手机和其他支持物联网的设备正变得越来越普遍,因为它们通常比电脑和个人电脑便宜。但传统的 CMS 平台无法在设备层面提供定制化的体验。然而,当 API 被开发用于特定的接触点时,API 驱动的 CMSs 可以,使得定制实际上是无限的。
  • 更快的内容再利用
  • API 驱动的 CMS 将内容存储在一个中心位置,使其易于传递到任何渠道。内容创建者可以创建一个内容片段,然后使用 CMS 将其重新用于新的渠道、不同的设备和不同的受众。这对于采用全渠道营销方式、以数字为先的公司来说是一个巨大的优势。它节省了时间,并且消除了为每个频道创建全新内容的需要。

API 驱动的 CMS 面临的挑战

API 驱动的 CMS 有很多好处,但是也有一些挑战,开发者应该小心。

  • 过于依赖网络开发人员
  • API 驱动的 CMS 解决方案严重依赖开发人员来创建定制的前端。这意味着团队需要做更多的工作,并且需要改进营销和开发团队之间的沟通。
  • 内容预览是个问题

API 驱动的 CMS 并不总是允许开发者在内容发布前预览内容。后端编辑器允许内容创建者将他们的内容直接输入到 API 中,但是在没有从用户的角度看到页面行为的情况下发布内容是具有挑战性的。这给错误留下了很小的空间,因此开发人员和创建者必须确保他们正在进行准确的更改。

费用

API 驱动的 CMSs 可能比传统的和基于 Git 的 CMS 解决方案更昂贵。即使开源 API 驱动的 CMS 也需要组织支付基础设施成本,如托管和 cdn,人员成本,如开发人员和质量保证工程师,以及生产成本,如维护和安全。

基于 Git 的 CMS 与 API 驱动的 CMS

关于基于 Git 的 CMS 和 API 驱动的 CMS,没有一个比另一个更好。这完全取决于您作为开发人员的需求、您所工作的团队的才能,以及您的客户所期望的产品结果。如果你独自工作或者和一个固定的团队一起工作,做出选择会很简单。但是涉及的人员越多,就越困难。

许多组织和开发人员在时间紧张和最后期限临近时选择外包软件项目。在这种情况下,成本可能是一个重要因素。大多数自由软件开发人员要求 150-275 美元一小时的报酬,这个价格会随着经验和专业知识而上涨。有许多不同价位的基于 Git 和基于 API 的 CMS 选项,因此您一定会找到一个符合您预算的选项。

然而,考虑你的内容是在两个选项之间做出决定的最好方法。这些无头 CMS 类型之间的主要区别在于内容的存储和使用方式。在决定哪种解决方案最适合您时,这是一个至关重要的驱动力。

如何选择

切换到无头 CMS 意味着在基于 Git 的解决方案和 API 驱动的解决方案之间做出选择。虽然每个项目都需要不同级别的定制,但是您的整个开发过程应该是相同的。如果您仍然试图决定哪个选项适合您和您的团队,请确保您有一个可靠的开发策略,该策略足够灵活以适应独特的项目需求,但又足够严格以提供 CI/CD 过程的结构。

扪心自问,我的技术水平如何?我的团队能有效地使用 API 工具吗?客户期望迭代多快?你最常用的存储库是什么?你的团队对各种编码语言的理解程度如何?现在再来看看这两种无头 CMS 选项的优缺点、好处和挑战。在您最终决定之前,在采用基于 Git 或 API 驱动的解决方案之前,请确保您理解了工具背后的技术。

API 驱动的 CMS 将内容存储在一个中心位置,使其易于传递到任何渠道。内容创建者可以创建一个内容片段,然后使用 CMS 将其重新用于新的渠道、不同的设备和不同的受众。这对于采用全渠道营销方式、以数字为先的公司来说是一个巨大的优势。它节省了时间,并且消除了为每个频道创建全新内容的需要。

API 驱动的 CMS 面临的挑战

API 驱动的 CMS 有很多好处,但是也有一些挑战,开发者应该小心。

过于依赖网络开发人员

API 驱动的 CMS 解决方案严重依赖开发人员来创建定制的前端。这意味着团队需要做更多的工作,并且需要改进营销和开发团队之间的沟通。

内容预览是个问题

API 驱动的 CMS 并不总是允许开发者在内容发布前预览内容。后端编辑器允许内容创建者将他们的内容直接输入到 API 中,但是在没有从用户的角度看到页面行为的情况下发布内容是具有挑战性的。这给错误留下了很小的空间,因此开发人员和创建者必须确保他们正在进行准确的更改。

费用

API 驱动的 CMSs 可能比传统的和基于 Git 的 CMS 解决方案更昂贵。即使开源 API 驱动的 CMS 也需要组织支付基础设施成本,如托管和 cdn,人员成本,如开发人员和质量保证工程师,以及生产成本,如维护和安全。

API-driven CMSs don’t always allow developers to preview content before it’s published. The back-end editor allows content creators to input their content directly into the API, but it’s challenging to publish content without seeing how the pages behave from the user’s perspective. This leaves little room for mistakes, so developers and creators must be sure that they are making accurate changes.

基于 Git 的 CMS 与 API 驱动的 CMS

关于基于 Git 的 CMS 和 API 驱动的 CMS,没有一个比另一个更好。这完全取决于您作为开发人员的需求、您所工作的团队的才能,以及您的客户所期望的产品结果。如果你独自工作或者和一个固定的团队一起工作,做出选择会很简单。但是涉及的人员越多,就越困难。

许多组织和开发人员在时间紧张和最后期限临近时选择外包软件项目。在这种情况下,成本可能是一个重要因素。大多数自由软件开发人员要求 150-275 美元一小时的报酬,这个价格会随着经验和专业知识而上涨。有许多不同价位的基于 Git 和基于 API 的 CMS 选项,因此您一定会找到一个符合您预算的选项。

然而,考虑你的内容是在两个选项之间做出决定的最好方法。这些无头 CMS 类型之间的主要区别在于内容的存储和使用方式。在决定哪种解决方案最适合您时,这是一个至关重要的驱动力。

如何选择

切换到无头 CMS 意味着在基于 Git 的解决方案和 API 驱动的解决方案之间做出选择。虽然每个项目都需要不同级别的定制,但是您的整个开发过程应该是相同的。如果您仍然试图决定哪个选项适合您和您的团队,请确保您有一个可靠的开发策略,该策略足够灵活以适应独特的项目需求,但又足够严格以提供 CI/CD 过程的结构。

扪心自问,我的技术水平如何?我的团队能有效地使用 API 工具吗?客户期望迭代多快?你最常用的存储库是什么?你的团队对各种编码语言的理解程度如何?现在再来看看这两种无头 CMS 选项的优缺点、好处和挑战。在您最终决定之前,在采用基于 Git 或 API 驱动的解决方案之前,请确保您理解了工具背后的技术。

However, considering your content is the best way to decide between the two options. The main difference between these headless CMS types is how content is stored and consumed. This is a crucial driving force when deciding which solution is best for you.

How to Choose

Switching to a headless CMS means making a choice between Git-based and API-driven solutions. While each project will require a different level of customization, your overall development process should stay the same. If you’re still trying to decide which option is right for you and your teams, make sure that you have a solid development strategy in place that is flexible enough to accommodate unique project requirements but rigid enough to provide structure for CI/CD processes.

Ask yourself, what is my skill level? Can my teams efficiently use API tools? How quickly do clients expect iterations? What repositories do you use the most? How well does your team understand various coding languages? Now take a second look at the pros, cons, benefits, and challenges of these two headless CMS options. And before you finally settle, be sure that you understand the tech behind the tools before landing on either a Git-based or API-driven solution.

如何修改 Git 提交消息| Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-commit-amend

我们都可以理解这种情况:您刚刚提交了更改,却发现在 Git commit 消息中拼错了一些内容。或者,您可能需要对另一个文件进行更改,该文件确实应该是提交的一部分。

当然,你可以让那句“teh”滑过去,或者只是用你忽略的改变再提交一次,但是来吧,你可以做得更好!幸运的是,Git 为如何撤销 Git 提交提供了几个选项,包括如何恢复提交,但是我们将先使用 GitKraken Git GUI,然后使用命令行来演练如何修改 Git 提交。

使用 GitKraken
修改您的最后一次提交和编辑提交消息既快速又简单

如何在 GitKraken 中修改提交消息?

使用 GitKraken 编辑您最近提交的消息非常简单。从中央图形中选择一个提交后,只需单击右侧提交面板顶部的消息开始编辑,然后单击Update message保存您的更改。

你如何修改你在 GitKraken 的最后一次犯下的错误?

在 GitKraken 中向最后一次提交添加新的更改的过程非常简单。不需要记住或运行任何命令。

暂存更改后,选中提交消息旁边的Amend旁边的框,然后单击Amend Previous Commit。在提交更改之前,您还可以在这里轻松编辑 Git 提交消息。

如何在命令行中修改 Git 提交?

是一个 Git 命令,专门用来保持语法的完整性和库的整洁。它将允许您编辑 Git 提交消息或更改您上次提交的内容。

如何在命令行中修改 Git 提交消息?

以下方法将使用更新的消息创建一个新的提交,替换以前的提交。要在命令行中更改 Git 提交消息,您将运行以下命令:

git commit --amend -m “new commit message”

在 GitKraken 中,您可以简单地从中央图中选择一个提交来查看相关的提交消息,而在终端中,您的可见性要低得多。如果您想在 CLI 中编辑之前看到 Git commit 消息,您可以去掉-m标志,只需键入:git commit --amend

但是请记住,使用这种方法需要在 VIM 中编辑提交消息,所以您需要键入i进入INSERT模式来更改消息,然后键入esc退出INSERT模式,然后键入:wq来保存您的更改并退出。

与 GitKraken 相比,在 CLI 中编辑 Git commit 消息至少需要四个额外的步骤。但是,嘿,谁在数呢。😉

如何在命令行中修改你的最后一次提交?

要将提交修改为仅包括 CLI 中的新更改,您首先需要将工作目录中的任何更改转移到新提交中。

要修改 Git 提交以包含新的更改而不更新提交消息,您将运行:

git commit --amend --no-edit

如果您想更改上次提交的内容并编辑 Git 提交消息,您可以传入-m标志而不是--no-edit

git commit --amend -m “new commit message”

借助适用于 Windows、Mac 和 Linux 的跨平台 GitKraken Git client ,为您的工作流程增加更多灵活性并修改 Git 提交,无论您是编辑 Git 提交消息还是修改上次提交。

如何编写一个好的 Git 提交消息| Git 最佳实践

原文:https://www.gitkraken.com/learn/git/best-practices/git-commit-message

在我们进入编写顶层 Git 提交消息的最佳实践之前,让我们先快速回顾一下 Git 中的提交是什么。

Git 提交是一种“记录对存储库的变更”的方式一个 Git 库是在。项目的 git 文件夹。简单地说,提交是本地存储库的快照。

将提交视为项目的检查点或保存点可能会有所帮助。在许多视频游戏中,在完成特定的动作或挑战后,会到达检查点并保存您的进度。类似地,Git 提交通常是在对项目做出重大贡献之后执行的,并且您希望保存您的进度。

从这个角度来看,很容易理解为什么“git commit”是最常用的 Git 命令之一。每次开发人员执行提交时,他们都可以选择编写所谓的提交消息。Git 提交消息用于解释提交的功能。

什么是好的承诺

如果通过快速查看以前的提交消息,您可以辨别每个提交做了什么以及为什么做出更改,那么您就在正确的轨道上。但是,如果您的提交消息令人困惑或杂乱无章,那么您可以通过这篇文章的帮助来改进您的提交消息实践,从而帮助您未来的自己和您的团队。 ****

例如,如果您在对项目的自述文件进行简单更新后提交,您可能会包含类似于以下内容的消息:“更新自述文件的标点符号”。现在想象一个 README 文件更新,包含以下任何提交消息:“更新标点符号”、“进行了修复”或“Chipotle 规则”。很容易看出这种类型的提交消息是如何失去控制的。虽然您可能会得到一两个跑题或不清楚的提交信息,但当它们开始累积后,很快就会回来困扰您和您的团队。在本文中,我们将介绍如何使用 GitKraken 客户端的 CLI 和 GUI 编写良好的 Git 提交消息,以及您可以应用于提交消息的提示和技巧,以改善团队沟通和存储库健康。尽管我们将引用的例子是在 GitKraken 客户端中,但是这些提示同样适用于 VS 代码用户。

例如,如果您在对项目的自述文件进行简单更新后提交,您可能会包含类似于以下内容的消息:“更新自述文件的标点符号”。现在想象一个 README 文件更新,包含以下任何提交消息:“更新标点符号”、“进行了修复”或“Chipotle 规则”。很容易看出这种类型的提交消息是如何失去控制的。虽然您可能会得到一两个跑题或不清楚的提交信息,但当它们开始累积后,很快就会回来困扰您和您的团队。在本文中,我们将介绍如何使用 GitKraken 客户端的 CLI 和 GUI 编写良好的 Git 提交消息,以及您可以应用于提交消息的提示和技巧,以改善团队沟通和存储库健康。尽管我们将引用的例子是在 GitKraken 客户端中,但是这些提示同样适用于 VS 代码用户。

GitKraken 客户端的提交图,在 CLI 和 GUI 中都可用,可以很容易地可视化引用您的提交和相关消息。

Git 提交工作流

在开始编写一流的提交消息之前,首先需要理解与 Git 提交相关的工作流。为了进行提交,开发人员必须:

更改

阶段变化

  1. 提交更改
  2. 进行更改包括添加、删除或更改本地分支上的任何内容。该分支上的任何更改都包含在所谓的工作目录中。
  3. 暂存更改意味着获取您已经更改的文件,并将它们移动到“准备提交”状态,称为暂存目录。您可能还会听到开发人员将临时目录称为临时区域或索引。您可以存放任意数量的文件,但请注意,多个文件存放在一起将共享相同的提交消息,这一点很重要。

这意味着您将希望确保所有的提交都以对您和您的团队有意义的方式相互关联。例如,可行的做法是,将一组文件集中在您正在处理的特定修补程序上。相反,如果每个文件关注于项目的完全不同的范围,那么存放多个文件是没有意义的。

正如我们所介绍的,提交是创建本地存储库快照的行为。这是开发人员保存工作的方式,也是一个常见的 Git 命令。

提交历史记录

一个项目中包含的所有提交的记录被称为提交历史,可以根据您使用的 Git 工具以多种方式访问。使用 GitKraken 客户端访问提交历史可以通过在内置 CLI 中运行git log来完成,或者通过简单地查看 GUI 的中央提交图来完成。

如果您使用 VS 代码,您可以利用 GitLens 在每一行代码上公开项目的提交历史,如下所示。快速识别与一行代码相关的提交消息以及作者信息的能力非常有价值。编写好的提交消息,清楚地解释代码做了什么,使得这个功能更加有用。

提交历史记录

使用 GitLens for VS Code 访问每一行代码中有价值的信息,包括作者信息、提交消息、差异视图等!

如果您使用 VS 代码,您可以利用 GitLens 在每一行代码上公开项目的提交历史,如下所示。快速识别与一行代码相关的提交消息以及作者信息的能力非常有价值。编写好的提交消息,清楚地解释代码做了什么,使得这个功能更加有用。

一个项目的提交历史对于你将来是有价值的,对于任何其他贡献代码的开发人员也是有价值的,因为它提供了关于项目中已经完成了什么的上下文。随着开发人员变得忙碌,已建立的项目文档往往会落后并变得陈旧。当这种情况发生时,许多开发人员转向提交历史来了解项目并识别最近的更新。有鉴于此,编写有意义且易于理解的提交消息变得更加重要。

Git 提交消息结构

Git 提交消息有两个主要组成部分:标题或摘要,以及描述。提交消息标题限于 72 个字符,描述没有字符限制。虽然这是既定的字符限制,但大多数开发人员建议提交消息摘要不要超过 50 个字符,描述不要超过 72 个字符。

最终,构造异常提交消息的技巧是在简洁和细节之间找到适当的平衡。简洁到易于阅读,但详细到易于理解。

Download GitLens Free!

一个项目的提交历史对于你将来是有价值的,对于任何其他贡献代码的开发人员也是有价值的,因为它提供了关于项目中已经完成了什么的上下文。随着开发人员变得忙碌,已建立的项目文档往往会落后并变得陈旧。当这种情况发生时,许多开发人员转向提交历史来了解项目并识别最近的更新。有鉴于此,编写有意义且易于理解的提交消息变得更加重要。

标准化 Git 提交消息结构

编写提交消息时,一致性是关键。无论您是独自工作还是与数百名贡献者合作开发一个开源项目,保持一致的风格并遵守既定的提交消息约定都是至关重要的。

建立标准化的提交消息结构有助于保持您的存储库干净、清晰,并使项目参与者更容易理解每个提交背后的目的。

如果您在团队中工作,项目负责人应该传达预期的提交消息指南。大多数开源项目在其文档中都有关于提交消息最佳实践的说明。如果您找不到清晰的文档,您可以查看提交历史,并根据过去的提交对您的消息进行建模。

诚然,遵循一个标准化的提交消息有时会令人感到乏味,但是现在花时间构建一个深思熟虑的消息不仅会在代码审查或项目审计期间节省你的时间,这是一个将你与你的同行区分开来的简单方法,并且受到项目经理的赞赏。

ProTip:一些团队在他们的提交消息摘要中包含一个类似于*的特殊字符,以表示在提交消息描述中写入了更多信息。

编写提交消息时,一致性是关键。无论您是独自工作还是与数百名贡献者合作开发一个开源项目,保持一致的风格并遵守既定的提交消息约定都是至关重要的。

想要撰写具有个人风格的精彩提交消息吗?GitKraken 客户端允许您在提交消息中使用表情符号!😍💥🦑

快速 Git 提交消息提示

您可以做一些事情来立即改进 Git 提交消息:

避免不必要的大写

仔细检查你的拼写

不要用标点符号结束提交消息摘要

不要用标点符号结束提交消息摘要

遵循这些简单的指导方针可以更容易地搜索和过滤提交,并使您的存储库看起来更具视觉吸引力。这些步骤不仅快速简单,而且你的团队成员也会感谢你。

您可以做一些事情来立即改进 Git 提交消息:

使用祈使句动词形式

  1. 帮助您编写好的 Git 提交消息的另一个最佳实践是使用命令动词形式。使用命令式动词形式可以确保提交消息中使用的潜在动词,如“fixed”或“updated ”,以正确的时态写成“fix”和“updated”。
  2. 这已经成为许多 Git 项目事实上的标准。确保您的消息符合标准的一种方法是应用公式:“如果应用,我的提交将…”您可以将此应用于示例:
  3. 如果应用,我的提交将(插入提交消息文本)

总结:

Add new Kief-the-kraken Keanu-Kief to keif gallery

描述:

这已经成为许多 Git 项目事实上的标准。确保您的消息符合标准的一种方法是应用公式:“如果应用,我的提交将…”您可以将此应用于示例:

吉拉集成问题 ID 或票证编号

在提交消息中包含附加上下文的一种方法是引用相关的吉拉问题 ID。虽然这不应该作为高质量提交消息的替代,但是添加吉拉 ID 可以帮助您团队中的其他开发人员引用关于您的提交地址的附加信息。

GitKraken Client Pro 用户可以利用吉拉集成开始在他们的工作流程中使用这种做法。

要使用 GitKraken Client Pro 编写与吉拉问题相关的提交消息,请按照以下步骤操作:

从左侧面板中选择JIRA ISSUES

找到您要参考的问题

标识问题 ID

GitKraken Client Pro 用户可以利用吉拉集成开始在他们的工作流程中使用这种做法。

要使用 GitKraken Client Pro 编写与吉拉问题相关的提交消息,请按照以下步骤操作:

提交与问题相关的更改,并编写一条 Git 提交消息,如下例所示:

  1. 总结:
  2. Update electron version to enable faster speeds <closes Jira Issue #123>
  3. 描述:
  4. Changes the abc in order to comply with xyz. See Jira ticket #123 for further details. paste issue link``

常规提交

传统的提交消息样式是另一种提升提交消息级别的方式。传统的提交结构包括用指定的提交类型开始提交消息。提交类型包括:

Feat–特征

Fix–错误修复

Docs–对自述文件等文档的更改

Style–样式或格式改变

Perf–提高代码性能

Test–测试一项功能

Test–测试一项功能

使用传统的提交方法,项目参与者可以轻松地筛选和搜索特定的提交,如下例所示:

总结:

Docs: Fixes typo on in-from-the-depths.md

描述:

Closes ticket #54321

Git 经常提交

另一个显著提高提交消息质量和效用的简单方法是更频繁地提交。首先,提交通常是一个好主意,因为它可以确保你的工作被保存,它还可以使你的提交信息简洁明了。

比方说,你已经完成了一整天的工作,但是还没有完成。精心制作一个清晰简洁的提交消息几乎是不可能的。

另一方面,如果您经常提交,很容易写出一个简单的提交消息,如下所示,它清楚地表达了这一点,而不会占用太多时间或过于冗长。

使用传统的提交方法,项目参与者可以轻松地筛选和搜索特定的提交,如下例所示:

Using the conventional commit method makes it easy for project contributors to filter and search for specific commits, as shown in the example below:

如何用命令行创建优秀的提交消息

要在 GitKraken 中使用 Git CLI 来使用您新发现的 Git commit 消息最佳实践,您首先需要从顶部工具栏中选择Terminal

描述:

Closes ticket #54321

现在,您需要从您的工作目录转移变更。运行git status是查看需要暂存的文件的好方法。从这里,您有两个选择:您可以使用git add <file name>暂存单个文件,这是通常推荐的,或者,您可以使用git add -all暂存工作目录中的所有文件。

另一个显著提高提交消息质量和效用的简单方法是更频繁地提交。首先,提交通常是一个好主意,因为它可以确保你的工作被保存,它还可以使你的提交信息简洁明了。

在 GitKraken 客户端中使用 CLI 的一个惊人优势是,您不必再次运行git status来确认您的文件是否被正确暂存。

GitKraken 客户端通过其著名的提交图和有用的提交面板,可以很容易地从视觉上确认预期的 Git 操作是否真正发生。提交图显示了项目的提交历史,而右侧的提交面板显示了文件从工作目录移动到暂存目录,最后到达提交消息的过程。

从这里开始,您可以通过使用git commit -m <Summary>或更详细的git commit -m <Summary> -m <Description>来应用您所学到的 Git 提交消息最佳实践。决定使用哪一个将取决于您的团队同意的标准化提交消息机制,或者项目的默认消息结构。

请记住,现在编写一个全面而详细的提交消息将在将来为您节省时间。

如何用命令行创建优秀的提交消息

如何使用 GitKraken 客户端编写一个好的提交消息

使用 GitKraken 客户端中的 GUI 编写提交消息很简单。首先从您的工作目录中暂存您想要提交的文件。您会注意到 GitKraken 客户端在 UI 右侧的“提交面板”中保存了一个工作目录中所有未暂存文件的列表。

如果您已经对工作目录中的多个文件进行了更改,但想要暂存一个特定的文件,请将鼠标悬停在文件名上,然后单击出现在文件名右侧的Stage File按钮。要准备您的所有更改,只需选择面板右上角的Stage all changes按钮。

当文件从提交面板的Unstaged Files部分向下移动到正下方的Staged Files部分时,您可以使用 GitKraken Client 轻松验证文件是否已暂存。

从这里开始,您可以通过使用git commit -m <Summary>或更详细的git commit -m <Summary> -m <Description>来应用您所学到的 Git 提交消息最佳实践。决定使用哪一个将取决于您的团队同意的标准化提交消息机制,或者项目的默认消息结构。

一旦您的文件被暂存,您就可以编写顶层提交消息了。导航到提交面板底部标记为Commit Message的部分,并选择Summary

这里,您有 72 个字符来总结您提交的目的,并应用本文中介绍的最佳实践。当您对提交摘要感到满意时,您可以选择下面的Description来提供额外的上下文。遵循您的团队或项目负责人制定的准则来填写详细描述。

当您对提交消息感到满意时,选择绿色的Commit changes to (#) file按钮。您可以通过参考中央提交图来验证您的提交是否成功。

使用 GitKraken 客户端中的 GUI 编写提交消息很简单。首先从您的工作目录中暂存您想要提交的文件。您会注意到 GitKraken 客户端在 UI 右侧的“提交面板”中保存了一个工作目录中所有未暂存文件的列表。

Composing commit messages is simple using the GUI in GitKraken Client. Start by staging the files from your working directory that you want to commit. You’ll notice that GitKraken Client keeps a list of all the unstaged files in your working directory in the “Commit Panel” located on the right side of the UI.

如何编辑 Git 提交消息

因为提交在 Git 工作流中非常常见,所以几乎可以肯定的是,在某些时候,您需要知道如何编辑 Git 提交消息。要求您更改 Git 提交消息的最常见原因包括打字错误和添加澄清内容。

要在 GitKraken 客户端中编辑提交消息,只需选择提交,浏览提交面板,单击显示当前提交消息的框,进行必要的编辑,然后选择绿色的Update Message按钮。就这么简单!

要在命令行中更改提交消息,可以使用:

git commit --amend -m “new commit message”

这里,您有 72 个字符来总结您提交的目的,并应用本文中介绍的最佳实践。当您对提交摘要感到满意时,您可以选择下面的Description来提供额外的上下文。遵循您的团队或项目负责人制定的准则来填写详细描述。

您应该知道,您只能编辑最近的提交。这就是为什么确保仔细检查每个提交消息的拼写和格式如此重要。

更改与旧提交相关联的 Git 提交消息需要您恢复 Git 提交,,这是一个更加核心的选项。

因为提交在 Git 工作流中非常常见,所以几乎可以肯定的是,在某些时候,您需要知道如何编辑 Git 提交消息。要求您更改 Git 提交消息的最常见原因包括打字错误和添加澄清内容。

想要帮助您的团队实现更好的沟通和可见性吗?查看 GitKraken 客户端的团队功能,包括查看团队成员正在处理的文件、深度链接、预防性合并冲突工具和灵活的许可管理。

高质量 Git 提交消息=以后节省时间

应用这些 Git 提交消息最佳实践将有助于提高您浏览项目历史、理解变更的能力,并为项目的未来提供有用的指导。编写全面的提交消息不一定是乏味的或者不合理的耗时。另外,像 GitLensGitKraken Client 这样的工具可以帮助你以直观和不引人注目的方式获得编写高质量提交消息的好处!

git commit --amend -m “new commit message”

git commit --amend -m “new commit message”

您应该知道,您只能编辑最近的提交。这就是为什么确保仔细检查每个提交消息的拼写和格式如此重要。

更改与旧提交相关联的 Git 提交消息需要您恢复 Git 提交,,这是一个更加核心的选项。

Changing the Git commit message associated with an older commit requires you to revert a Git commit, and is a much more nuclear option.

想要帮助您的团队实现更好的沟通和可见性吗?查看 GitKraken 客户端的团队功能,包括查看团队成员正在处理的文件、深度链接、预防性合并冲突工具和灵活的许可管理。

Want to help facilitate even better communication and visibility for your team? Check out GitKraken Client’s team features including the ability to see which files your team members are working on, deep linking, preventative merge conflict tool, and flexible license management.

高质量 Git 提交消息=以后节省时间

应用这些 Git 提交消息最佳实践将有助于提高您浏览项目历史、理解变更的能力,并为项目的未来提供有用的指导。编写全面的提交消息不一定是乏味的或者不合理的耗时。另外,像 GitLensGitKraken Client 这样的工具可以帮助你以直观和不引人注目的方式获得编写高质量提交消息的好处!

Applying these Git commit message best practices will help improve your ability to navigate your project’s history, understand changes, and provide useful direction for the future of your project. Writing comprehensive commit messages doesn’t have to be tedious or unreasonably time consuming. Plus, tools like GitLens and GitKraken Client are here to help you capture the benefits of writing high-quality commit messages in intuitive and unobtrusive ways!

7 个(致命的)常见 Git 错误以及如何修复它们

原文:https://www.gitkraken.com/blog/git-common-mistakes

Git 是一个版本控制系统,被世界上绝大多数开发人员使用。Git 是由 Linux 大师 Linus Torvalds 开发的,自 2005 年以来已经对公众开放,并使开发人员的生活变得更加容易。

有了 Git,团队工作和文件协作变得更加容易,它有助于更快地开发软件产品。不再强制团队中的每个程序员处理不同的文件;他们可以在同一时间处理相同的文件,最终, Git 合并他们的更改而不影响其他人。Git 帮助开发人员跟踪他们代码库的版本,并有效地与不同的团队成员协作,以实现软件产品的无错误交付。

当然,在这些情况下协作, Git 合并冲突可能会发生。使用健壮的 Git 工具,像 GitKraken 客户端,可以把你团队的 Git 工作流程带到下一个层次。当两个团队成员同时处理同一个文件时,预测性合并冲突警报等功能会通知您,以便您可以在冲突发生之前先发制人地避免冲突。

虽然 Git 很常见,但它有许多功能——不仅仅是准备、提交和推送对远程 Git 库的更改。Git 实际上非常强大,但是许多开发人员不知道如何利用它提供的所有特性。

很多人害怕在 Git 中犯错误,因为他们没有很好地理解它。每天,开发人员都会对代码库进行大量的修改,因此很难跟踪每一个修改并有效地提交它们。

同时处理多项任务也很容易出错。如果您是一名在 Git 中犯常见错误的开发人员,本文将教您如何不惊慌地修复它们。另一方面,如果你是一名工程经理,想要雇佣远程开发人员,这是与你的团队分享的一个很好的资源,这样他们就能理解这些错误和解决方案。

1.意外删除文件

在 Git 中意外删除文件是很常见的错误。例如,在进行功能升级时,开发人员通常认为有些文件是不需要的,在这种预期下,他们会在文件的需求到期之前将其删除。

如果您不小心删除了 Git 中的一个文件,您可能会认为自己犯了一个不可挽回的错误。但是不用担心;Git 对文件非常慷慨。它总是跟踪存储库中添加或删除的文件。这意味着您只需一个 Git 命令就可以取回您的文件。或者,你可以使用 GitKraken 客户端中神奇的撤销按钮。

“@GitKraken 刚刚在一次丢弃所有后救了我。”–@ QiMata

如果您不小心删除了 Git 中的一个文件,您可能会认为自己犯了一个不可挽回的错误。但是不用担心;Git 对文件非常慷慨。它总是跟踪存储库中添加或删除的文件。这意味着您只需一个 Git 命令就可以取回您的文件。或者,你可以使用 GitKraken 客户端中神奇的撤销按钮。

为了更好地理解,我们假设,例如,您已经从 Git 存储库中删除了 404.html 文件。要取回文件,您可以在您选择的终端中键入以下命令。

git checkout HEAD 404.html

一旦您运行了上面的 Git checkout 命令,您将获得您的存储库的 404.html 文件的最新提交版本。如果您使用 Git status 命令检查存储库的状态,您将看到 404.html 不再位于 deleted files 下。现在可以在代码编辑器中对其进行修改。

GitKraken 客户端为用户提供了一个 CLI 和 GUI,因此开发者可以为他们的工作流程选择最好的工具。不再需要手动检查您的回购状态;GitKraken 客户端的图形会随着操作的完成而自动更新,因此您可以立即确认事情是否按预期运行。

2.推送未完成的代码

作为一名开发人员,您经常会最终致力于需要极快交付的重要功能,或者困扰用户并需要快速解决的生产 bug。在这种高压力的情况下,您可能会忘记切换您的工作 Git 分支,并最终将文件提交到主分支。

将未完成的代码推送到远程主分支可能会对团队工作流的 CI/CD 和部署部分造成严重破坏。

如果您最近将您的代码推送到一个远程主分支,如果您将远程分支的先前版本与您的本地分支同步,您可以恢复这些更改。您可以使用下面的命令获取远程分支的旧版本。

git reset - -hard <remote_branch>/<branch>@{1}

在这个上下文中使用的 Git reset 命令将使用主分支的本地历史的最后工作版本来重置和更新您的远程分支。如果您想保护这个分支免受这样的直接提交,您也可以在您的远程 Git 存储库中使用下面的设置,并将其与本地同步。

git config --system receive.denyNonFastForwards true

3.可怜的 Git 提交消息

编写好的提交消息对于拥有一个每个人都能理解的更好的代码库是必不可少的。提交消息对于任何查看代码的人来说都是不言自明的。诸如“已修复”、“已编辑”等消息。,没有任何附加的上下文就没有任何作用。

许多开发人员在快速工作时犯了添加糟糕的提交消息的错误,最终,他们希望他们已经编写了更好的提交消息,不仅仅是为了他们的团队成员,也是为了他们自己。

好消息是 Git 允许您随时编辑提交消息。要编辑提交消息,使用下面的 Git commit amend 命令:

git commit --amend

在终端中键入上述命令后,按 enter 键。这将打开一个文本编辑器,您可以在其中轻松编辑最后一条提交消息。

4.意外删除整个 Git 分支

在一个分支上工作很长时间,最后,在没有合并的情况下不小心删除了它,这听起来是开发人员最大的恐惧。但这并不像人们想象的那么重要。您只需从终端发出几个命令就可以恢复该分支。

为了完美地恢复分支,首先需要找到切换到被删除分支的提交。为此,可以使用 Git reflog 命令

获取提交和详细信息的所有日志条目。一旦您找到了提交,您可以使用下面的命令来恢复您删除的分支,这样您就可以合并并将其推送到远程分支。

git checkout -b <branch-name> <commit-id>

在上面的命令中,branch-name是您删除的分支名称,commit-id是您从 Git reflog 结果中确定的提交。

5.错误的 Git 提交

提交时出错是一个常见的 Git 错误,但也可能是毁灭性的。例如,您的提交可能会给您的代码库带来问题,或者与另一个变更发生冲突。

如果错误通过了部署阶段,这些错误会对生产构建造成不可估量的损害。但是如果你及早发现错误,你可以采取措施来补救。

通过使用下面的 Git revert commit 命令恢复到旧的提交来修复错误的提交:

git revert <commit-id>

在上面的命令中,commit-id是旧提交的提交 id,它具有更好、更稳定的代码版本。

6.Git 提交太多

Git 习惯于增量地跟踪代码库中的变更,但有时人们最终会进行太多的提交。这通常发生在你尝试新事物的时候,当事情开始起作用时,你在整个过程中不断地提交。

最后,当实验成功,并且您准备好提交到主分支时,您可能会留下许多带有不太清楚的提交消息的提交。这些提交会让其他开发人员很难理解你的代码。

在这种情况下,您可以求助于从终端压缩提交,然后将您的更改推送到远程。下面是将多个提交压缩为一个的过程。

5.错误的 Git 提交

首先,使用下面的命令签出到您想要合并的分支:

git checkout <branch-name>

接下来,使用以下命令:

git merge - -squash <branch-name-to-be-merged>

一旦执行了上面的两个命令,就会有一些需要解决的合并冲突。

7.忘记添加文件了

忘记添加文件是另一个常见的 Git 错误,可能会带来麻烦。有时您可能有不同的目录,如果您忘记在提交中添加一个重要的文件,您可能会得到一个糟糕的代码库。

要快速修复这个错误,可以使用下面的 Git add 命令:

git add <missed-file>

执行上述命令后,使用:

git commit - -amend

这将把文件添加到最后一次提交。

减少常见的 Git 错误

Git 是一个强大的工具,但是你只能通过学习更多关于 Git 的知识来利用它的所有好处。没什么好害怕的。Git 很复杂,但是一旦你学会了 Git ,你就不会对错误感到恐慌,并且会对你的工作流程更有信心。

不要担心犯这些常见的 Git 错误——您可以用几个命令来修复它们。

  1. 首先,使用下面的命令签出到您想要合并的分支:

GitKraken 客户端帮助所有技能水平的开发人员更好地理解 Git 操作,实现更自信的工作流,减少错误。今天就升级到世界上最流行的 Git 客户端——GUI 和终端!

  1. 接下来,使用以下命令:

git merge - -squash <branch-name-to-be-merged>

  1. 一旦执行了上面的两个命令,就会有一些需要解决的合并冲突。

7.忘记添加文件了

忘记添加文件是另一个常见的 Git 错误,可能会带来麻烦。有时您可能有不同的目录,如果您忘记在提交中添加一个重要的文件,您可能会得到一个糟糕的代码库。

要快速修复这个错误,可以使用下面的 Git add 命令:

git add <missed-file>

执行上述命令后,使用:

git commit - -amend

这将把文件添加到最后一次提交。

减少常见的 Git 错误

Git 是一个强大的工具,但是你只能通过学习更多关于 Git 的知识来利用它的所有好处。没什么好害怕的。Git 很复杂,但是一旦你学会了 Git ,你就不会对错误感到恐慌,并且会对你的工作流程更有信心。

不要担心犯这些常见的 Git 错误——您可以用几个命令来修复它们。

GitKraken 客户端帮助所有技能水平的开发人员更好地理解 Git 操作,实现更自信的工作流,减少错误。今天就升级到世界上最流行的 Git 客户端——GUI 和终端!

Git is a powerful tool, but you can only leverage all of its benefits by learning more about Git. There’s nothing to fear. Git is complex, but once you’ve learned Git, you won’t panic about mistakes and will feel more confident in your workflow.

Don’t worry about making these common Git mistakes–you can fix them with a few commands.

GitKraken Client helps developers of all skill levels better understand Git actions, enabling a more confident workflow with less mistakes. Level up today with the most popular Git client in the world – with a GUI and terminal!

Git 配置|配置您的用户名和电子邮件|了解 Git

原文:https://www.gitkraken.com/learn/git/git-config

Git config 是一个强大的 Git 命令,它允许你定制 Git 的工作方式,并优化它以适应你的工作流程。如下所示,Git 从缩小的文件列表中提取配置设置。下图中的每个配置级别都可以覆盖其上一级的配置设置。例如,Git config 全局设置会覆盖 Git config 系统设置,但不会覆盖 Git config 本地设置。

下载 Git 之后,大多数开发者会立即运行 Git config 命令来设置他们的用户名和电子邮件。之后,有成千上万种方法可以配置 Git 来适应特定的用例和工作流。

为了保持简单和信息丰富,我们将解释最常见的 Git 配置级别,包括 Git 配置系统、全局和本地,以及如何在命令行和 GitKraken 客户端中配置您的用户名和电子邮件。

目录

有了 GitKraken Client,您可以直接开始利用 Git 的强大功能,而不必下载或配置它。

Git 配置系统

Git 配置系统级别是最广泛的配置级别,包含整个计算机的配置信息。因为 Git config 系统配置是特定于计算机的操作系统的,所以大多数开发人员倾向于保留这个级别的默认配置设置。

要在终端中查看 Git 配置系统设置的完整列表,请运行:

git config –system –list

Git 配置全局

Git config 全局配置作为用户应用于您,存储在您的主目录中,并且可以覆盖 Git config 系统设置。与系统配置不同,开发人员定期定制 Git config 全局设置以适应他们的工作流。一些常见的 Git config 全局配置可用于设置您的用户名、电子邮件地址、默认编辑器、提交消息模板、终端颜色、自动更正等等。

要在终端中查看 Git 配置全局设置的完整列表,请运行:

git config –global –list

Git 本地配置

Git 配置本地级别包括特定于 Git 存储库的设置,并覆盖全局和系统级别的 Git 配置。开发人员经常使用 Git config local 命令来更新与他们的工作相关的用户名和电子邮件,这取决于他们所工作的存储库的类型。

我们将用 GitKraken 可爱的北海巨妖吉祥物 Keif 来演示这个过程。假设 Keif 的全球配置使用他们的工作邮箱: keif@kraken.sea 。这意味着 Keif 的所有 Git 提交都与 keif@kraken.sea 电子邮件相关联,除非它们运行 Git config 本地命令来更改特定 Git 存储库的相关电子邮件。

现在让我们假设 Keif 已经完成了当天的工作,现在他们想要为他们最喜欢的开源项目 GitLens 做贡献。Keif 不希望他们的工作电子邮件与他们在这个项目中的提交相关联,而是更喜欢使用他们的个人电子邮件:【steampunkkraken@cephalopod.com。为了确保他们对 GitLens 回购的贡献与 steampunkkraken@cephalopod.com电子邮件相关联,Keif 可以简单地运行以下命令:

git config --local user.email steampunkkraken@cephalopod.com

现在,Keif 对 GitLens 库的贡献将与他们更喜欢的个人邮件而不是工作邮件联系在一起。请记住,有了这个过程,Keif 在返回工作时将不必运行任何 Git config 命令,因为他们只更新了 GitLens 存储库的本地配置。

要查看 Git 配置本地设置的完整列表,请运行:

git config –local –list

Git 配置本地级别包括特定于 Git 存储库的设置,并覆盖全局和系统级别的 Git 配置。开发人员经常使用 Git config local 命令来更新与他们的工作相关的用户名和电子邮件,这取决于他们所工作的存储库的类型。

命令行中的 Git 配置用户名

现在您已经对不同的 Git 配置级别有了大致的了解,让我们来看看如何使用 Git config 命令来设置您的用户名和电子邮件。Git 要求在您可以利用它的所有功能之前建立用户名和电子邮件,所以在您下载 Git 之后立即解决这个问题是一个好主意。

要使用 Git config username 设置您的用户名,请导航到终端并运行:

git config --global user.name "Your Name"

要查看 Git 配置本地设置的完整列表,请运行:

命令行中的 Git 配置电子邮件

要使用 Git config email 在终端中设置您的电子邮件,请运行:

git config --global user.email youremail@example.com

git config --global user.name "Your Name"

值得注意的是,因为使用了全局级配置,Git 将使用您为您创建的每个后续 Git 存储库设置的用户名和电子邮件,除非您执行本地配置以逐个存储库地覆盖它。

命令行中的 Git 配置电子邮件

Git 将您的默认分支名称配置为 Main

2020 年,GitHub、其他托管服务和整个开发社区合作,将默认或初始分支名称从 master 改为 main。这反映了社会意识向更具包容性的术语的转变。阅读更多关于从主到主的变化。

要将默认分支名称从 master 更改为 main,请在终端中运行以下命令:

git config --global init.defaultBranch main

现在,每当您初始化一个新的 Git 存储库时,创建的第一个分支将被称为 main。

2020 年,GitHub、其他托管服务和整个开发社区合作,将默认或初始分支名称从 master 改为 main。这反映了社会意识向更具包容性的术语的转变。阅读更多关于从主到主的变化。

在命令行中显示 Git 配置

您可以通过在终端中运行 show Git config 命令来查看所有 Git 配置设置:

Git config –list –show-origin.

终端将按照我们之前讨论过的层次顺序返回您的 Git 配置设置,从系统级开始,缩小到全局和本地。

现在,每当您初始化一个新的 Git 存储库时,创建的第一个分支将被称为 main。

Git 客户端的 git 配置

使用 GitKraken Client ,您可以开始使用 Git 及其所有功能,而无需运行任何 Git config 命令。事实上,如果你使用 GitKraken 客户端,你根本不需要在你的机器上下载 Git。为了在不运行 Git config 命令的情况下在 GitKraken 客户端自定义您的用户名和电子邮件,请遵循以下步骤:

选择右上角的齿轮图标⚙️进入您的Preferences

在左侧面板中,点击Profiles

Profiles部分选择您姓名旁边的三个省略号,并从下拉菜单中点击Edit Profile

从这里您可以更新您的Author NameAuthor Email

您可以通过更新 GitKraken 客户端Preferences左侧面板中的选项来访问进一步的定制和配置设置。

用它来配置 Git

  1. 我们已经介绍了 Git config 命令的基本层次,并展示了一些开发人员如何使用这个命令定制 Git 的例子。如果你想深入了解更高级的 Git 配置选项,请访问官方 Git 配置文档。随着您对 Git 越来越熟悉,您将会遇到更多独特的方式来配置它以满足您的开发需求。GitKraken 客户端支持您独特的 Git 配置,但也允许您在根本不需要配置 Git 的情况下利用 Git,从而节省您的时间和精力。免费试用 GitKraken 客户端,让你的 Git 技能更上一层楼。
  2. 在左侧面板中,点击Profiles
  3. Profiles部分选择您姓名旁边的三个省略号,并从下拉菜单中点击Edit Profile
  4. 从这里您可以更新您的Author NameAuthor Email

您可以通过更新 GitKraken 客户端Preferences左侧面板中的选项来访问进一步的定制和配置设置。

用它来配置 Git

我们已经介绍了 Git config 命令的基本层次,并展示了一些开发人员如何使用这个命令定制 Git 的例子。如果你想深入了解更高级的 Git 配置选项,请访问官方 Git 配置文档。随着您对 Git 越来越熟悉,您将会遇到更多独特的方式来配置它以满足您的开发需求。GitKraken 客户端支持您独特的 Git 配置,但也允许您在根本不需要配置 Git 的情况下利用 Git,从而节省您的时间和精力。免费试用 GitKraken 客户端,让你的 Git 技能更上一层楼。

Git Config-gy with it

We’ve covered the basic hierarchy of the Git config command and shown a few examples of how developers use this command to customize Git. If you want to delve deeper into the more advanced Git config options, visit the official Git config documentation. As you become more familiar with Git, you’ll encounter more unique ways you can configure it to fit your development needs. GitKraken Client supports your unique Git configurations, but also allows you to leverage Git without having to configure it at all, saving you time and mental energy. Try GitKraken Client for free and take your Git skills to the next level.

Git 连续交付|将自动化引入 Git

原文:https://www.gitkraken.com/gitkon/git-continuous-delivery

https://www.youtube.com/embed/jlNfUO-NKb8?feature=oembed

视频

软件开发很难。承认这一点是可以的。编写代码非常困难,并且伴随着很大的压力,这使它成为一个压力非常大的职业。理想情况下,您应该总是在寻找减轻软件开发生活中日常痛苦的方法。一种方法是通过自动化,这正是 CircleCI 的 Angel Rivera 在 2021 Git kon Git conference 的演讲中所涵盖的内容。

软件的目的是什么?

安吉尔对目的问题的回答是“软件的存在是为了满足最终用户的需求。”这可以通过创建数字服务和解决方案来实现,这些服务和解决方案可以提供快速、可靠、一致和安全的结果,虽然这可以采取多种形式,但最终本质上来说,软件可以实现自动化。软件有助于具体对象和物理执行过程的数字表示,例如开灯或关灯,或者在某些情况下,在线购物和支付。

开发软件有很多方法和工具。像文本编辑器、编程语言和框架这样的工具是每个开发人员至少必须拥有的构建软件的工具。但是除此之外,开发人员必须学习许多概念和方法才能成功。有很多东西要学,而且常常感觉软件开发的工作是无止境的。

但是隧道的尽头有光;开发人员可以采用一些工具、概念和实践来减少软件开发中最困难和最乏味的部分。

GitKraken Client 是为满足用户需求而发展的工具的完美范例,具有交互式拉请求管理、合并冲突检测和解决、深度链接等高级功能。

Git 和连续交货

Git 和持续交付是一对很好的组合,当它们结合在一起时会提供巨大的价值。让我们先来看看 Git 在合作关系中扮演什么角色。

Git 是一个版本化工具,使开发者能够捕捉和版本化代码变更。Git 因为占用空间小和分布式架构,很受开发者欢迎。有了 Git,可以在隔离的 Git 分支中开发变更;这有助于防止不需要的代码或错误被引入到生产中。Git 为我们提供了一种安全地试验代码的方法,并有助于减少错误。但是如果确实出错了,Git 可以很容易地将代码库恢复到安全状态。

手工 Git 开发流程和代码评审

使用 Git 的典型开发人员工作流程如下所示:

  • Git 将下载到他们的本地环境中。
  • 您在开发环境中本地修改代码,处理特性或修复 bug。
  • 当你到达一个里程碑时,你 Git 提交那些本地代码变更。
  • 您将这些代码更改推送到上游分支,也许是推送到 GitHub 上的 repo。
  • 其他开发人员开始手动代码审查过程。

手动代码审查过程意味着开发团队需要有人阅读和审查被提议或提交的代码变更,然后再将它们合并到产品级分支中。其他开发人员仔细检查代码,看是否有已知的 bug、错误以及是否符合编码标准。

手动代码审查是有帮助的,并且比仅仅相信如果它在本地工作,它将在生产中工作要好得多,但是手动代码审查在时间和资源方面也是非常昂贵的。由于是人在审查代码,这个过程很容易出现人为错误。

手动代码审查过程的另一个关注点是审查有问题的代码,或者甚至开始审查要花多少时间。开始审查提交的代码可能需要一个小时、一天、一周、一个月甚至更长的时间。完成审查可能需要更长的时间。如果评审人员发现任何缺陷、错误或错误,代码就会被拒绝,提交代码的开发人员必须重新开始这个循环。与此同时,项目中可能会引入其他变化,从而进一步增加复杂性。

CircleCI 估计,平均一个开发者的时间成本大约为每分钟 1.42 美元。算一算,一个普通的代码审查大约需要 120 分钟,在一些团队中,可能有 10- 20 个开发人员参与。这一切很快变得非常昂贵。

持续集成和持续交付原则

控制代码开发和评审成本意味着使代码评审过程更加高效。持续集成和持续交付(CI/CD)实践提供了一条通过自动化使任何工作流更加高效的途径。核心上,CI/CD 本质上是使用自动化工具构建、测试和交付代码和用户环境变更的实践。

CI/CD 为我们提供了可以在软件开发团队中采用和实现的原则。在 Git 的上下文中,持续交付和持续集成原则通常意味着开发人员将经常提交代码到共享的代码库中,并在每次提交时测试代码。

更快的反馈循环

CI/CD 为开发人员提供了更快的反馈回路。因为您不需要等待人工时间管理来开始评审过程,您可以在几分钟甚至几秒钟内发现您的代码是否合格。这种快速的反馈循环让你尽可能快地修复代码中的错误,最终减少代码变更到达最终用户的时间,实现软件的目标。

共享存储库

Git 在这里起着核心作用。持续集成的核心原则之一是将团队中每个开发人员的所有工作副本合并到一个共享的代码库中。Git 让开发人员可以自由地在本地工作,在不妨碍其他用户的情况下,尽可能多地试验他们需要的分支。当您的代码准备好了,Git push 就是将他们的更改集成到共享存储库中所需要的一切。

有了 GitKraken 客户端,像推和拉这样的操作只需点击一下。拖放操作可以从可视化的、易于阅读的提交图中推送和拉出更改,或者在 Git 增强的终端中使用自动完成命令。

部署自动化

持续交付和持续部署的另一部分是自动将新软件版本部署到目标环境的实践。不仅是最终用户将与代码交互的生产环境,还有测试和试运行环境。在测试环境中,可以部署测试工具来检查错误或其他问题,安全地远离其他环境。

CI/CD 的所有原则确实依赖于自动化来使它们有效。正是自动化通过定义和执行软件交付实践或过程,将这些原则转化为现实。

CI/CD 管道& CircleCI

将 CI/CD 的这些原则转化为现实的一个途径是采用和实现一个持续的交付平台,如 CircleCI ,并建立 CI/CD 管道。

管道本质上是一组需要针对代码执行的东西,以确保代码得到正确测试。当然,管道需要测试代码是否正确编译,以及工件或二进制文件是否如预期的那样输出。但是还有很多其他的东西可以测试,比如安全扫描或者吞吐量测试。无论您在软件开发评审过程中需要做什么,您都可以在 CI/CD 管道中使用 CircleCI 来实现自动化。

下图显示了 CircleCI 平台中 CI/CD 管道的视觉效果。

这是 Angel 所谓的“快乐之路”的一个例子,在自动化代码审查过程中,一切都是正确的:

  • 代码从本地开发环境被推送到共享分支。
  • CircleCI 检测这些变化,然后测试代码。
  • 所有测试都通过了,CircleCI 中的事务和构建工作也通过了。
  • 最后,变更被推送到主分支,准备在下一个发布周期中传播。

当然,并不是每条路都是幸福的。让我们看一下使用自动化的相同过程,以及当它失败时会是什么样子。

在这种失败的情况下:

代码从本地开发环境被推送到共享分支。

三项测试中有两项失败。

  • 构建了 Docker 映像,但是没有部署代码。
  • 一旦系统检测到故障,它就通知开发人员这个问题。
  • 开发人员开始修复问题,然后再次运行整个过程。
  • Once the system detects the failure, it notifies the developer of the problem.
  • 自动化程度更高,手动问题更少

手工过程存在于每个开发周期中,但是有很多你可以并且应该自动化的。减少代码评审过程中所涉及的人力资源是一种有助于加速发布周期时间和增加代码可靠性的方法。CI/CD 还意味着更快的反馈循环,因为测试和审查代码在每次提交和推送时都会自动进行。

另一个好处,也许不太明显,是 CI/CD 改善了围绕代码的整体协作,导致更好的团队协同。当团队能够在危险信号实际发生之前阻止或捕捉到危险信号时,他们会更有凝聚力。更少的错误意味着更顺畅的工作场景和更高的士气。

例如,让我们想象这样一种情况,两个不同的开发人员接触存储库中的相同文件。在他们开始编写代码之前,他们可以合作决定谁先编写代码的顺序,这有助于避免经常发生的 Git 合并冲突。从开发人员的盘子里拿走手动代码审查的时间,对于确保他们有足够的时间来有效地合作和计划有很大的帮助。

Another benefit, perhaps less obvious, is that CI/CD improves overall collaboration around code, leading to better team synergy. Teams function more cohesively when they can stop or catch red flags before they actually happen. Fewer errors mean smoother working scenarios and higher morale.

合适的工具和自动化 FTW!

点击此处,观看 Angel 在 CircleCI 中实现 CI/CD 管道的演示,自动化大部分代码审查过程。

无论你最终如何实施持续交付战略,它都始于与你的团队一致而清晰的沟通。GitKraken 客户端的团队功能可以帮助你深入了解你的团队是如何协作的。除此之外,g it 的使用变得更加简单和安全,同时 Git 的高级工作流使任何规模的团队的开发人员都可以使用。立即开始缩短部署和发布周期,并下载 GitKraken 客户端

The Right Tools and Automation FTW!

Click here to see Angel walk through a demo of implementing a CI/CD pipeline in CircleCI, automating much of the code review process.

No matter how you finally implement a continuous delivery strategy, it starts with consistent and clear communication with your team. The team features of GitKraken Client can help you get betting insight into how your team is collaborating. And that’s on top of making it much easier and safer to use Git, while unlocking the advanced workflows Git enables developers on teams of any size.  Start down the path of reduced deployment and release cycle times today and download GitKraken Client!

Git 数据和开发者快乐| GitKon 2022 | Bill Harding,GitClear

原文:https://www.gitkraken.com/gitkon/git-data-developer-happiness-bill-harding-git-clear

https://www.youtube.com/embed/PGCN5rQG-kM?feature=oembed

视频

近年来,人们一致强调提取和利用 Git 数据。随着这种新的关注,各种各样的公司开始兜售将 Git 数据与问题跟踪器相结合的能力,以提供“Git 分析”或“开发人员分析”

让我们来看看利用 Git 数据提高开发人员满意度的三大方法:

帮助开发人员提高工作效率

为了提高开发人员的幸福感,了解是什么让他们明显不开心是个好主意。那么,是什么让开发者感到不安呢?

许多人可能会提出工作与生活缺乏平衡、沟通问题、不明确的期望等问题。然而,根据 2022 年的一项调查显示,开发者最讨厌的就是没有效率。

没有人喜欢觉得自己的工作没有帮助或不受重视,开发人员当然也不例外。Git 数据可以用来弥合开发人员“完成工作”和看到他们的工作所贡献的价值之间的差距。

使用 Git 数据,管理人员可以在一个令人愉快的显示中创建每个开发人员的进度的可视化表示,从而为他们提供一个简单的方法来查看他们的进度并获得积极的肯定。

上图是 GitClear 的提交活动浏览器,这是一个免费的工具,可以可视化一个组织中所有回购的进度。您可以使用免费开源工具创建类似的结果。ioncabizau/git-stats是最流行的生成可视化的开源选项,可以每天更新以确认开发人员的生产力。

GitClear 最初构建提交活动浏览器是为了让新开发人员可以从他们的资深同事那里学习最佳实践。然而,他们很早就发现浏览器最常被初级和高级开发人员用来自我检查他们自己的工作。有趣的是,一个简单、丰富多彩的图表可以加强开发人员的努力工作,并提供开发团队经常缺乏的肯定。

进行更小的&更一致的代码评审

另一个导致糟糕的工作环境和不愉快的开发人员的实践是糟糕的代码审查。通过有意识地努力改进团队的代码审查,管理者可以有效地识别错误,捕捉漏洞,帮助表现不佳的队友,等等。

实话实说吧;审查代码不仅对开发人员没有吸引力,也不会让他们感到有生产力。解决办法?更频繁地评审较小的代码块。这种实践消除了开发人员数小时审查代码的需要,提高了代码审查质量,并帮助开发人员感觉更有生产力。

更多好消息?根据 GitClear 进行的一项研究,只有一小部分代码是真正重要的。事实上,他们确定只有 4.3%的代码行是有目的的、实质性的、有效的和独特的。

如果开发人员知道审查代码只需要他们审查 4%的重要代码,那么激励他们进行频繁有效的审查可能会容易得多。

根据 GitClear 进行的实证研究,大约 30%的代码被移动,这使得代码审查变得极其困难。通过利用工具–color-moved,开发人员可以轻松查看移动的代码,极大地提高代码审查和开发人员的满意度。访问–颜色移动的示例。

经常测试新想法

产品导向的开发团队通常会进行 A/B 测试来比较他们产品的不同变体。这些团队从每次测试中收集信息,并根据他们收集的数据做出决策。然而,对于这些团队来说,利用 A/B 测试来提高他们自己的开发人员的快乐和工作条件是很少见的。

就在几年前,许多开发人员还在争论在家工作的好处。开发人员还能在舒适的家中有效协作吗?管理人员如何确定这些远程员工最大限度地提高了他们的工作效率?回想起来,这似乎是显而易见的;2022 年,大多数人都会认为,在家工作的实验已经尘埃落定。这是一个可行的选择,而且在很多方面都更可取。在家工作一直是一种选择,但在 COVID 使之成为必要之前,很少有人决定对其进行 A/B 测试。

不要害怕改变

不要害怕冒险,在你的开发团队中测试新的过程、度量标准和实践。确定一个测量生产率的 Git stat,如提交或拉请求计数,并开始进行一些 A/B 测试。

一个警告:当选择一个指标时,确保开发人员明白他们的价值不是由这个指标来评估的,因为开发人员的生产力比任何一个 Git stat 所能描述的要复杂得多。

应用您的 A/B 测试和我们在本文中讨论的其他实践,您会对您的发现、您的团队能够完成的事情以及您对开发人员的满意度的提高感到震惊。

GitKraken 的 Git 工具套件旨在通过更好地理解项目历史来提高开发人员的幸福感,这样开发人员就可以对他们的工作流程更有信心,感觉更有生产力和价值。今天免费试用 GitKraken 的所有工具:桌面版的 GitKraken Client ,VS Code 版的Git lens,吉拉版的Git Integration

Git Diff | Learn Git

原文:https://www.gitkraken.com/learn/git/git-diff

Git 中的‘diff’是什么意思?diff 获取两个数据集,并向您显示它们之间发生了什么变化。数据集可以是文件、提交、分支等。

让我们向您介绍一下 diff 的概念以及使用健壮的 diff 工具的好处,就像在 GitKraken Git GUI 中提供的一样。

如果你正在寻找市场上最好的 Diff 工具,看看 GitKraken 提供的应用内 Diff 视图就知道了。

提交之间的 Git 差异

让我们看一个使用两次提交的例子;假设我们想看看在提交 1 和提交 3 之间发生了什么变化。

diff 将比较两次提交之间的差异,显示添加、删除或修改了哪些文件。

在本例中,提交 1 是基线。您可能还会注意到,差异看起来与提交 3 中的更改完全相同,这没有错!提交 1 和提交 3 之间的文字差异是由提交 3 引入的更改。

文件之间的 Git 差异

但是每个文件的差异呢?当检查每个文件的差异时,添加的文本行通常以绿色突出显示,或者用 + 符号表示。类似地,被删除的文本行通常会用红色突出显示,或者用符号表示。

文件比较可能是您理解什么发生了变化,以及它是如何变化的最有用的工具。

为什么要查看 Git 差异?

Diffs 以清晰的格式提供了关于存储库的有用信息,使得执行以下操作更加容易:

  • 暂存时检查更改。
  • 决定是重定基础还是合并。
  • 从文件中复制并粘贴代码。

让你对代码游戏更有信心。💥

GitKraken 中的 Diff 工具将帮助您做出更明智的决策,允许您以更低的风险执行更高级的 Git 操作,如 rebase。

Git kraken 中的 Git Diff 工具

让我们看看这一切是如何在 GitKraken Git GUI 中工作的。

如果您单击图形中的提交,GitKraken 会在右侧的提交面板中列出所有已更改的文件。

单击任何文件打开该文件的比较。添加到该文件中的行将显示为绿色,而删除的行将显示为红色。如果在同一行中添加和删除了代码,GitKraken 会一起显示。

大块、内嵌和拆分差异视图

默认情况下,GitKraken 的 Git diff 工具将显示在 Hunk 视图中,该视图以代码块的形式显示文件更改,有助于减少查看整个文件的噪音。

但是,您可以在内嵌视图分割视图之间切换,前者显示整个文件上下文中的更改,后者显示更改前后文件的外观。

暂存文件时查看 Git 差异

暂存文件时也可以使用这些选项。例如,尝试检查文件差异,并在内联分割视图之间切换,以做出最明智的提交。

GitKraken 的 Diff 工具使您能够在不同的视图之间切换,因此您可以准确地查看您的代码,以做出最佳决策。

分支之间的 Git 差异

在 GitKraken Git GUI 中,您还可以用 Git diff 做更多的事情。

在 GitKraken 的中间图形中,按住 Cmd/Ctrl 键选择两个分支的 head commit。在这里,您可以选择查看这两个分支之间的差异。

但是当你改变分支选择的顺序时会发生什么呢?当你尝试这样做时,你可能会看到已删除的文件显示为“已添加”,反之亦然。这是因为在查看 Git diff 时,方向很重要。因此,当您单击分支或提交差异的顺序时,请记住这一点。

自定义文本编辑器首选项

GitKraken 还允许轻松定制 Git diff 工具中可用的文本编辑器的首选项。只需导航到首选项编辑器首选项,在这里您可以定制您的 Git diff 工具首选项,用于语法突出显示、行数和自动换行。

什么该做,什么不该做

原文:https://www.gitkraken.com/blog/git-dos-donts

从旨在帮助软件开发人员集中精力编写代码的播放列表中进行选择。播放列表包括流行的音乐剧、视频游戏曲目、棕色噪音等等。

Git 下载|下载 Git for Windows & Mac |安装 Git for Linux

原文:https://www.gitkraken.com/learn/git/git-download

要开始使用 Git,首先需要为您的操作系统下载 Git。在本文中,我们将介绍如何为 Windows、Mac 和 Linux 下载 Git。您还将学习如何用您的身份配置 Git,这样您就可以开始您的第一个 Git 项目了。

为您的操作系统下载 Git

下载 Windows 版 Git

下载 Mac 版 Git

为 Linux 安装 Git

用你的身份配置 Git

Git 下载常见问题解答

关键词&资源

Git 是由 Linus Torvalds 在 2005 年创建的分布式版本控制系统(VCS) 。Git 用于跟踪项目中文件的变更,并允许用户恢复到他们项目的先前版本。Git 因为其分布式模型、分支、速度等等,迅速成为最流行的版本控制系统。

Git SCM——这是 Git 的官网。该资源提供了关于什么是 Git 的内容,关于如何使用 Git 的文档,以及与 Git 社区连接和联网的方法。

Pro Git Book–通常简称为“Git Book”,它包含对 Git 命令和功能的解释。Git 这本书非常详细,并且是用技术语言编写的,所以初学者可能会觉得它的材料有些混乱。随着您对 Git 的亲身体验,Git 手册中的内容会变得更容易理解,但是知道 Git 手册的存在是很重要的,因为在您下载 Git 之后,我们将使用它在您的机器上配置 Git。

Edward Thomson 在 GitKon Git 会议上的讲话提供了关于版本控制进展和 Git 历史的更多信息。

想在下载之前尝试使用 Git 吗?你可以用 GitKraken 客户端做到这一点!运行 Git 命令,试验 CLI,体验 Git 工作流,而无需下载 Git。

如何为 Windows 下载 Git

https://www.youtube.com/embed/j-g8AXr4nR4

VIDEO

要下载 Git for Windows,您首先需要导航到 Git SCM 上的 Git download for Windows 页面。接下来,您需要确定您的机器是 32 位还是 64 位。要确定您的机器是 32 位还是 64 位,只需在开始菜单(通常位于屏幕左下方)中键入32 or 64 bit,然后点击enter

这将在您的计算机上打开一个About菜单,并显示您的计算机是 32 位还是 64 位。接下来,选择与您的系统相匹配的选项—32-bit Git for Windows Setup64-bit Git for Windows Setup——开始 Git download for Windows 进程。

Git Windows 安装下载

当 Git 开始下载时,您会看到几个自动出现的设置选项。对于大多数设置选项,您可以简单地接受默认设置,只有一个例外。

通过初始设置选项选择Next,直到到达标题为Adjusting the name of the initial branch in new repositories的选项。

从这里,选择显示Override the default branch name for new repositories的选项,并在下面的文本框中输入main

这使得每当您创建一个新的存储库时,您的初始 Git 分支将被称为main而不是master。将您的默认分支机构名称更改为 main 是公认的技术行业标准。看看这篇文章,了解更多关于从主人到主的变化。

从这里开始,您可以通过选择剩余选项中的Next继续接受默认设置。当您看到一个Install选项时,您将知道您已经结束了设置选项。

选择Install,会出现一个状态栏,显示 Git 下载的进度。根据您的互联网连接,完成 Windows Git 下载可能需要 1-5 分钟。一旦 Git 下载状态栏被填充,您应该已经在您的计算机上为 Windows 下载了 Git。

验证您的 Windows Git 下载

要再次检查 Git 是否已经正确下载到您的机器上,导航到一个终端,比如 GitKraken CLI,并运行git –version。您的终端应该返回这条消息:git version #.##.#

恭喜你!现在您的 Windows 版 Git 下载已经完成,跳到本文的底部以获得配置 Git 的指南和加速您的 Git 知识的技巧。

如何下载 Mac 版 Git

https://www.youtube.com/embed/r3SgprWigBc

VIDEO

要在你的苹果电脑上下载 Git for Mac,导航到 Git SCM 上的 MacOS Git 下载页面。在下载 Git for Mac 之前,您首先需要安装 Homebrew。家酿是一个软件包管理器,它使安装和更新软件包变得容易。要安装自制软件,选择 Git SCM 页面顶部的自制软件链接。现在,从 Homebrew 页面中,复制标题下面的代码字符串Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

接下来,导航到您选择的终端,粘贴您从家酿页面复制的代码。这将自动开始在你的机器上安装家酿。

根据您的计算机设置,您可能需要在安装 Homebrew 之前输入您的计算机密码。当您的终端返回以下消息时,您就知道已经安装了 home brew:Installations successful

用自制软件下载 Mac 版 Git

一旦家酿安装完毕,导航回到 Git SCM 上的 MacOS Git 下载页面。从这里,复制在标题$ brew install git下找到的代码。将代码粘贴到你的终端,然后点击return;这将开始为 Mac 下载 Git。

一旦您的 Git 下载完成,终端将返回如下所示的消息:Summary 🍺  /usr/local/Cellar/git/#.##.#.。这只是一个 Homebrew 提供的下载摘要,告诉你你的 Git 下载成功了,并显示你的 Git 下载在你的机器上的位置。

验证您为 Mac 下载的 Git

为了仔细检查 Git 是否已经正确下载到您的机器上,导航到一个终端并运行git –version。您的终端应该返回这条消息:git version #.##.#

恭喜你!现在您的 Mac 版 Git 下载已经完成,跳到本文的底部获取配置 Git 的指南和提高 Git 知识的技巧。

如何安装 Linux 版 Git

在 Linux 上安装 Git 非常简单。事实上,很多 Linux 系统已经默认安装了 Git。

要确认您的计算机是否已经下载了 Git,请打开终端并键入:git –version。如果已经安装了 Git,您的终端将返回类似于:git version 2.36.1的内容。如果您的机器没有安装 Git,终端将返回一个错误消息。

在您的 Linux 系统上下载 Git 最简单的方法是使用您的特定发行版的首选包管理器。虽然在 Linux 系统上下载 Git 的具体命令不同,但是下载 Git 的过程非常相似。

首先,更新您的包列表,然后下载您的系统支持的最新版本的 Git。让我们看看最流行的 Linux 发行版是什么样子的。

如何在 Ubuntu / Debian 上安装 Git

要安装 Git for Ubuntu,请从终端运行以下命令:

更新系统包列表:

sudo apt-get update

在 Ubuntu / Debian 中安装 Git:

apt-get install git

在 Fedora 上安装 Git

要在 Fedora 上安装 Git,从终端运行以下命令:

更新系统包列表:

sudo dnf -y update

在 Fedora 上安装 Git:

sudo dnf -y install git

Gentoo 安装 Git

要在 Gentoo 上安装 Git,从您的终端运行这些命令:
更新系统包列表:

emerge -avDuN world

在 Gentoo 上安装 Git:

emerge --ask --verbose dev-vcs/git

在 Arch Linux 上安装 Git

要在 Arch Linux 上安装 Git,从终端运行以下命令:

更新系统包列表:

sudo pacman --sync --refresh --sysupgrade

在 Arch Linux 上安装 Git:

pacman -S git

确认您在 Linux 上的 Git 安装

一旦您运行了特定于您的包管理器的代码来在 Linux 上下载 Git,您将希望确认您的 Git 在 Linux 上的安装是成功的。要确保 Git 已经正确下载到您的机器上,请导航到一个终端并键入:git –version。您的终端应该返回此消息:git version #.##.#

一旦您运行了特定于您的包管理器的代码来在 Linux 上下载 Git,您将希望确认您的 Git 在 Linux 上的安装是成功的。要确保 Git 已经正确下载到您的机器上,请导航到一个终端并键入:git –version。您的终端应该返回此消息:git version #.##.#

为您的操作系统配置 Git

在开始使用 Git 跟踪您的项目之前,您需要配置您的身份。您必须配置您的身份,因为正如 Pro Git 一书所述,“每个 Git 提交都使用这个信息,并且它不可改变地融入到您开始创建的提交中”。要配置您的身份,您需要打开一个终端并运行以下命令:

配置您的用户名:

git config --global user.name "Your Name"

配置您的电子邮件:

git config --global user.email [youremail@example.com](mailto:youremail@example.com)

将默认分支名称配置为 Main(仅限 Mac 和 Linux):

git config --全局初始化.默认分支主

您可以通过运行git config –list来验证您已经正确配置了 Git。如果配置正确,终端将返回您在上面输入的用户名、电子邮件和默认分行名称。

git config --全局初始化.默认分支主

Git 下载常见问题解答

问:如何从 Git 下载

答:Git 是一种软件,一旦你下载了 Git,它就会在你的机器上本地运行。选择本文顶部的操作系统,下载 Git for Windows、Mac 或 Linux。

Git 下载常见问题解答

问:如何用 Git 下载

答:Git 可以从 Git 官方网站 Git SCM 下载。

Git 可以有一个陡峭的学习曲线。GitKraken Client 提供了自动建议和自动完成 Git 命令、可视化提交图、集成终端等等,使 Git 变得更加简单和直观。

答:Git 可以从 Git 官方网站 Git SCM 下载。

利用 GitKraken 的学习 Git 资源加快您的进度

现在您已经下载并配置了 Git,您可以开始您的第一个 Git 项目了!当您使用 Git 并参与到项目中时,您会发现一个由开发人员、学者、游戏玩家、天才以及介于两者之间的所有人组成的充满活力的社区。

如果你想加快你的进度,这样你就可以开始对你的工作或开源项目做出有意义的贡献,看看 GitKraken 的 Learn Git resources 。GitKraken 的 Learn Git 库包括 Git 教程、定义、最佳实践等等,完全免费,一定会帮助您将 Git 技能提升到一个新的水平。

利用 GitKraken 的学习 Git 资源加快您的进度

现在您已经下载并配置了 Git,您可以开始您的第一个 Git 项目了!当您使用 Git 并参与到项目中时,您会发现一个由开发人员、学者、游戏玩家、天才以及介于两者之间的所有人组成的充满活力的社区。

如果你想加快你的进度,这样你就可以开始对你的工作或开源项目做出有意义的贡献,看看 GitKraken 的 Learn Git resources 。GitKraken 的 Learn Git 库包括 Git 教程、定义、最佳实践等等,完全免费,一定会帮助您将 Git 技能提升到一个新的水平。

在经济学研究中使用 Git

原文:https://www.gitkraken.com/blog/git-economics-research

这是 GitKraken 大使本杰明·丹尼尔斯的客座博文。本杰明是世界银行集团的研究分析师,专攻国际发展经济学。他的团队 DIME Analytics (开发影响评估),相信通过专注于时间和任务管理,向新的研究人员教授 Git、GitHub 和 GitKraken。

当我们听说 Ben 和他的团队如何使用 GitKraken 来改进和加速他们的工作——在软件开发领域之外——我们想了解更多。

教授以任务管理为重点的 Git 和 GitHub

我们的团队将 GitFlow 分支模型教授给那些希望更好地管理跨任何规模和时间范围的团队的研究项目的研究人员和其他工作人员。我们这样做是因为研究项目是一个经典案例,其中使用 Git 进行版本控制的工具,如 GitKraken,确实大放异彩;当我们迭代经济计量模型时,维护多个分支和重新访问历史快照的能力是非常有价值的。

然而,当我们第一次培训团队使用 Git 时,我们不是从技术的角度教授工具,而是从基于任务的角度。我们不太关心我们的员工从一开始就了解幕后发生的事情,但我们希望确保他们能够开始并适应使用新技术,这将有许多不熟悉的方面。

使 Git 可关联

我们的功能模型从一个大家都知道的服务类比开始: email 。在我们的介绍中,“Git”是一种“协议”——一种无形的东西,就像运行在幕后的电子邮件一样。

如何与邮箱互动?最常见的是,通过桌面客户端或 webapp。我们让 GitKraken 或 GitHub Desktop 代表客户端,GitHub.com 的代表 webapp(我们一定要把. com 念成加强区别)。我们强调,客户端与你在电脑上完成的工作互动良好,当你需要与其他人协调工作时,webapp 也能很好地互动。

理解 Git 术语

我们希望确保用户在这些新界面中不会犯错误,这样他们就有信心尝试新事物,并在出现问题时寻求帮助。Git 术语通常不是最令人鼓舞的:合并是conflicts;任务有issues;贡献是blame。类似地,Git 文档中大量的术语看起来令人费解。

因此,当我们向人们介绍单独使用 Git 时,我们做了三件事来使 Git 工作流更容易访问。

首先,我们将 Git 的功能简化为简单的提交和分支,并说大多数其他任务只是这些任务的复杂组合。我们给员工的座右铭是“你真的不能打破它”;我们要求他们用“他们想做什么”来表达问题,而不是教大量不必要的词汇。这通过在 Git 客户机 GitKraken 中本地管理基本任务,提供了使用 Git 的最基本的 onramp。

将 GitFlow 引入经济学研究

我们的第二步是教员工使用 Git 进行协作,通过以下 GitFlow 的简化心智模型来教育他们。我们专注于将 Git 概念与我们的团队已经熟悉的任务管理思想联系起来。

master分支负责执行管理层的任务,如完成会议草稿或提交文稿。

develop分支用于项目级的任务,比如添加一个新的数字或表格,或者写一个新的章节。

由于代码任务不在那些级别上完成,我们不在那些分支上做新的工作。我们使用feature分支来组织编码的日常工作,每个提交应该对应一个合理的人工任务,比如“向表 1 中的回归添加控制”

然后,我们向他们展示负责更高级任务的人如何在 GitHub.com 上创建和合并拉请求。当提交一个pull request时,代码任务组合成一个项目任务,当我们准备一个release时,项目任务最终组合成一个执行任务。

使用 Git 不一定要成为计算机科学家

我们的大多数团队成员缺乏计算机科学背景;他们大多是训练有素的计量经济学家、统计学家、调查专家,或者有其他背景。我们团队日常使用的统计编程工具不像现代的 webapps,甚至不像常规的编译语言那样工作,所以代码本身还不被认为是主要产品。相反,他们倾向于更接近交互式语言和脚本语言,因此,员工考虑的是他们试图用代码做什么,而不是他们试图让 T2 做什么。

这个模型使得这种关系相对清晰,并且通过这样做为实践中使用 Git 的一些最基本的技术问题提供了直觉:“我应该什么时候提交?”以及“我应该何时分支和合并?”我们过去给出的答案比“不要太频繁也不要太少”好不了多少,但现在的答案更像是“当相应的任务完成时”,这似乎是有道理的。

这也使得向人们介绍 GitHub 和 GitKraken Glo Boards 中的任务管理变得更加容易,因为问题可以直接连接到功能分支,并且它们包含的任务的解决方案可以直接连接到单独的提交。

任务跟踪和代码审查是我们能够向没有开发背景的团队介绍的两个主要过程,特别是当高级和管理人员通常是那些对给定项目的代码库最不熟悉的人时。

对于世界银行集团发展影响评估小组的我们来说,以任务为中心的方法提供了一种语言和一个界面,以一种相对容易理解的方式将代码与研究分析工作联系起来。我们希望这个方法也能对其他人有用!

免责声明:本文表述的调查结果、解释和结论仅属于作者个人,不一定代表世界银行、其执行董事或其所代表的政府的观点。

什么是 Git Fetch |远程分支和错误问题的解决方案

原文:https://www.gitkraken.com/learn/git/git-fetch

Git 变得如此流行的原因之一是因为它使任何规模的团队都能够在代码上进行协作。当使用 Git 时,用户可以 Git 将更改推送到他们本地存储库的共享副本,称为 Git remote 。当新的合作者执行 Git 克隆时,他们可以拉下这些集体变更——所有相关 Git 提交的总和——但是如果有人只想拉下选定的变更呢?

如果有人已经克隆了一个远程,但是想要获得其他人提交的新更改,并将这些更改合并到他们的本地 repos 中,他们可以执行 Git 获取。在本文中,我们将详细回顾 Git fetch 命令,并回顾如何在命令行和 GitKraken 客户端中执行该操作

“@GitKraken 让我的生活轻松多了!在分支之间切换,压缩提交,很好的概述代码中的变化等等。👌"–@ @ mjovanc

https://www.youtube.com/embed/uEEcw1s_wWk?feature=oembed

视频

什么是 Git Fetch?

Git fetch 是 Git 中的一个命令,它执行两个不同的任务。首先,Git fetch 从特定的远程分支下载所有提交,在本地更新远程跟踪分支。同时,Git 更新一个名为 FETCH_HEAD 的特殊文件,该文件跟踪下载的更新来自哪里以及涉及哪些提交 sha。

远程跟踪分支

Git 通过远程跟踪分支跟踪本地 Git 分支与任何远程存储库的不同步程度。Git 根据远程跟踪分支的内容,统计本地 repo 来自远程 repo 之前或之后的提交次数。超前意味着本地分支中存在远程分支中不存在的变化。另一方面,滞后意味着远程上的更改在相应的本地分支上还不存在。

您可以通过执行以下命令查看一个存储库的所有远程跟踪分支:
git branch -a

Git 是异步工作的,这意味着每个人都在本地机器上处理回购的完整副本。与 SVN 或其他版本控制系统不同,使用 Git,没有真正的中央存储库可以连接。Git 不会通过互联网与远程 repos 保持连接,并假设您将从远程服务器手动下载提交。同时,Git 需要为您提供一种方法来检查这些更改,以防您不想在本地应用它们。这就是 Git fetch 的本质。

当您执行一个 Git 获取时,远程分支上的所有提交首先被下载到远程跟踪分支,允许您在将更改应用到本地分支之前查看提交的内容。你可以用几种不同的方法来做到这一点。

查看本地下载的变更示例的第一种方法是Git check outremote tracking 分支。这将使你处于分离的头部状态,意味着头部没有指向局部分支的末端。你可以看到所有的修改,复制代码,或者创建一个新的 Git 分支,所有这些都不会影响本地分支。

另一个可以快速向您展示发生了什么变化的选项是运行一个 Git diff ,在您执行一个 Git fetch 之后,它将本地分支与远程跟踪分支进行比较。我们将在本文的后面用命令行和 GitKraken 客户端展示这样的例子。

Git FETCH_HEAD

每当运行 Git init 时,都会创建一个./git 文件夹,保存帮助 Git 做它应该做的事情的密钥。每个文件夹中都有一个名为 FETCH_HEAD 的特殊文件。FETCH_HEAD 文件跟踪最近获取的所有分支,以及远程上该特定分支上存在的最新提交的提交 SHA。

这个文件有一个特殊的功能,因为它可以在一个 Git 合并中使用。在这种情况下,Git 将为 FETCH_HEAD 中可用于合并的所有分支解析合并请求。当执行 Git 拉取而不仅仅是 Git 获取时,这将自动发生。

用 FETCH_HEAD 从多个远程获取

您可以在 FETCH_HEAD 中引用来自多个远程仓库的分支的多个版本。默认情况下,每次运行 Git fetch 都会覆盖整个 FETCH_HEAD 文件。

然而,通过 Git fetch 使用--append选项,或者仅仅使用-a,Git 将会把这些额外的获取分支添加到 FETCH_HEAD 文件中。运行一个git merge FETCH_HEAD将合并来自不同远程的所有提交,所有这些都在一个步骤中完成!💥

跟踪回购的所有遥控器并不复杂。免费下载 GitKraken 客户端,现在就可以可视化并更好地了解您的存储库!

Git 获取远程分支

正如您已经读到的,Git fetch 被设计为将更改下载到本地计算机上的远程跟踪分支。但是 Git fetch 如何知道您打算从哪个分支和哪个远程下载更改,特别是当不止一个远程可用时?最佳实践是在运行 Git fetch 时指定我们想要的远程和分支。

如果在没有其他选项或子命令的情况下运行git fetch,Git 将假设您想要从默认的上游和当前检出的任何分支获取数据。分支的默认上游通常是第一个创建的分支,通常是最初克隆代码的上游。如果你检查。git/config 文件,您可以很快看到每个分支与什么上游相关联。

通过明确声明 Git 获取的目标是哪个远程和分支,可以确保从正确的源代码中获取更新的代码。

如果你有很多分支和很多遥控器,依靠git fetch –all可以节省大量时间。--all选项告诉 Git 尝试从所有可能的远程获取任何具有本地不存在的变更的分支。

错误:无法打开。git/FETCH_HEAD 权限被拒绝

有时,当您对 FETCH_HEAD 执行 Git fetch 或 Git merge 时,您的 CLI shell 将返回一个错误,说明:错误:无法打开。git/FETCH_HEAD 权限被拒绝。

发生这种情况的原因有很多,但最常见的是因为您没有正确的用户权限来更新或访问 FETCH_HEAD 文件。

要解决这个错误,请确保您以对正在使用的 Git 存储库具有读写权限的用户身份登录。或者,你可以修改文件权限,或者用chmod 允许更多用户访问,或者用chown将文件所有权更改为你自己。

如何在命令行中获取数据

在执行 Git 获取之前,最好先看看哪些 Git 远程可用于 repo。要查看所有可用的遥控器,请使用命令:

git remote -v

在上面的例子中,有三个可用的远程位置来下载变更:origin,存储库最初被克隆到本地机器上;gitkraken,它是 GitLens 产品所有者更新的上游;以及gitlab,它是在GitLab.com上的回购副本。

在 CLI 中使用 Git Fetch

要对当前签出的分支执行 Git 提取,从默认上游存储库下载更改,请使用以下命令:

git fetch

在上面的例子中,Git 从远程origin为分支fetch-example下载了一个变更。如果没有要下载的更改,Git fetch 命令将不会产生任何输出,因为没有什么可以显示。

git fetch

在 CLI 中使用 Git 获取远程分支

要定位特定遥控器上的特定分支,请使用以下命令:

git fetch <remote> <branch>

确保将<remote>替换为您想要的遥控器名称,将<branch>替换为您想要的分支名称。

在上面的例子中,Git 从远程origin为分支fetch-example下载了一个变更。如果没有要下载的更改,Git fetch 命令将不会产生任何输出,因为没有什么可以显示。

在 CLI 中使用 Git 获取远程分支

上例中,遥控器是gitlab,分支是fetch-example。该命令将更新远程跟踪分支:gitlab/fetch-example,并更新 FETCH_HEAD。

现在,您可以使用以下命令在本地合并所有更改:

git merge FETCH_HEAD

上例中,遥控器是gitlab,分支是fetch-example。该命令将更新远程跟踪分支:gitlab/fetch-example,并更新 FETCH_HEAD。

如何使用 GitKraken 客户端获取数据

使用 GitKraken 客户端来完成这个动作的一个最好的部分就是这个工具会自动为你执行获取!

与 Git CLI 不同,GitKraken Client 可以保持与各种远程设备的连接,并在后台以每分钟一次的频率为您执行 Git 获取。您可以在 GitKraken 客户端的 Git commit 图中看到远程跟踪分支的下载更改,如下所示。

要将更改应用到本地 repo,只需在提交图上双击要应用更改的远程跟踪分支条目。GitKraken 客户端将要求您确认您想要“将本地重置到此处”点击Reset Local to Here按钮,GitKraken 客户端将执行合并。

使用 GitKraken 客户端来完成这个动作的一个最好的部分就是这个工具会自动为你执行获取!

与 Git CLI 不同,GitKraken Client 可以保持与各种远程设备的连接,并在后台以每分钟一次的频率为您执行 Git 获取。您可以在 GitKraken 客户端的 Git commit 图中看到远程跟踪分支的下载更改,如下所示。

要调整 GitKraken 客户端执行自动获取的频率,导航至PreferencesGeneral
显示的第一个选项是Auto-Fetch Interval。您可以将其调整为每分钟一次,最多 60 分钟一次。您可以通过将频率设置为0来禁用自动抓取功能。

要将更改应用到本地 repo,只需在提交图上双击要应用更改的远程跟踪分支条目。GitKraken 客户端将要求您确认您想要“将本地重置到此处”点击Reset Local to Here按钮,GitKraken 客户端将执行合并。

GitKraken Client 可以让您轻松地看到您的存储库中正在发生的事情,并从多个远程位置了解最新的变化!像自动取货这样的功能比单独在终端上工作更方便、更省心。

GitKraken 客户端…就是这样 Fetch

GitKraken Client 使远程存储库的工作变得简单,无论有多少其他合作者在更新代码。这个传说中的 Git 工具通过自动获取功能使更新变得更加简单,查看代码变化就像点击右边面板上的文件名一样简单。

这只是 GitKraken Client 在与他人合作时,让您作为开发者的生活变得更美好的众多方式之一。今天就下载并开始使用 GitKraken 客户端,传说中的跨平台 Git 客户端!

GitKraken Client 可以让您轻松地看到您的存储库中正在发生的事情,并从多个远程位置了解最新的变化!像自动取货这样的功能比单独在终端上工作更方便、更省心。

GitKraken 客户端…就是这样 Fetch

GitKraken Client 使远程存储库的工作变得简单,无论有多少其他合作者在更新代码。这个传说中的 Git 工具通过自动获取功能使更新变得更加简单,查看代码变化就像点击右边面板上的文件名一样简单。

这只是 GitKraken Client 在与他人合作时,让您作为开发者的生活变得更美好的众多方式之一。今天就下载并开始使用 GitKraken 客户端,传说中的跨平台 Git 客户端!

什么是 Git 流|如何使用 Git 流|学习 Git

原文:https://www.gitkraken.com/learn/git/git-flow

更新日期:2022 年 6 月 17 日

Git flow 是一种流行的 Git 分支策略,旨在简化发布管理,由软件开发人员 Vincent Driessen 于 2010 年推出。从根本上说,Git 流包括将你的工作隔离到不同类型的 Git 分支。在本文中,我们将介绍 Git flow 工作流中的不同分支,如何在 GitKraken 客户端中使用 Git flow,并简要讨论另外两种 Git 分支策略,GitHub flow 和 GitLab flow。

Git 流工作流

在 Git 流工作流中,有五种不同的分支类型:

  1. 开发
  2. 功能
  3. 发布
  4. 热修复
  5. 热修复

其他 Git 分支策略

GitHub 流量

GitLab 流程

Git 流程图

定制图片的灵感来自“一个成功的 Git 分支模型”中的 Vincent Driessen。

Git 流程图

GitKraken 客户端使配置和定制您的 Git 流设置变得快速而简单。

Git 流:主分支

请注意:主枝俗称“主”;我们特意决定避免使用这个过时的术语,而是选择使用“main”。

Git 流工作流中主要分支的目的是包含可以发布的生产就绪代码。

在 Git 流中,主分支在项目开始时创建,并在整个开发过程中维护。可以在各种提交时标记分支,以表示代码的不同版本或发布,其他分支将在经过充分审查和测试后合并到主分支中。

Git 流:开发分支

开发分支是在项目开始时创建的,并在整个开发过程中进行维护,它包含预生产代码,以及正在测试的新开发的功能。

新创建的特性应该基于开发分支,然后在准备好进行测试的时候合并回来。

Git 流:支持分支

当使用 Git flow 进行开发时,有三种类型的支持分支具有不同的预期目的:特性、发布和修补程序。

Git 流:特性分支

特性分支是 Git 流程工作流中最常见的分支类型。向代码中添加新功能时会用到它。

当处理一个新的特性时,您将从开发分支开始一个特性分支,然后当特性完成并被适当地评审时,将您的更改合并回开发分支。

Git 流:发布分支

在准备新的产品发布时,应该使用发布分支。通常,在发布分支上执行的工作涉及到收尾工作和特定于发布新代码的小错误,代码应该与主开发分支分开处理。

Git 流:修补程序分支

在 Git 流中,hotfix 分支用于快速处理主分支中的必要变更。

修补程序分支的基础应该是您的主分支,并且应该合并回主分支和开发分支。将来自 hotfix 分支的更改合并回 develop 分支是至关重要的,这样可以确保下次发布主分支时修复仍然有效。

特性分支是 Git 流程工作流中最常见的分支类型。向代码中添加新功能时会用到它。

GitKraken 客户端如何使用 Git 流

现在我们已经介绍了什么是 Git flow,让我们来看看如何在 GitKraken 客户端中使用 Git flow。

要开始在 GitKraken 客户端中使用 Git flow 工作流,请执行以下步骤:

导航至顶部工具栏中的Preferences

在左侧面板中选择Gitflow并设置您偏好的分支命名约定

选择,然后点击绿色的Initialize Gitflow按钮

在 Git 流中,hotfix 分支用于快速处理主分支中的必要变更。

现在,当您退出首选项时,您会在左侧面板的顶部看到一个 Gitflow 部分。从这里,

GitKraken 客户端将帮助您启动和完成功能、发布和修复分支。

要开始在 GitKraken 客户端中使用 Git flow 工作流,请执行以下步骤:

  1. 导航至顶部工具栏中的Preferences
  2. 例如,大多数开发人员可能会点击“Feature ”,然后命名并创建他们的特性分支:
  3. 选择,然后点击绿色的Initialize Gitflow按钮

然后,当您的功能分支被批准后,您可以使用 Gitflow 面板关闭功能分支。这将自动将特性分支合并到开发中,或者,您可以选择在开发中重新设置特性分支的基础。

现在,当您退出首选项时,您会在左侧面板的顶部看到一个 Gitflow 部分。从这里,

免费尝试使用 Git flow 和 GitKraken 客户端。

Git 流常见问题

问:什么是 Git 流?

答:Git flow 是一个 Git 分支策略,创建它是为了使发布新版本的软件更容易。

问:如何安装 Git flow?

答:Git flow 是一个 Git 分支策略,因此不是一个可以下载的工具或软件。开发人员可以使用 Git 流来组织他们的 Git 分支和开发过程,以便更有效地发布版本。

其他 Git 工作流

虽然 Git flow 自 2010 年问世以来人气飙升,但就连 Driessen 自己也承认,它可能不是每个开发团队或环境的最佳 Git 工作流,正如他在 2020 年 3 月的“反思笔记”中所示。

“Web 应用程序通常是连续交付的,而不是回滚的,并且您不必支持软件的多个版本。这不是我 10 年前想到的软件案例。”

有两个比 Git 流更简单的 Git 工作流,可以允许连续交付。

GitTip:了解更多关于 Git 分支策略,包括 GitHub flow 和 GitLab flow 的深入细节和工作流程图。

GitHub 流量

比 Git flow 更简单的是, GitHub flow 非常适合小型团队和不需要支持多个版本的 web 应用程序或产品。由于其简单性,GitHub flow 工作流允许持续交付和持续集成。

当然,也有相关的风险需要考虑。例如,缺乏专门的开发分支使得这个工作流程更容易在生产中出现错误。

GitLab Flow

与 GitHub flow 工作流相比, GitLab flow 也比 Git flow 更简单,更有组织性和结构化。

GitLab flow 根据您的情况引入了环境分支,比如生产和预生产,或者发布分支。

稍加修改,GitLab flow 可以支持版本化发布和持续交付。

其他 Git 工作流

GitKraken 客户端 Git 流入门

在其核心,Git 流有助于更好地组织您的工作。将它与 Git 客户机的视觉能力结合起来,将您的工作流程提升到一个新的水平。

GitKraken 客户端支持 Git 流,并允许您在配置过程中根据自己的喜好定制分支名称和其他细节。这对于跨开发团队的标准化过程特别有帮助,以便更有效地协作。了解关于在 GitKraken 客户端中使用 Git flow 的更多信息。

GitTip:了解更多关于 Git 分支策略,包括 GitHub flow 和 GitLab flow 的深入细节和工作流程图。

GitHub 流量

比 Git flow 更简单的是, GitHub flow 非常适合小型团队和不需要支持多个版本的 web 应用程序或产品。由于其简单性,GitHub flow 工作流允许持续交付和持续集成。

当然,也有相关的风险需要考虑。例如,缺乏专门的开发分支使得这个工作流程更容易在生产中出现错误。

GitLab Flow

与 GitHub flow 工作流相比, GitLab flow 也比 Git flow 更简单,更有组织性和结构化。

GitLab flow 根据您的情况引入了环境分支,比如生产和预生产,或者发布分支。

稍加修改,GitLab flow 可以支持版本化发布和持续交付。

GitLab flow introduces environment branches, such as production and pre-production, or release branches, depending on your situation.

GitKraken 客户端 Git 流入门

在其核心,Git 流有助于更好地组织您的工作。将它与 Git 客户机的视觉能力结合起来,将您的工作流程提升到一个新的水平。

GitKraken 客户端支持 Git 流,并允许您在配置过程中根据自己的喜好定制分支名称和其他细节。这对于跨开发团队的标准化过程特别有帮助,以便更有效地协作。了解关于在 GitKraken 客户端中使用 Git flow 的更多信息。

At its core, Git flow helps better organize your work. Combine that with the visual power of a Git client to take your workflow to the next level.

GitKraken Client supports Git flow and allows you to customize branch names and other details to your liking during the configuration process. This can be particularly helpful for standardizing processes across development teams for more effective collaboration. Discover more about using Git flow with GitKraken Client.

GitKraken 团队 Git 特性|团队最佳 Git 客户端

原文:https://www.gitkraken.com/gitkon/git-for-teams-gitkraken

https://www.youtube.com/embed/Kw0tV-4K5pI?feature=oembed

视频

GitKraken 使 Git 中的协作变得更加容易,因此您可以花更少的时间去了解谁在对您的项目进行更改,而花更多的时间来发布高质量的代码。

GitKraken Git 客户端包括一个 GUI 和 CLI,它的基础是提供一种更直观的方式来访问 Git 的真正功能。GitKraken 为最复杂的存储库提供了清晰而详细的可视化,与主机服务的强大集成减少了上下文切换,以及独特的团队 Git 功能——所有这些都有助于 GitKraken 成为世界上最受欢迎和最强大的 Git 客户端。

GitKraken 是让您的团队使用 Git 的最简单的工具,它将提高您的工作效率,同时改善协作和沟通。无论您喜欢 GUI 还是 CLI,GitKraken 都提供了两个世界的精华。

使用 GitKraken 提交图进行团队合作

GitKraken 最突出的视觉特性,也是最受用户喜爱的特性之一,是 GitKraken 提交图。当你和你的团队在一个 Git 库上工作时,提交图可以用来快速找到关于谁正在做什么的信息,而不需要编写一个单独的 Git 命令

在 GitKraken 中克隆并打开一个存储库后,您会立即注意到每个提交节点都有一个头像标记,显示了创作 Git commit 的人,使您可以在浏览项目历史时看到是谁进行了每个提交。

如果您发现头像不容易阅读,或者只是不认为刺猬索尼克的图像准确地代表了您团队中的某个人,那么Preferences中有一个选项可以在这些提交节点上显示作者姓名首字母。😉

GitKraken 团队特色

GitKraken 旨在帮助协作者在与 Git 一起工作时更有效,并提供了在应用程序中将组组织成团队的能力,因此在同一组织中工作的用户将对他们的存储库有更多的了解。GitKraken 中的 Git for teams 特性提供了更好的提交过滤、团队可见性,以及在合并冲突发生之前捕捉它们的能力。

拥有付费 GitKraken 账号的用户可以在PreferencesOrganization部分看到他们组织的成员。如果你是管理员,你将能够邀请成员并创建成员团队,所有成员都能够访问 GitKraken 的 Git 以获得团队功能。

git krak 团队视图

加入团队的成员将会在 GitKraken 的左侧面板看到一个新的Teams视图。这个Teams视图允许团队成员看到他们的队友在同一个存储库中工作的分支和文件,即使那些变更没有被推送到远程。

这是一个强大的 Git 特性,它增加了团队内部活动的意识,并且旨在当您正在进行的工作可能有潜在冲突时提醒您和您的团队。如果您和团队中的另一个成员正在处理同一个文件,GitKraken 将在每个名称下的文件上显示一个警告图标,表明如果推送这些更改,可能会有潜在的合并冲突。

这为团队交流提供了机会,以确保在代码合并之前避免冲突。

合并冲突会严重降低团队 Git 工作流的速度。GitKraken 是唯一一个检测潜在冲突并向您发出警报的 Git 客户端,因此您可以在冲突发生之前避免它们。🤯

按团队过滤提交图

GitKraken 还提供了按团队过滤提交图的能力。如果提交图中显示了Author列,单击过滤器图标,搜索您想要过滤的团队,该团队成员提交的所有提交将在图中突出显示,这样您就可以轻松地看到团队正在进行的工作。

这对于突出来自某些团队或特定个人的提交非常有用,所有这些都在您的回购整体提交历史的上下文中。

深度链接

深度链接允许团队将链接复制到 GitKraken 内部的存储库、分支或提交,并在任何地方共享它。在 GitKraken 中右键单击远程、分支标签或提交,可以在上下文菜单中找到这些链接。

Deep linking allows teams to copy a link to a repository, branch, or commit inside of GitKraken and share it anywhere. These links can be found in context menus by right-clicking a remote, branch label, or commit within GitKraken.

当有人点击一个链接时,它将打开 GitKraken 应用程序,指向预定的 repo、branch 或 commit。如果他们没有解析链接所必需的库,GitKraken 会询问他们是否想要克隆那个库。如果他们这样做了,GitKraken 将在一个新的选项卡中打开存储库,并在图中突出显示分支或提交。

When someone clicks on a link, it will open the GitKraken application to the intended repo, branch, or commit. If they don’t have the repository necessary to resolve the link, GitKraken will ask if they want to clone that repository. If they do, GitKraken will open the repository in a new tab and highlight the branch or commit in the graph.

深度链接使得引用分支或提交并与团队中的其他人共享变得非常容易,这样他们就可以快速看到您需要帮助的代码。

Deep linking makes it really easy to reference a branch or commit and share it with someone on your team so they can quickly see the code you need help with.

吉拉 Git 集成

吉拉 Git 集成是一个强大的吉拉应用程序,显示与吉拉问题相关的分支和提交细节,包括直接在吉拉内部的文件差异。在 commit details 或 file diff 中,您还会注意到一个按钮,可以直接在 GitKraken 中打开提交或分支。

Git Integration for Jira is a powerful Jira application that displays branches and commit details associated with Jira issues, including file diffs, directly inside of Jira. From the commit details or file diff, you’ll also notice a button to open the commit or branch directly in GitKraken.

如果您启用了 GitKraken 吉拉集成,您将在 GitKraken 的文件视图和差异视图中看到一个Open in Jira按钮,允许您在必要时在 GitKraken 和吉拉之间无缝转换。

If you have the GitKraken Jira integration enabled, you will see an Open in Jira button in the File View and Diff View inside of GitKraken, allowing you to seamlessly transition between GitKraken and Jira when necessary.

在吉拉 Git 集成的帮助下,即使非技术用户也能够了解您的存储库中发生了什么,从而实现更好的跨部门协作和沟通。

Even non-technical users will be able to understand what’s happening in your repositories with the help of Git Integration for Jira, leading to better cross-departmental collaboration and communication.

Start a Free Trial of Git Integration for Jira

获取关于 Git 分支和标签的信息

沿着图的左侧列出的 Git 分支和标签标签使得扫描你的存储库以寻找队友正在工作的特性分支变得容易。除了简单地显示分支名称,这些标签还显示代表分支所在的任何远程存储库的图标,以及与分支相关联的拉请求。

The Git branch and tag labels listed along the left side of the graph make it easy to scan your repository for feature branches being worked on by teammates. Beyond simply displaying the branch name, these labels also display icons that represent any remote repositories a branch is on, as well as pull requests associated with a branch.

如果您在 GitKraken 中连接了托管服务集成,您可以快速导航到该服务上的 Git pull 请求。只需右键单击分支标签,进入上下文菜单,并选择打开您的托管服务 PR 的选项。就这么简单!

If you have a hosting service integration connected in GitKraken, you can quickly navigate to the Git pull request on that service. Simply right-click on a branch label to access a context menu and select the option to open the PR in your hosting service. Easy as that!

档案历史&指责观点

当您深入到存储库的文件级别时,能够看到谁对特定文件进行了更改以及这些更改是在何时进行的,可以帮助您理解为什么以某种方式编写代码,并且知道如果您有问题应该向谁询问。

GitKraken 中的文件历史和责任视图使这些信息更容易访问,并且比简单的git log命令在 Git CLI 中显示的更多,允许您通过每次提交轻松浏览文件的历史,逐行查看每次提交如何影响文件,以及是谁提交的。

The File History and Blame views in GitKraken make this information easily accessible and display more than what a simple git log command will in the Git CLI, allowing you to easily navigate a file’s history through every commit, see line-by-line how each commit affected the file, and who made the commit.

Git 托管服务集成

与他人在代码上的合作几乎总是依赖于存储在远程存储库中的代码,团队成员可以在工作时从中提取和推送代码。对于大多数团队来说,这意味着使用托管服务,如 GitHubGitLabAzure DevOpsBitbucket

Collaborating with others on code almost always depends on that code being stored in a remote repository that team members can pull from and push to as they work. For most teams, this means using a hosting service like GitHub, GitLab, Azure DevOps, or Bitbucket.

GitKraken 提供了与最受欢迎的 Git 托管提供商的强大集成,有助于简化新开发人员的入职流程,并允许团队在管理拉请求和问题时减少上下文切换。

在 GitKraken 中连接一个主机服务集成很简单,可以在 GitKraken 中的PreferencesIntegrations部分通过认证任何列出的主机服务来完成。

Git 克隆

当一个托管服务被连接时,你的团队成员将能够通过简单的搜索,通过Repository Management视图轻松地 Git 克隆他们在你的组织中有权访问的存储库。

Git Cloning

When a hosting service is connected, members of your team will be able to easily Git clone repositories they have access to in your organization through the Repository Management view with a simple search.

这消除了导航到托管服务网站来查找克隆 URL 的需要,使新团队成员能够快速找到他们开始工作所需的存储库。

GitKraken 与 Git 主机服务提供商的强大而安全的集成使得生成 SSH 密钥并将其添加到您的远程提供商以安全加密您的数据变得非常容易,因此您可以更放心地克隆、添加远程、创建拉请求等等。

拉式请求创建

一旦您克隆了一个存储库,并且您的特性分支已经准备好 Git merge ,那么在 GitKraken 中打开一个 pull 请求的最快方法就是拖动您想要合并的分支,并将其放到目标分支上。

这将打开表单,创建一个新的 pull 请求,预填充您开始所需的大部分信息。只需编辑标题和描述,添加受托人和审核人,然后打开拉式请求,所有这些都无需打开 web 浏览器。

Once you’ve cloned a repository and have your feature branch ready to Git merge, the fastest way to open a pull request in GitKraken is by dragging the branch you want to merge, and dropping it onto the target branch.

This will open the form to create a new pull request, prefilled with most of the information you need to get started. Just edit the title and description, add assignees and reviewers, then open the pull request, all without opening a web browser.

拉式请求跟踪

跟踪拉取请求可能会很繁琐,尤其是当您需要在开发人员工具和托管服务网站之间切换,以监控您已经分配给团队中其他人或已经分配给您的拉取请求时。

GitKraken 在 UI 的左侧面板中显示您正在处理的存储库的 pull 请求列表。

Keeping track of pull requests can be tedious, especially when you need to switch between your developer tools and hosting service website to monitor the pull requests you’ve assigned to other people on your team, or those that have been assigned to you.

GitKraken displays a list of pull requests for the repository you’re working on in the left panel of the UI.

GitHub 拉取请求视图

连接了 GitHub 集成后,您还将能够为您的 GitHub 拉请求创建和保存自定义过滤器,因此您可以专注于对您最重要的 PRs。使用图标快速监控可合并性,这些图标告诉您每个拉取请求的构建和请求状态。

GitHub Pull Request View

With the GitHub integration connected, you’ll also have the ability to create and save custom filters for your GitHub pull requests, so you can focus on the PRs most important to you. Quickly monitor mergability with icons that tell you about the build and request status of each pull request.

GitHub 用户可以点击左侧面板中的任何拉请求,在 GitKraken 中打开交互式拉请求视图,在这里您可以编辑细节并对拉请求留下评论。

GitHub users can click on any pull request in the left panel to open the interactive pull request view inside GitKraken, where you can edit details and leave comments on the pull request.

这个视图也有助于代码审查,其控件可以 Git 签出与 pull 请求相关联的远程分支,或者选择图中 PR 中的所有提交,以便可以在 GitKraken 中审查文件。甚至有一个选项,一旦请求被批准,可以直接在 GitKraken 中合并请求。

让你的团队和 GitKraken 一起破解

所有这些团队 Git功能现在都可以在 GitKraken 版本 8.0 +中获得,但为了更好的 Git 协作,还有更多改进团队 Git 功能的计划,所以请关注即将在发布的 GitKraken 版本中的新内容。

你对开发 GitKraken 的团队有什么反馈吗,或者对产品如何改进以更好地服务于通过 Git 协同工作的开发人员有什么想法吗?请在:https://feedback.gitkraken.com分享您的反馈。

All of these Git for teams features are available right now in GitKraken version 8.0+, but there are even more plans for improving the Git for teams features for better Git collaboration, so keep an eye out for what’s new in upcoming GitKraken releases.

Do you have feedback for the team working on GitKraken, or ideas for how the product can improve to better serve developers working collaboratively through Git? Share your feedback at: https://feedback.gitkraken.com.

Git for Teams | GitKraken Git GUI 团队特性

原文:https://www.gitkraken.com/blog/git-for-teams

你呻吟。也许听不到,但你的眼睛睁大,然后恐惧地慢慢闭上。在幸运地合并特性分支而没有发生意外之后,您最终遇到了 Git 合并冲突。不知道从哪里开始,你不好意思地提出了懈怠和直接的信息请求帮助。

也许这就是你,或者你刚刚看到它发生。无论哪种方式,都意味着花时间自己解开密码,或者在他人同情的帮助下。幸运的是,代码冻结的最后期限在不远的将来到来!但是事情一定要这样吗?有什么可以加快解决冲突的方法吗?

GitKraken Git GUI 是一个生产力和团队协作工具,可以节省团队的时间和精力,并给个人开发者安全贡献代码的信心。GitKraken 为您提供了一个提升整个团队的机会,它具有令人难以置信的团队功能,如合并冲突警报和解决方案、拉动请求和问题跟踪管理以及团队 Git 视图。

Git 中的协作从未如此神奇。✨提升你的团队与 GitKraken。

Git for Teams 视图

让我们想象一下,一眼就能看到您需要的关键团队信息。当您在 GitKraken 中打开您的 Git 存储库时,易于阅读的提交图将帮助您可视化您团队的提交历史,允许您查看谁在何时进行了哪些代码更改。

要在 GitKraken 中启用团队 Git 视图,请导航至PreferencesYour organization name以查看您当前的组织成员列表。这也是组织管理员可以:

  • 邀请用户加入组织
  • 向组织成员分配角色
  • 创建和管理团队

Git for Teams 在 GitKraken 中,当团队成员离开时,管理员可以有条不紊地工作,让新员工的入职变得简单方便。

此外,管理员可以很容易地从Suggested Members列表中邀请贡献者加入组织。这将有助于确保您不会错过任何活跃的贡献者。

在 GitKraken 中为团队启用 Git 之后,从中央 UI 的左侧面板,您将能够看到您所属的所有团队、您的团队成员,以及谁正在处理哪些文件和分支。

After you’ve enabled Git for Teams in GitKraken, from the left panel of the central UI, you will be able to see all the teams you are a member of, your team members, and who is working on which files and branches.

看到 Git 合并冲突即将到来

现在,让我们想象一个合并冲突较少的现实。

GitKraken 中的 Git for Teams 视图将向您显示每个团队成员正在处理的分支和文件,并将显示一个警告图标⚠️,以指示您和一个团队成员对同一个文件进行了更改,并且可能会遇到合并冲突。给你的合作者一个快速的松弛消息可以节省你的时间和悲伤。

The Git for Teams view in GitKraken will show you which branches and files each team member is working on, and will show a warning icon ⚠️ to indicate when you and a team member have both made changes to the same file and may encounter a merge conflict. A quick Slack message to your collaborator could save you both a lot of time and grief.

GitKraken 是唯一一个检测潜在冲突并向您发出警报的 Git GUI,因此您可以防止它们发生。💯

GitKraken is the only Git GUI that detects and alerts you of potential conflicts so you can prevent them from happening. 💯

解决 Git 合并与速度的冲突

虽然防止合并冲突很方便,但是如果您已经遇到了冲突,它并不能帮助您解决冲突。即使采取了最好的预防措施,Git 合并冲突仍可能不时发生。

谢天谢地, GitKraken Git GUI 有一个内置的合并工具,使得团队成员之间的冲突解决变得清晰和容易。

Thankfully, the GitKraken Git GUI has a built-in merge tool to make conflict resolution amongst team members clear and easy.

从右侧面板中单击一个冲突文件将打开合并工具,在左侧显示当前分支,在右侧显示要合并到的目标分支。检查一个部分会将它添加到底部的输出中,这样您就可以看到上下文中的选项,以决定哪个提交最有意义。如果您有首选的工具,您还可以配置其他外部合并工具。

Clicking a conflicted file from the right panel will open the merge tool to show the current branch on the left, and the target branch that you’re merging into on the right. Checking a section adds it to the output at the bottom so you can see the options in context to decide which makes the most sense to commit. You can also configure other external merge tools, in case you have a preferred tool.

**Fork Git Remotes **

GitKraken 有其他的速度提升,特别是对你和你的合作者。

和你的团队一起使用叉子? Git remotes 在为 GitHubGitLabAzure DevOpsBitbucket 使用 GitKraken 集成时,很容易搜索和添加。这使得在 Git 中查看其他分支和远程分支并与之交互变得快速而简单。

Using forks with your team? Git remotes are easy to search for and add when using GitKraken integrations for GitHub, GitLab, Azure DevOps, and Bitbucket. This makes viewing and interacting with other forks and remote branches in Git quick and easy.

Git 拉取请求管理

在 GitKraken 中创建 Git pull 请求既快捷又简单;只需将一个分支拖放到另一个分支上,或者在左侧面板的 pull requests 窗格中点击+图标。这将您的所有拉请求分组在左面板中,并在图中的分支添加一个拉请求图标。

使用 GitHub 的团队获得了更多的公关能力。如果您正在 GitKraken 中创建一个 GitHub pull request ,您可以应用 pull request 模板并添加受托人、审核者和标签。

使用“拉式请求”视图,您可以编辑、合并、批准、请求更改或评论拉式请求,而无需离开 GitKraken。从交互式的 pull request 视图中,您还可以点击立即从图中检查分支,这将节省您和您的团队在本地测试 PR 变更的时间。

And with the pull request view you may edit, merge, approve, request changes or comment on a pull request without ever leaving GitKraken. From the interactive pull request view, you can also click to immediately check out the branch from the graph, which should save you and your team time testing PR changes locally.

GitHub 拉请求视图太棒了!👏加载速度比 GitHub 快!🔥"–杰克,GitKraken 用户

The GitHub pull request view is fantastic! 👏 Loads faster than GitHub! 🔥 ” – Jake, GitKraken User

按作者或团队过滤您的提交图表

如果您在 GitKraken 中为提交图表启用了Author列,您可以按团队或个人贡献者过滤图表。这将突出显示与您的过滤器匹配的任何贡献者所做的提交,如果您正在寻找团队成员完成的工作,这将使图表更容易扫描。

If you have the Author column enabled for your commit graph in GitKraken, you may filter the graph by team, or by individual contributors.  This will highlight the commits made by any contributors matching your filter, which should make the graph easier to scan if you’re looking for work completed by members of your team.

git kraken 中的问题跟踪集成

您的团队是否已经使用了问题跟踪器?GitKraken 集成了流行的问题跟踪器,如吉拉GitHub 问题GitLab 问题TrelloGitKraken 板

要在 GitKraken 中查看您的问题,请导航至PreferencesIssue Tracker,然后为当前打开的回购选择问题跟踪器。您也可以将此设置为其他回购的默认值。

连接后,您可以在左侧面板中选择项目来查看和过滤问题。当您选择一个问题时,将转到“问题详细信息”视图,您可以在其中编辑问题的状态/列、添加受理人、添加评论或创建与问题相关的分支,其中问题 ID 和标题成为分支名称。

Once connected, you can select the project in the left panel to view and filter issues. When you select an issue, you’ll be taken to the issue details view where you may edit the status/column of the issue, add an assignee, add comments, or create branches tied to issue, where the issue ID and title becomes the branch name.

为了使 GitKraken 的吉拉问题跟踪集成更好,增加了针对吉拉的 Git 集成,这是 GitKraken 为使用 Git 的团队提供的另一个生产力工具。访问吉拉 Git 集成中提交、分支和标记的 GitKraken 深层链接,或者打开吉拉 Git 集成中与吉拉问题相关的提交和文件差异。更少的上下文切换和更好的问题管理。💥

To make GitKraken’s Jira Issue Tracking integration even better is the addition of Git Integration for Jira, another GitKraken productivity tool for teams using Git. Access GitKraken deep links for commits, branches, and tags, inside of Git Integration for Jira, or open commits and file diffs related to Jira Issues in Git Integration for Jira. Less context switching and better issue management. 💥

GitKraken 是团队的最佳 Git 客户端

你可能会认为 GitKraken 只是一个 Git GUI,或者只是一个面向个人开发者的工具。你甚至可能认为你可以通过替代方案来解决问题。

虽然单人游戏模式很重要,但是加入更多的合作者也很有力量。让 GitKraken 传说中的团队特征引导你走上防止碰撞和悲伤的道路是有力量的。

所以插上那些控制器,让我们一起开始下一关。

So plug in those controllers, and let’s start the next level together.

通过避免合并冲突和改进 PR 和问题跟踪管理,使您的团队能够用 Git 实现更多。

Empower your team to achieve more with Git by avoiding merge conflicts and improving PR and issue tracking management.

Git for Windows &跨平台协作的挑战

原文:https://www.gitkraken.com/gitkon/git-for-windows

https://www.youtube.com/embed/tamENApCvs0?feature=oembed

视频

平台之间的协作很难。多个社区之间的合作更加困难。在 2021 GitKon Git conference 的演讲中, Git for Windows 的维护者 Johannes Schindelin 分享了他制作他所谓的“友好形式的 Git,修改后可以在所有版本的 Windows 上运行”的故事,以及他在这个过程中学到的一些经验。

一个 Git 历史

如果我们看一看 Git 的历史,我们可以看到,版本控制系统是出于 Linux 项目的需要而诞生的,因此,Git 最初只是为 Linux 用户在 Linux 上运行而设计的。这种心态影响了最初 Git 团队做出的许多决策。

对其他平台用户来说不幸的是,这使得 Git 团队产生的代码假设某些底层工具会出现在他们试图运行 Git 的任何机器上。Git 的早期用户发现他们需要在 Linux 机器上安装 Perl、Bash 和 Python 等工具的最新版本,这样 Git 才能正确运行。虽然 Git 的大部分是用 C 语言实现的,C 语言是几乎所有系统上的通用语言,但是 Git 的很大一部分是作为 shell 脚本和 Perl 脚本运行的。例如, Git merge 动作作为 Python 脚本运行。

所有这些意味着 Git 还不能在 Windows 上运行。

And all this meant that Git could not yet run on Windows.

如果您正在寻找 Windows 上更好的 Git 终端体验,GitKraken Client 是不二之选。Git 增强的终端为 Git 命令、CLI diff 视图等提供了自动建议和自动完成功能。

If you’re looking for a better Git terminal experience on Windows, look no farther than GitKraken Client. The Git-enhanced terminal offers auto-suggest and auto-complete for Git commands, CLI diff view, and more.

Johannes 在 2006 年接受一份需要使用 Windows 的自由职业时发现 Git 不能在 Windows 上运行。作为一个忠实的 Linux 和 Git 社区成员,他不太乐意放弃他喜欢的工具链。使用 Windows 意味着他不得不使用 Apache Subversion 或微软的 Visual SourceSafe,他认为这两者都不如 Git。

而 Johannes 看到了一条帮助他弥合差距和改进工作流的途径,即使用 git-svn ,这是 Subversion 库和 git 之间的双向操作。但是为了让他的计划成功,他首先需要让 Git 在 Windows 上运行。

While Johannes saw a path to help him bridge the gap and improve his workflows though using git-svn, a bidirectional operation between a Subversion repository and Git. But to make his plan work, he first needed to make Git work on Windows.

让 Git 在 Windows 上工作

Johannes 让 Git 在 Windows 上运行的第一条途径是利用 Cygwin,这是一个允许你在 Windows 上运行 Linux 软件的系统。Johannes 很快发现了 Cygwin 的一个问题:它编译的每个程序都必须使用 Cygwin 运行时,这是一个仿真层,运行这种仿真需要付出很高的速度代价。虽然它非常慢,但变通方法仍然可用,并允许 Johannes 获得 Git 的所有好处,如打补丁、 Git rebasing ,以及预先检查每个单独的提交。

即使存在速度问题,Git 也能让 Johannes 更高效地工作。他的工作速度超过了经理的预期。他远远领先于利用他的工作的另一个团队,以至于他被要求暂停该项目的开发一段时间。这给了 Johannes 一个研究他的想法的机会:“移植 Git 在 Windows 上本地运行真的有多难?”这是他今天仍在进行的旅程。

The first path Johannes followed to make Git run on Windows was leveraging Cygwin, a system that allows you to run Linux software on Windows. Johannes quickly discovered a problem with Cygwin: every program it compiles must use the Cygwin runtime, which is an emulation layer, and running this emulation comes at a steep price of speed. While it was very slow, the workaround was still usable and allowed Johannes to get all the benefits of Git, like patching, Git rebasing, and pre-reviewing each individual commit.

Even with the speed issues, Git allowed Johannes to work much more efficiently. He ended up working faster than his manager thought he should be able to work. He got so far ahead of another team that leveraged his work that he was asked to hold off on development for that project for a little while. This gave Johannes a chance to work on his idea: “how hard can it really be to port Git to run natively on Windows?”

This is a journey he is still on today.

将 Git 移植到 Windows

Johannes 被迫立即克服的一个障碍是直接从 Linux 移植 Git 根本不可能。Git 的很大一部分是作为 shell 脚本实现的,Windows 上没有本地 shell 脚本解释器。虽然他可以接近利用 Git BashMSys/MINGW 端口,并让类似 Git commit 的命令工作,但像git log这样的许多其他命令实际上并不可用。

大约就在这个时候,Johannes 停止了为一家基于 Windows 的公司工作,本着真正的社区精神,他把他在 Git for Windows 中创建的东西交给了 Git 邮件列表。大约有半年时间,他没有听到任何回音;没有人接这个项目。但是有一天,他终于听说另一个 Windows 用户已经让他的代码工作了,而且那个用户也分享了他的补丁。其他 Windows 用户也开始尝试让他的代码工作,但几乎没有人能让所有的系统组件都按预期工作。

It was about this time that Johannes stopped working for a Windows-based company, and in true community spirit, he handed what he had created in Git for Windows off to the Git mailing list. And he heard nothing back for about half a year; no one picked up the project. But one day, he finally heard that another Windows user had gotten his code to work and that user too had shared his patches. Other Windows users started popping up who also attempted to make his code work, but almost no one could get all the system components lined up to make the code work as expected.

不同的社区,不同的心态

几年后,有人联系 Johannes,让他加入微软,成为 Windows 开发人员的专业 Git。

After a couple of years, someone contacted Johannes about coming aboard as a professional Git for Windows developer inside Microsoft.

他准备迎接新的挑战。他在微软遇到的人让他惊讶,不仅是他们的技术技能,还有他们对开源的思考方式。与微软的部分交易是,Git for Windows 将不是微软的产品,它将保持开源,但微软将向 Johannes 支付维护费用。微软对此非常高兴,因为他们想在开源社区尝试一种新的方法。

Johannes 于 2015 年 8 月开始在微软工作,距离开始 Git for Windows 项目整整 8 年。微软付钱让他专注于改进他的项目,他开始做一些已经搁置了很久的事情。例如,替换多年未维护的底层 Msys 系统,并在 Git 库中支持不仅仅是 ASCII。Johannes 很快采用了新的 Msys2 运行时,该运行时得到了社区的积极支持。这一改变意味着,Git for Windows 第一次拥有了一个真正优秀的终端,你可以在那里调整和复制文本。Git for Windows 用户对这些更新非常满意!

事情就是这样开始的。但是,还有许多工作要做,前面还有许多挑战。

That was how it started. But there was a lot more work to be done and a lot more challenges ahead.

GitKraken 是 Git 工具的一个完美例子,它已经发展到可以应对新的挑战,具有交互式拉请求管理、合并冲突检测和解决、深度链接等高级功能。

GitKraken is the perfect example of a Git tool that has evolved to meet new challenges, with advanced features like interactive pull request management, merge conflict detection and resolution, deep linking, and more.

为 Windows 开发 Git 的挑战

Challenges of Developing Git for Windows

POSIX 和 Windows

任何操作系统的基础都是可移植的操作系统接口,或称 POSIX ,它提供内部 API、外壳和实用程序接口。因为 Git 仅仅是为 Linux 构建的,所以开发人员从来不会费心为诸如文件访问之类的事情引入一个抽象层,而是假设所有用户都可以访问同一个 POSIX。

在 Windows 中,POSIX 子系统在某个阶段已经停止,取而代之的是,操作系统试图模拟与 Linux 相同的 POSIX,不是通过引入新的抽象层,而是通过在 Windows 之上模拟 POSIX APIs。这确实有效,提供了与 POSIX 相同的函数签名和功能,但代价是效率低下。有时,为了使调用工作,您必须采取原始请求甚至没有使用的额外步骤。对于单个调用来说,这是不好的,但是对于许多请求来说,系统消耗的资源比应该需要的要多。

In Windows, the POSIX subsystem had been discontinued at some stage, and instead, the OS tries to emulate the same POSIX as Linux, not by introducing a new abstraction layer, but by emulating the POSIX APIs on top of Windows. This does work, providing the same function signatures and functionality as POSIX, but comes at a price of inefficiency. Sometimes, to make a call work, you have to take additional steps that aren’t even used by the original request. For a single call, this is bad, but multiplied over many requests, the system consumes more resources than should be required.

进程与线程

在 Linux 或 Unix 思维中,为每个任务生成一个全新的进程是很平常的事情。在 Linux 中,就机器资源消耗而言,新进程被视为“超级便宜”的操作。虽然在现实中,它们并不是超级便宜,只是在新过程开始时超级快。这是因为 Linux“作弊”,在进程的后面复制它需要的东西,使它看起来很有效率。然而,在 Windows 上,这样做既不便宜,也没有效率。

产生新进程的另一种方法是使用线程。线程具有线程间适当锁定的优势,因为它们可以访问完全相同的内存池。如果您需要并行化,或者跨多组资源执行代码,工作线程在资源消耗和内存使用方面实际上是更好的模型。线程在 Windows 上得到很好的支持,但在 Linux 上却不行。Linux 维护者最初认为线程是不必要的,并且花了几年时间来添加对它们的支持。即使在今天,在 Linux 上使用线程仍然不是一种非常流畅的体验,因此,并行化在 Git 中是一个真正的挑战。

例如,如果你对数百万个文件执行一个 Git checkout ,你不可能真正拥有并行进程,因为那是超级昂贵的。这些不同的进程可以完全相互绊倒,霸占总线,而 CPU 只是等待,因为这些进程基本上阻碍了彼此的良好执行。有了线程,在可用资源之间划分任务来执行诸如 Git checkout 之类的事情就容易多了,对操作系统的开销也少了。

For example, if you perform a Git checkout against millions of files, you can’t really have parallel processes because that’s super expensive. These different processes can completely stumble over each other, hogging the bus while the CPU just waits because the processes basically hinder each other from performing well.  With threads, dividing tasks among the available resources to perform things like Git checkout is all much easier to do, with much less overhead for the operating system.

明蒂不是巴什

Git for Windows 最初使用 cmd 作为其外壳,但现在使用 Mintty 。虽然这一改变使得有效运行 Git 成为可能,但是也有一些折衷。Mintty 并不能完全替代 Bash。例如,任何颜色输出都需要额外的步骤,这增加了模拟与在 Linux 上使用 Git 和 Bash 相同的体验的操作开销。此外,不允许转义序列(允许光标位置控制和样式选项)。

行尾

最初,Windows 操作系统的前身 DOS 操作系统设置了许多 Windows 采用的标准,不允许除回车之外的行尾。如果你想到一个物理打印机,回车告诉机器回到行的开始,然后对齐饲料向前移动过程。随着开发人员转向终端和光标对齐,返回字符不再严格地意味着需要将光标返回到行首;你可以把光标放在那里。

Linux 和 Windows 在行尾的工作方式上有所不同。使用 Git for Windows 意味着您总是必须转换到 Unix 行尾。当二进制数据被误认为文本时,这就成了一个非常大的问题。数据被破坏,你的 jpegs 文件将无法加载。

符号链接

符号链接是文件引用其他文件或目录的方式。当然,考虑到操作系统之间的其他潜在差异,Linux 和 Windows 处理这个问题的方式不同。在 Windows 上,符号链接需要指定链接指向什么:文件或目录。如果目标不存在,Windows 会很不高兴。另一方面,Linux 不需要指定这些信息。此外,符号链接或符号链接指向的东西可以改变,而不会使系统在 Linux 上无法操作。

路径问题

Johannes 认为跨平台开发的最大挑战是路径问题。因为 Windows 上没有原生的 Unix shell,所以它使用 Msys2 Bash 工具,该工具只假装路径看起来像在 Linux 或 Unix 上一样。在 Linux 绝对路径中,文件和目录的完整路径以正斜杠开头。分隔符只是正斜杠,绝不是反斜杠。在 Windows 上,绝对路径以驱动器号开头,然后是冒号,最后是反斜杠。

在 Windows 上,你没有单一的根目录;每个驱动器都有一个根目录。Git 存在于 Linux 系统的根目录中,但是它存在于 Windows 中完全不同的地方。当您转到 Msys2 Bash 中的根目录时,它实际上会扩展到 Git 安装的 Windows 路径。为了支持 shell 脚本,Msys2 试图在 Windows 和类似 Unix 的路径之间动态转换,这在某些情况下可能会出错。例如,使用以正斜杠开头并被转换为 Windows 路径的正则表达式会导致一些重大问题。

跨平台协作就是跨文化协作

虽然 Johannes 不知道确切的数字,但他认为 Windows 用户有 300 万到 1000 万 Git。约翰内斯只是为数百万人维护工具的一个人。🤯他总是在寻找那些想要克服技术挑战和跨文化障碍的贡献者来继续改进和发展 Windows Git。

协作很有挑战性,尤其是跨平台的协作,但最终,我们的软件会因此变得更好。

**Cross-Platform Collaboration is Cross-Cultural Collaboration **

While Johannes doesn’t know exact numbers, he thinks there are between 3-10 million Git for Windows users out there. And Johannes is just one person maintaining a tool for millions. 🤯 He is always looking for contributors who want to overcome both the technical challenges and the cross-cultural hurdles to continue to improve and evolve Git for Windows.

It’s challenging to collaborate, especially cross-platform but in the end, our software will be better for it.

Git for Writers |如何用 Git 和 GitKraken 组织项目

原文:https://www.gitkraken.com/gitkon/git-for-writers

https://www.youtube.com/embed/coEq9RXJ1E8?feature=oembed

视频

Git 如何帮助你在一个项目上保持有条理,比如写一本书?

在 2021 年 GitKon Git 会议的一次演讲中,施巧灵·沙加里安解释道:“当我开始写书时,我并没有预料到用 Git 写作。在过去的生活中,我是一名小说编辑,在一家小型出版公司工作,所以我习惯于在微软 Word 或谷歌文档中工作。”

施巧灵发现使用 Git 对作家有很多好处,并分享了她使用 Git 写书的过程和推荐的工具。

为什么选择 Git 进行写作?

“当开始写我的书的时候,”施巧灵说,“谷歌文档实际上感觉更像是一个障碍。空白页似乎真的打动了我。我需要一些低压力的东西,在那里我可以关闭我的大脑,只是写作。这可能是垃圾,但我必须让球滚动起来,这很难。”

当你开始写一本书时,希望你已经有了某种基础,比如博客文章集,可以帮助你勾勒出可能的章节。

如果您刚刚开始使用 Git,即使您以前有过开发经验,也可能会有点害怕。例如,也许你只对向你的主分支提交某些东西感到自信,但不知道如何创建 Git 分支或理解什么是 Git 拉取请求

如果您是 Git 的新手,这可能会令人生畏,您可能会害怕自己会做错事或弄坏东西。不要害怕!Git 可以非常灵活和直观,特别是当你使用 GitKraken Git client 以一种对技术人员和非技术人员都有意义的方式可视化你的代码时。

GitKraken 易于阅读的提交图将帮助您可视化分支结构和文件历史,并查看谁在何时进行了哪些更改,因此您可以轻松理解面前的信息,即使您对 Git 是全新的。

用 Git 写单词

如果你正在使用 Git 写一本书,文件不需要填充代码;它们可以充满文字。所以,你不仅可以用 Git 来写作,还可以用它来勾勒你的书。

还没准备好与世界分享吗?没问题。创建一个私人的 Git 储存库,在那里你可以把你对你的书的每一个想法都放进去。它不一定要有条理或漂亮,但会给你一个很好的起点。

您的 Git 存储库可以是一个放置和思考东西的地方,在这里您可以随心所欲地写,而不会受到文字处理器的思维模式的阻碍。

写一本书对每个作者来说都是一种独特的体验,每个写作项目都有自己的约束和限制,这使它不同于以前的写作项目。对于作者来说,使用 Git 是从不同的角度着手一个新项目的好方法。

在这里,每一个 Git 分支代表一本书的一个组成部分:介绍、一个示例章节和顶部的主要章节。例如,您也可以将它组织成第 1 部分、第 2 部分和第 3 部分;开始、中间和结束;第一章、第二章、第三章等等。;诸如此类。然而,你想组织和概述你的书。

GitKraken 看板,用于组织想法

除了需要一个知识库来组织你的写作,你可能还需要一个项目管理工具来帮助你组织你的想法和与书相关的任务。头脑风暴和组织是写书开始阶段的重要一步。

看板是一种将项目组织成列的方法,例如To DoIn ProcessDone。每列包含与项目任务相关联的单独卡片。看板可以以多种方式组织起来,用于管理个人和工作项目。随着项目任务状态的更新,卡片可以从一列移动到另一列。

在这个使用 GitKraken Boards 的例子中,你可以看到这些列被概括为思想类别,或者一本书的主题:国际象棋基础,战略,主题思想,以及要组织的杂项思想。

头脑风暴的时候,不要害怕把自己所有的想法都加进去;好的,坏的,哑的,都无所谓。你只是想在一个地方把它全部写下来。你可能会花上几周或几个月的时间来组织、重新安排和移动你的白板,直到你完成“最终产品”你甚至可能想把你的卡片变成实体抽认卡,组织一个真人大小的看板——任何对你有用的东西!

随着关于你的书的想法变得更加具体和深思熟虑,你的头脑风暴过程将会发展。你甚至可能想要创建一个全新的版面,用专栏代表你的书的最后几章或集体主题。

基本上,你想要比你最初的想法更具可读性的东西。这将有助于你理解你的书的核心内容,以及在开始实际写作之前事情是如何组合在一起的。

这个阶段的事情不一定要完美;你仍然可以根据需要移动东西。在写书过程的早期阶段,有一个灵活的、不会让人感觉一成不变的结构是很好的。

在这个例子中,我们将使用第一个专栏“视觉记忆计算”作为我们的第一个示例章节,所以让我们从那里开始写吧!

GitKraken 的看板板提供了 GitHub 问题同步、拉请求自动化和更多专门为开发人员和团队设计的功能。

Get GitKraken Boards Free

作家 Git 入门

现在,计划好一切并与他人谈论你的书是一回事,但真正开始写作完全是另一回事。这一步令人生畏,虽然 Git 可能无法消除过程中的所有恐惧,但它可以帮助最小化焦虑。

Git 可以帮助快速启动写作过程的原因之一是打破了在文字处理器中写作的思维模式。

用 Git 起草你的书

一般来说,作家习惯于从索引开始,然后你写啊写,然后你就进入下一段。然后这最终导致建造一个类似于一本书的东西。

通过在 Git 中工作,它只是一页上的文字。下面的例子展示了在 GitKraken 打开的一本书的草稿,你可以看到这一行一直在继续;你可以一直写到一个想法的结尾,当你想要一个新的段落时,就下到下一行。

Git 中没有拼写检查,所以没有弯弯曲曲的线条盯着你告诉你你做错了什么,这在你刚刚开始写草稿的时候是一个很大的解脱。你可以感觉不受写作机制的束缚。

在这个过程中的这一点上,它不是关于句子如何很好地流动在一起。你可以把这些都写出来,然后再清理。

GitKraken 通过 Git 增强的终端体验革新了 Git 工作流,提供了强大的可视化功能,如提交图和比较、历史和责任视图。

使用 Git 拉取请求编辑您的图书

当你把所有的想法都放入 Git 并写下所有东西后,下一步就是编辑了。

如果可能的话,你应该获得人工编辑的帮助。这可能是一个专业的图书编辑,或者如果你没有,也可能是一个和你从事同一项目的同事,甚至只是一个朋友。最重要的是,你选择了一个相信你和你的工作的人,一个足够精通技术来学习如何使用 GitHub 的人。

你可以用 Git 编辑你的书的一种方法涉及到 GitHub pull 请求。您和您的编辑器可以为所需的编辑创建一个拉请求。任何变更都成为拉取请求;你有几个并不重要。

Git pull request,或 PR,只是一个花哨的名称,用来表示对现有版本进行了更改。当您的编辑器有更改时,您将收到通知,并可以在“合并”它们之前查看更改,从而创建新版本。在 Git 中, Git merge 动作用于将一个分支的变更合并到另一个分支。

在下面的拉请求示例中,您可以看到请求的更改是向sample-chapter分支“添加标题”,拉请求是Verified,以及相关的提交 ID。

您的下一步将是合并拉请求,这意味着您正在用 PR 中存在的任何更改来更新新版本。

现在,在您使用 GitKraken Git 客户端合并一个 pull 请求之后,您将能够以多种方式查看您的更改。下面,您可以看到在 Diff 视图中显示的文件更改,其中红色表示您的原始草稿,绿色表示编辑过的版本,蓝色表示注释。

你将不断重复起草和编辑的步骤,直到你完成,或者你的最后期限到了,无论哪一个先到了。😅

Git 给作者带来的好处

使用 Git 组织任何类型的数据都有很多好处,包括一本书的单词。与使用传统的文字处理器相比,Git 给作者带来了一些最重要的好处:

  • Git 提供了更详细的版本历史
  • Git 完全透明,评论不会像在 Google Docs 或 Word 中那样消失
  • 协作更好。Git 被设计为在流程的不同阶段由多人使用。一个人可以编辑,而另一个人可以起草,等等。

如果你使用 GitKraken,你可以看到你的笔记清楚地列在你的知识库中,每次提交的时候。

归根结底,Git 是围绕版本历史构建的,就像所有主要的文字处理器一样。如果您进行了更改,然后决定不喜欢它们,您可以很容易地回到以前的版本,继续尝试哪个版本最适合您。

在 Git 中,每次提交都是不同的,所以如果你想添加一个新的更改,在 GitKraken 的提交图的顶部总是可以很容易地访问到。

在上面的例子中,您可以在 GitKraken 中看到一个提交,它显示提交的主题是Added headings,所做的更改是Added h1, h2 headings to better structure for reading points。你的评论永远不会消失;它们将总是与唯一的提交 ID 号相关联,在本例中是95a6ea,因此当需要讨论时,您和您的编辑可以引用提交 ID 来轻松地搜索和找到变更。

别忘了 Git 是为创作过程中不同阶段的多人使用而设计的——一个人负责编辑,一个人负责起草,等等。在 GitKraken 中,图表中的每个提交都显示了谁用他们的 gravatar 进行了更改。

如果您刚刚开始使用 Git,GitKraken 可以帮助您了解 Git 的复杂性,这样即使您的技术经验有限,您也可以了解您的项目历史并控制您的工作流程。

准备好为作家使用 Git 了吗?

归根结底,写作不是在真空中进行的。当然,实际写东西的行为是非常孤独的,但是大纲、头脑风暴和编辑过程需要多人的合作。

如果您准备好开始使用 Git for writers,请考虑以下步骤:

  1. GitKraken 板集思广益,组织你的想法。
  2. 用 Git 客户端将你的章节概述为 Git 分支。
  3. 使用 Git pull 请求和 GitHub 和 GitKraken 进行编辑。
  4. 通过合并“拉”请求,使用提交来更改文件。

Git CLI 与 GUI

原文:https://www.gitkraken.com/blog/git-gui-vs-cli

如果您是一名软件开发人员,那么您很有可能对使用命令行界面进行 Git 操作有自己的看法。

许多开发人员认为掌握 Git CLI 是经验和技能的壮举。他们对自己的 CLI 流利程度感到非常自豪,并有所保护。

对于一些开发者来说,这是彻头彻尾的浪漫;命令行界面为您的计算机提供了亲密的体验。就像和你的机器来来回回的对话。

但是就像 Dan,一个经验丰富和业界尊敬的软件开发者解释的那样,我们非常相信 GUI 提供的巨大好处,这在一般的 Git CLIs 中是不可能的:

我当然非常了解 Git,老实说,我认为我在 Git GUI 中比在命令行中要快得多,效率也高得多——而且我在 CLI 中也不慢。

– Dan Clarke, blogger and co-organizer of .Net Oxford group

Git CLI 与 GUI

正如我们已经确定的,喜欢 CLI 的开发人员也喜欢 CLI。许多人最初发现 GUI,比如 GitKraken,是对他们多年辛苦编写代码的一种冒犯。

羞耻是真实的。看看 Ben Halpern 的这篇 Twitter 帖子,他是一位有影响力的程序员和 Dev.to 的创始人。

羞耻是真实的。看看 Ben Halpern 的这篇 Twitter 帖子,他是一位有影响力的程序员和 Dev.to 的创始人。

Ben 对他收到的回复非常感兴趣,于是他写了这篇后续文章“关于 GUI-shaming 和一大堆热 takes,”来强调一些评论。

图形用户界面并不适合那些不想花时间和精力去发现某个东西到底是如何工作的人。它们和其他工具一样都是工具。

我们在这里告诉你们这些“命令行爱好者”,并不是非此即彼!将 Git 终端与 Git GUI 一起使用是有价值的,实际上是并排使用。

– Ben Halpern, Founder of Dev.To

我们在这里告诉你们这些“命令行爱好者”,并不是非此即彼!将 Git 终端与 Git GUI 一起使用是有价值的,实际上是并排使用。

使用 GitKraken 改善您的 Git CLI 体验

开发人员的口头禅是“更聪明地工作,而不是更努力。”GitKraken 在一个强大的 Git 客户端中提供了 Git GUI 的视觉、直观优势和 CLI 的闪电般速度!让我们深入了解 GitKraken Git client 如何提高您的工作效率,改善与团队的协作和沟通。

开发人员的口头禅是“更聪明地工作,而不是更努力。”GitKraken 在一个强大的 Git 客户端中提供了 Git GUI 的视觉、直观优势和 CLI 的闪电般速度!让我们深入了解 GitKraken Git client 如何提高您的工作效率,改善与团队的协作和沟通。

如果没有 GitKraken 提供的额外的可视上下文,使用 CLI 的时间太短了。更有信心地执行 Git 操作,因为您可以在整个过程中准确地验证文件发生了什么。

如果没有 GitKraken 提供的额外的可视上下文,使用 CLI 的时间太短了。更有信心地执行 Git 操作,因为您可以在整个过程中准确地验证文件发生了什么。

查看您的 Git 提交历史

让我们比较一下在命令行界面中查看 Git 提交历史的体验和在 GitKraken Git 客户端中查看漂亮的彩虹图的体验。

在 CLI 中,查看您的 Git 提交图的过程需要键入:

git log --all --decorate --oneline --graph 

然后你得到这个…

左边的“ASCII 艺术”显示了您的 Git 分支和合并,旁边是包含 SHA(安全哈希算法)的行,它应该为您提供关于哪些文件发生了更改的有用上下文,但很难直观地理解,尤其是在快速浏览时。

在 GitKraken 中,你可以清楚地看到每一次犯罪是什么时候由谁犯下的;您的所有 Git 分支以及它们被合并的位置;您可以单击任何 commit 来快速打开文件并查看差异!更多信息请见下文…

你的团队成员很容易通过他们的 Gravatar 图像区分出来;每个合作者和他们所有的提交都以一种独特的颜色显示在图表上,为所有人提供了一个美丽、有用、彩色的项目路线图。

左边的“ASCII 艺术”显示了您的 Git 分支和合并,旁边是包含 SHA(安全哈希算法)的行,它应该为您提供关于哪些文件发生了更改的有用上下文,但很难直观地理解,尤其是在快速浏览时。

在 GitKraken 中,你可以清楚地看到每一次犯罪是什么时候由谁犯下的;您的所有 Git 分支以及它们被合并的位置;您可以单击任何 commit 来快速打开文件并查看差异!更多信息请见下文…

现在,无论您是选择在 GitKraken 的 Repo 选项卡还是 Terminal 选项卡中执行 Git 操作,您都可以看到一个可视化的提交历史,您的大脑可以快速消化和理解。

Git 差异视图

GitKraken Git GUI 在单独使用命令行界面时不可用,它提供了为每次提交添加大量上下文的能力,这对于参与项目的其他人来说很容易看到。

提交信息可以在 GitKraken 的提交面板中找到,它位于图表的右侧,是粉丝最喜欢的功能。试着快速说五遍…

您可以在这里看到未转移和转移的文件。只需选择一个文件,在 Diff 视图中一行一行地查看更改,向您准确显示对代码做了哪些更改。GitKraken 会突出显示修改后的代码,让您在几秒钟内找到所需的上下文。

Git 差异视图

GitKraken CLI 提供的最酷的功能之一是能够与 GitKraken 传奇的可视化交互,如 Git Diff 和责备。这是通过定制的gk命令实现的,包括:

gk diff:查看两次提交之间发生了什么变化。

查看文件或 Git 提交中发生了什么变化,以及是谁做出了这些变化。

gk history:查看文件历史视图。

GitKraken CLI 提供的最酷的功能之一是能够与 GitKraken 传奇的可视化交互,如 Git Diff 和责备。这是通过定制的gk命令实现的,包括:

查看文件或 Git 提交中发生了什么变化,以及是谁做出了这些变化。

随着我们对 GitKraken CLI 的改进,gk命令库将继续扩展。

Git 合并冲突编辑器

GitKraken 最强大的功能之一是合并冲突编辑器。当单独使用命令行界面时,根本没有什么可比较的。

当你在 GitKraken 中遇到 Git 合并冲突时,只需点击冲突文件打开编辑器。

您将看到三个不同的部分:上半部分并排的两个部分向您显示了您试图合并的文件的不同版本。下半部分的第三部分显示了输出,允许您快速识别问题发生的位置,从而轻松选择要保留或丢弃的内容。

Git 合并冲突编辑器

GitKraken Git 客户端中的合并冲突编辑器允许你并排查看代码的冲突版本,甚至允许你在文本编辑器中编辑输出(如果你使用的是付费的 GitKraken 计划)。

在没有可视化和直观的 GitKraken Git 客户端的情况下解决 Git 合并冲突会将您的注意力从原本顺畅的工作流程上转移开,从而冒着损失时间和精力的风险。

GitKraken 不仅能帮助你解决冲突,它还能在冲突发生之前帮助你避免冲突。🤯GitKraken 的一个团队 Git 特性能够看到两个团队成员在处理同一个文件,在左侧面板用一个警告⚠️图标提醒你潜在的 Git 合并冲突。

GitKraken 不仅能帮助你解决冲突,它还能在冲突发生之前帮助你避免冲突。🤯GitKraken 的一个团队 Git 特性能够看到两个团队成员在处理同一个文件,在左侧面板用一个警告⚠️图标提醒你潜在的 Git 合并冲突。

不借助 GitKraken 之类的工具,在命令行中解决合并冲突既困难又耗时。合并冲突检测和解决使得使用 Git 更加安全、简单和强大。

风险更低的 Git Rebase

当执行 Git rebase 时,GitKraken 可以伸出援助之手,尤其是当事情没有按计划进行时。

如果您只使用 CLI,确定问题所在可能会非常困难,但是 GitKraken Git GUI 提供了直观的资源来帮助您确定问题源自哪里以及如何修复它。

与合并冲突发生时收到的错误通知类似,GitKraken 也让您知道一个 Git rebase 何时失败,并允许您快速查看原因以及如何解决它。

如果在 CLI 中重设基础时遇到冲突,则必须离开中心工作区,打开文本编辑器,找到冲突,编辑文本以解决问题,保存更改,然后返回命令行以暂存更改,运行更改,然后继续重设基础。

现在,您可以在 GitKraken Git 客户端中访问 Git CLI 和 GUI 的好处,这样您就不会浪费时间重新设置基础或解决过程中出现的冲突。

风险更低的 Git Rebase

拥抱 Git GUI 的视觉优势

顾名思义,图形用户界面关注的是,用户。GitKraken 的设计非常强调用户体验,无论您选择在 Repo 选项卡还是终端选项卡中执行 Git 操作。

上周你花了多少时间编码?不妨享受一下,对吧?有了 GitKraken 提供的额外的视觉环境,保证您在使用 Git 时会有更愉快的体验,同时还能提高工作效率和节省时间。

你的团队成员很容易通过他们的 Gravatar 图像区分出来;每个合作者和他们所有的提交都以一种独特的颜色显示在图表上,为所有人提供了一个美丽、有用、彩色的项目路线图。

在某些情况下,即使是最顽固的 CLI 用户也会因为 GUI 的基本优势而更有效率,这些优势最终与人类固有的特征联系在一起。

在某些情况下,即使是最顽固的 CLI 用户也会因为 GUI 的基本优势而更有效率,这些优势最终与人类固有的特征联系在一起。

Git GUI 的基本功能是对屏幕空间的可视化操作和利用鼠标点击屏幕的灵活性。

顾名思义,图形用户界面关注的是,用户。GitKraken 的设计非常强调用户体验,无论您选择在 Repo 选项卡还是终端选项卡中执行 Git 操作。

上周你花了多少时间编码?不妨享受一下,对吧?有了 GitKraken 提供的额外的视觉环境,保证您在使用 Git 时会有更愉快的体验,同时还能提高工作效率和节省时间。

还记得之前的那些自定义gk命令吗?我们还有几个可以让你自定义 GitKraken 提交图相对于你的终端的位置。

GitKraken CLI 中键入gk graph来切换图形的开和关,并添加topbottomleftright来改变位置。

GitKraken CLI 中键入gk graph来切换图形的开和关,并添加topbottomleftright来改变位置。

– Micah Linnemeier, UX designer at IBM

Git GUI 的基本功能是对屏幕空间的可视化操作和利用鼠标点击屏幕的灵活性。

我们已经提到了下一级多色中央提交图,但是 GitKraken Git 客户端也有两个侧面板,为您的视觉体验增加了更多价值,并提供了连续的上下文。

右边的 commit 面板是存放和提交更改的中枢。

左侧面板显示了您的分支、远程、 Git pull 请求、标签、Git stages和子模块。您可以通过在左侧面板顶部的字段中键入内容来轻松过滤文件和其他信息。

老鼠是你的朋友🐭

许多 GitKraken 用户评论说,直到他们在 GitKraken 中体验了悬停、点击和拖放所提供的功能,他们才意识到在只使用 CLI 时他们多么怀念使用鼠标。

此外, GitKraken Git GUI 做了一件令人难以置信的工作,为您在工作流程中的特定时间可以采取的行动提供了有用的、直观的提示。让我们回顾一下 GitKraken 中几个最流行的鼠标功能。

我们已经提到了下一级多色中央提交图,但是 GitKraken Git 客户端也有两个侧面板,为您的视觉体验增加了更多价值,并提供了连续的上下文。

拖放以在 Git 中推送和拉取更改

将 GitKraken 中的一个分支拖放到另一个分支,以生成一个可能的操作列表,如合并、重定基础或从 GitHubGitLabAzure DevOpsBitbucket 上的集成 Git 存储库中创建拉请求。

将 GitKraken 中的一个分支拖放到另一个分支,以生成一个可能的操作列表,如合并、重定基础或从 GitHubGitLabAzure DevOpsBitbucket 上的集成 Git 存储库中创建拉请求。

GitKraken 工具栏=简易 Git 操作

GitKraken UI 顶部的工具栏提供了对包括推和拉在内的几个主要命令的快速和方便的访问。你所要做的就是移动并点击你的鼠标!

此外, GitKraken Git GUI 做了一件令人难以置信的工作,为您在工作流程中的特定时间可以采取的行动提供了有用的、直观的提示。让我们回顾一下 GitKraken 中几个最流行的鼠标功能。

Furthermore, the GitKraken Git GUI does an incredible job of providing helpful, intuitive prompts for actions you can take at certain times during your workflow. Let’s review a few of the  most popular mouse-enabled functions in GitKraken.

如果我们在这里没有提到神奇的UNDO按钮,那将是我们的疏忽,当你不正确地执行 Git merge 时,或者不小心删除了一系列提交,这只是举几个例子。

您也可以通过单击终端图标从工具栏访问 GitKraken CLI。

有键盘爱好者吗?别担心,我们没有忘记你!你还会看到一个魔棒图标,允许你打开 GitKraken 命令面板,让你访问一个广泛的快捷键清单。

GitKraken 工具栏=简易 Git 操作

GitKraken UI 顶部的工具栏提供了对包括推和拉在内的几个主要命令的快速和方便的访问。你所要做的就是移动并点击你的鼠标!

说到快捷键,对于 Windows 和 Linux,用户可以通过点击Ctrl + /来查看所有支持的键盘快捷键的完整列表,对于 Mac,用户可以点击Cmd + /

说到快捷键,对于 Windows 和 Linux,用户可以通过点击Ctrl + /来查看所有支持的键盘快捷键的完整列表,对于 Mac,用户可以点击Cmd + /

右键单击可访问 Git 操作

当你右击 GitKraken 的中央图中的任何 Git 提交时,会出现一个选项下拉菜单,允许你创建一个 Git 分支Git cherry pick 、reset 或 revert a Git commit 。此外,您可以在右侧提交面板的任意位置单击鼠标右键来创建新文件。

右键单击中央图中的本地分支,或者左侧面板中的远程分支,会出现一个菜单,其中有许多选项,如 push、pull、设置 Git 分支的上游,删除 Git 分支、重命名 Git 分支,等等。上下文菜单中选项的数量将取决于您签出的分支。

右键单击中央图中的本地分支,或者左侧面板中的远程分支,会出现一个菜单,其中有许多选项,如 push、pull、设置 Git 分支的上游,删除 Git 分支、重命名 Git 分支,等等。上下文菜单中选项的数量将取决于您签出的分支。

自动完成和自动建议 Git 命令

GitKraken CLI 中独有的功能是自动完成和自动建议 Git 命令的魔力。

如果您开始在 GitKraken CLI 中键入 Git 命令,您将看到一个建议操作填充列表。

auto-suggest Git commands 特性将提供关于您可以从每个 Git 操作中得到什么的提示,并且可以帮助您更好地理解像-a-M这样的参数,因为您需要应用它们。

不需要记住命令或它们做什么;您的新内置 CLI 助手将帮助您在命令行界面中导航,增强您的信心和知识。

不需要记住命令或它们做什么;您的新内置 CLI 助手将帮助您在命令行界面中导航,增强您的信心和知识。

生命太短暂,不能在没有 GUI 的情况下使用 Git CLI

自动完成和自动建议 Git 命令

我有时会遇到这样的人,他们觉得使用命令行 Git“更好”,但是却没有明确的理由。这些人可能觉得他们应该在 shell 中工作,即使这会导致回避 Git、频繁出错或者将自己限制在一小组~3 个 Git 命令中。这是适得其反的。

如果您开始在 GitKraken CLI 中键入 Git 命令,您将看到一个建议操作填充列表。

如果您错过了 GitKraken Git 客户端提供的无数好处,那么 Git 不会“更好”。通过使用 Git CLI + GUI,提高工作效率并改善团队协作,从而改善您在命令行界面中的工作流程体验。

不需要记住命令或它们做什么;您的新内置 CLI 助手将帮助您在命令行界面中导航,增强您的信心和知识。

GitKraken 是市场上唯一一个提供 Git 增强终端的 Git 客户端,具有强大的可视化功能,为开发人员提供了使 Git 更简单、更安全和更高效所需的所有工具。

生命太短暂,不能在没有 GUI 的情况下使用 Git CLI

Life’s Too Short to Use the Git CLI without a GUI

我有时会遇到这样的人,他们觉得使用命令行 Git“更好”,但是却没有明确的理由。这些人可能觉得他们应该在 shell 中工作,即使这会导致回避 Git、频繁出错或者将自己限制在一小组~3 个 Git 命令中。这是适得其反的。

I sometimes encounter people who feel it’s “better” to use command line Git, but for very ill-defined reasons. These people may feel like they should work in the shell, even if it leads to Git-avoidance, frequent mistakes, or limiting themselves to a small set of ~3 Git commands. This is counterproductive.

– Jenny Bryan, Software Engineer at RStudio & Adjunct Professor at the University of British Columbia

如果您错过了 GitKraken Git 客户端提供的无数好处,那么 Git 不会“更好”。通过使用 Git CLI + GUI,提高工作效率并改善团队协作,从而改善您在命令行界面中的工作流程体验。

Git can’t be “better” if you’re missing out on the countless benefits offered by the GitKraken Git client. Improve your workflow experience in the command line interface with increased productivity and improved team collaboration by using a Git CLI + GUI.

GitKraken 是市场上唯一一个提供 Git 增强终端的 Git 客户端,具有强大的可视化功能,为开发人员提供了使 Git 更简单、更安全和更高效所需的所有工具。

GitKraken is the only Git client on the market that offers a Git-enhanced terminal with powerful visualizations, giving developers all the tools they need to make Git easier, safer and more productive.

学习 Git:什么是 Git 钩子?

原文:https://www.gitkraken.com/blog/git-hooks

从旨在帮助软件开发人员集中精力编写代码的播放列表中进行选择。播放列表包括流行的音乐剧、视频游戏曲目、棕色噪音等等。

面向吉拉云的 Git 集成:2022 年回顾-专题综述

原文:https://www.gitkraken.com/blog/git-integration-for-jira-cloud-2022-recap

感谢您成为我们的客户并信任我们的团队。2022 年对于吉拉的 GitKraken 和 Git 集成来说是重要的一年。我们通过将客户的吉拉和 DevOps 数据更紧密地结合在一起,在帮助客户提高运营效率的使命方面取得了许多进步。

让我们快速看一下 2022 年的一些改进,然后先睹为快看看 2023 年有什么。

吉拉的 CI/CD 将构建和部署引入吉拉

在吉拉看到 Git 分支、提交、标记和拉请求是很棒的——但是对之后发生的事情的可见性呢?

2022 年我们推出了我们的 第一款 免费扩展 用于吉拉的 Git 集成(提示提示,更多即将推出)。借助吉拉的 CI/CD,您可以看到吉拉问题何时包含在构建中并部署到您的环境中。产品和工程团队现在可以全面了解已计划、正在进行和已完成的工作。

吉拉用户可以很容易地在问题细节中看到这些信息,而且它为 JQL 搜索和自动化规则打开了一个全新的世界。你甚至可以看到用Deployments View绘制的发布时间表。

如果你正在使用 GitHub Actions、GitLab CI/CD、Azure DevOps Pipelines 或 Bitbucket Pipelines,确保你添加了扩展——它是免费的!如果您正在使用 CI/CD 的其他工具,并且您希望看到集成的工具(例如 Jenkins),请告诉我们,以便我们考虑将其纳入路线图。

改进的应用程序管理布局和设置

吉拉管理员是保持系统平稳运行并为他们支持的团队进行优化的无名英雄。说到管理吉拉的 Git 数据,我们希望让管理员的生活更轻松,并给他们更多的控制权。今年早些时候,我们彻底检查了 Manage Git Repositories 页面,并将其分为两个页面—Manage IntegrationsManage Repositories

这些页面提供了新级别的可见性和控制,为管理员提供了:

  • 更好地控制连接哪些存储库
  • 更容易的搜索、过滤和排序
  • 可扫描性,可快速查看详细信息,如回购上次编入索引的时间或其中有多少个分支
  • 改进对索引日志的访问

我们收到了很好的反馈,客户喜欢吉拉 Git 集成给他们的控制,但他们想要更多。我们正在继续开发更多的选项来微调默认设置和权限等内容,以使应用程序更紧密地配合开发团队的工作方式。

将数据派驻扩展到欧洲、德国和澳大利亚

Atlassian 继续扩展其数据驻留选项,吉拉的 Git 集成也紧随其后。当您选择吉拉的托管位置时,吉拉的 Git Integration 将在同一位置托管相关数据。

年底,我们增加了在德国进行数据托管的选项。在此之前,澳大利亚和欧洲在 2022 年早些时候。

有了数据派驻服务,您可以更加灵活地控制企业的数据战略。您数据的安全和隐私是我们团队的重中之重。我们继续保持 SOC2 Type II 合规性,参与 Atlassian 安全计划,并保持一个有效的安全漏洞奖励计划。

扩大客户支持和成功团队

吉拉 Git 集成的一个主要原则是我们对客户满意度的承诺。无论是响应功能请求、错误,还是只是一般的设置帮助,我们的团队随时准备并愿意提供帮助。

2022 年,我们的客户成功和支持团队几乎增加了一倍,以更快、更准确地响应您的需求。这提高了我们响应和解决所报告问题的能力。它使我们的主题专家能够花更多的时间与客户合作,以优化吉拉从 Git 集成中获得的价值。

我们还在 2022 年回应了更多的客户反馈,最终在 9 月和 10 月进行了产品使用调查和采访。这一宝贵的见解将有助于我们继续改进产品和服务,以满足并超越您的需求。我们非常感谢去年的参与者,并期待今年有更多的参与者。

2023 年的下一步是什么——更多见解

2022 年很棒,但我们如何超越它?

首先,我们的产品和开发团队采用了新的发布迭代和规划周期。这将有助于我们在 2023 年更频繁、更安全地发布更多功能和修复。

可能更令人兴奋的是,我们将为吉拉扩展发布第二个免费的 Git 集成。吉拉的 Git 集成主要集中在单个问题层面,这个新的应用程序将提供所有 Git +吉拉工作活动的更高层次的视图。这将通过提供有助于跟踪进度和避免延迟的见解,使软件团队能够更智能地构建和更快地交付。

我要强调的是,这个 把你的吉拉数据和你的发展数据 结合在一起,是一个真正强大的工具。它将帮助您计划和响应开发周期中出现的问题,并发现(以前隐藏的)改进机会。

如果出现以下情况,您可以轻松识别(或收到警报):

  • 工作偏离轨道(例如,拉动请求打开时间过长)
  • 发布面临风险(例如,某个问题正在进行中,最后期限即将到来)
  • 团队成员超负荷或速度下降

更多的细节将会公布,我们将会在接下来的几个月里开放一个早期访问计划。如果您有兴趣试用并提供反馈,请联系我们的客户成功团队

感谢您对 GitKraken 和吉拉 Git 集成团队的信任。我们非常感谢有机会将您的吉拉和 DevOps 数据(以及您的团队)更紧密地联系在一起。

更多 2022 年 GitKraken 产品亮点,请在 GitKraken 客户端GitLens 上阅读年度综述博文。

针对吉拉云发布的 Git 集成| Atlassian 数据驻留和新的管理用户界面

原文:https://www.gitkraken.com/blog/git-integration-for-jira-cloud-atlassian-data-residency

针对吉拉云的 Git 集成在上个季度进行了一些重大更新,包括针对欧盟和美国地区的新数据驻留支持,以及针对吉拉管理员的全新界面:让您可以直接从吉拉对管理您的集成和存储库进行更多控制。

让我们深入了解一下针对吉拉云的 Git 集成的新特性和改进:

Atlassian 数据驻留支持

随着团队和组织将任务关键型业务功能迁移到云中,服务提供商满足高度管控客户的各种安全性和合规性要求变得越来越重要。领先于法规遵从性要求决定了他们是否能够快速、高效和有效地交付创新。

我们最近在我们的安全和信任措施上进行了大量投资,包括 SOC 2 审计/报告和与 BugCrowd 合作的公共 bug 奖励计划。我们很高兴地宣布,我们将继续投资支持我们的客户,为我们面向吉拉云产品的同类最佳 Git 集成提供欧盟和美国特定托管服务。

你可以找到更多关于 Atlassian 的数据驻留程序的信息,并且可以查看你的吉拉云实例被绑定到哪个区域

欧盟地区主办:AWS 法兰克福

今年 1 月,吉拉云的 Git 集成增加了对欧盟地点托管的支持,特别是在亚马逊网络服务(AWS)法兰克福地区的托管。所有尝试吉拉云 Git 集成并将其吉拉云实例绑定到欧盟地区的新客户都将被托管在欧盟地区。

美国地区主办:AWS 俄亥俄州

除了欧盟地区,吉拉云的 Git Integration 还有一个美国特定的托管区域,用于托管美国的吉拉站点。截至 2022 年 3 月,所有试用吉拉云 Git 集成并将其吉拉云实例绑定到美国地区的新客户都将在美国地区托管。

如果您希望将吉拉云托管的 Git 集成迁移到欧盟地区或美国地区,对吉拉数据驻留支持的 Git 集成有疑问,请联系支持部门

所有在 2022 年 1 月之前注册的吉拉云客户的 Git 集成都在我们的全球托管区域托管,我们在 AWS 北弗吉尼亚州(美国)托管。

针对吉拉云的 Git 集成所提供的增强的安全性和托管特性只是企业依赖该工具来改进 Git 操作的众多原因中的一部分。

Start a Free Trial Today

面向吉拉管理员的 Git 集成新界面

此次更新包括面向吉拉云管理员的全新 Git 集成用户界面,让管理员能够更好地控制集成和存储库信息的组织方式,以及新的统计、日志和其他功能,帮助管理员解决任何问题(如有任何问题,请联系我们的支持团队)。

新界面提供了许多新功能,用于排序数据、查看连接的集成、存储库的数量,以及可视化配置存储库的新选项。

更好的集成管理

通过过滤、组织等一系列新选项,吉拉云 Git Integration 中的集成管理变得更好了。

集成管理的新设置

此更新包括集成设置对Manage integrations仪表板的更好可见性:

  • 许可
  • 智能提交
  • webhooks 的索引触发器的状态
  • 上次索引的日期

按名称过滤集成&状态

在吉拉云 Git 集成的Manage integrations仪表板上,您将看到一个Status下拉选择器。该工具使您能够根据您的集成所处的状态进行过滤,这在您有大量集成时特别有用。

我们还通过名字添加了能力过滤集成。

在吉拉云 Git 集成的Manage integrations仪表板上,您将看到一个Status下拉选择器。该工具使您能够根据您的集成所处的状态进行过滤,这在您有大量集成时特别有用。

我们还通过名字添加了能力过滤集成。

暂停集成而不移除

从同一个下拉选择器中,您还可以停止或暂停集成,而不必删除它。

暂停集成而不移除

从同一个下拉选择器中,您还可以停止或暂停集成,而不必删除它。

将集成连接到存储库

现在,您可以选择单个或多个存储库来连接到吉拉云 Git 集成中的集成,而不是添加所有存储库。

将集成连接到存储库

现在,您可以选择单个或多个存储库来连接到吉拉云 Git 集成中的集成,而不是添加所有存储库。

新集成向导

现在,吉拉云 Git 集成的管理员可以利用一个新的向导,该向导将使您能够在一个简化的流程中添加集成。

集成向导遵循一个简单的三步设置流程:

选择集成类型

选择 Git 服务

  1. 选择存储库
  2. 该向导非常直观,清楚地说明了您在该过程中的位置,指导您完成每一步。
  3. 选择存储库

新的用户界面旨在确保管理员能够更好地控制连接到吉拉云的存储库。

新的用户界面旨在确保管理员能够更好地控制连接到吉拉云的存储库。

更好的存储库管理

我们通过针对吉拉云的 Git 集成增加了更多管理存储库的选项,包括排序、过滤、重新索引和多选存储库的新选项。此外,访问索引日志的能力也得到了改进,新的设置也添加到了Manage repositories仪表板中。

我们通过针对吉拉云的 Git 集成增加了更多管理存储库的选项,包括排序、过滤、重新索引和多选存储库的新选项。此外,访问索引日志的能力也得到了改进,新的设置也添加到了Manage repositories仪表板中。

Start a Free Trial Today

重新索引或禁用单个存储库

您现在可以重新索引单个存储库,或者禁用它们而不删除它们。

您现在可以重新索引单个存储库,或者禁用它们而不删除它们。

重新索引或禁用单个存储库

管理存储库的新设置

此外,我们还为Manage repositories仪表盘添加了几项新功能,包括:

许可

智能提交

webhooks 的索引触发器的状态

上次索引(显示最近索引的日期)

  • Smart commits
  • “状态”字段已经更新,准确性更高,现在显示一个符号来快速提醒您进度。
  • 上次索引(显示最近索引的日期)
  • Last indexed (shows date of most recent index)

改进了对索引日志的访问

你会喜欢吉拉云的索引日志的 Git 集成的改进。现在,存储库索引日志只显示最近的 15 行日志,让您更清楚地关注最相关的信息。

现在,您可以将这些日志行复制到剪贴板,或者下载完整的日志。

改进了对索引日志的访问

你会喜欢吉拉云的索引日志的 Git 集成的改进。现在,存储库索引日志只显示最近的 15 行日志,让您更清楚地关注最相关的信息。

Psst:我们还在吉拉云的 Git 集成中添加了管理集成的相同功能!

Psst:我们还在吉拉云的 Git 集成中添加了管理集成的相同功能!

多选存储库

现在,您可以在 Git Integration for 吉拉云的列表中选择多个存储库,允许您选择所有存储库,或者进行挑选,以应用以下操作:

现在,您可以在 Git Integration for 吉拉云的列表中选择多个存储库,允许您选择所有存储库,或者进行挑选,以应用以下操作:

多选存储库

过滤托管存储库

我们在Manage repositories仪表板上添加了一个下拉菜单,允许您过滤您的集成、按状态过滤以及搜索存储库的名称。

如果您有大量的存储库,这可能特别有用。

过滤托管存储库

我们在Manage repositories仪表板上添加了一个下拉菜单,允许您过滤您的集成、按状态过滤以及搜索存储库的名称。

按名称、时间、分支、提交或拉取请求组织回购

向更好的组织打招呼!现在,您可以通过以下方式在 Git Integration for 吉拉云中对您的存储库进行排序:

回购名称

集成名称

上次索引的时间

分支数量

  • 提交次数

  • 拉取请求的数量

  • 这些对集成和存储库管理的显著 UI 改进将帮助您的团队在不离开吉拉的情况下提高对 Git 的可见性,让您对如何组织和显示信息有更多的控制。

  • 提交次数

  • 在吉拉管理 Git 从未如此愉快。借助面向吉拉云的 Git 集成,更深入地了解您的项目并更高效地协作。

  • 在吉拉管理 Git 从未如此愉快。借助面向吉拉云的 Git 集成,更深入地了解您的项目并更高效地协作。

这些对集成和存储库管理的显著 UI 改进将帮助您的团队在不离开吉拉的情况下提高对 Git 的可见性,让您对如何组织和显示信息有更多的控制。

These significant UI improvements to integration and repository management will help improve your team’s visibility into Git without leaving Jira, giving you more control over how your information is organized and displayed.

在吉拉管理 Git 从未如此愉快。借助面向吉拉云的 Git 集成,更深入地了解您的项目并更高效地协作。

Managing Git in Jira has never been this enjoyable. Gain more insight into your projects and collaborate with more efficiency with Git Integration for Jira Cloud.

Start a Free Trial Today

针对吉拉 4.0 版数据中心和服务器的 Git 集成|新的 Git 索引

原文:https://www.gitkraken.com/blog/git-integration-for-jira-v4-data-center-server

吉拉数据中心和吉拉服务器

压缩到吉拉 4.0 版的 Git 集成!我们的团队已经开发了一些快速的新功能和改进,以增强您对吉拉数据中心和 T2 吉拉服务器的 Git 集成体验。

通过针对吉拉的 Git 集成,在吉拉直接利用强大的新 Git 索引功能。今天就开始免费使用吧!

Start Free Trial

新的 Git 索引特性

系好安全带。索引队列现在存储在吉拉数据库中,实现了许多新的改进。预计 Git 索引状态的重新索引时间和一致性/准确性会有显著改善。

吉拉数据中心索引

作为新 Git 索引功能的一部分,数据中心客户可以获得以下优势:

  • 索引队列现在在所有吉拉数据中心节点之间共享。
  • 每个节点将运行单独的重新索引作业;节点越多,索引越快!
  • 集成/存储库的 Git 索引状态在所有节点之间共享,并且对管理员可见,不管您连接到哪个节点。

跳过

跳过将所有索引队列入口点组合在一起,并对它们进行去重复。如果存储库已排队,那么重新索引请求如何到达队列并不重要——手动重新索引、预定重新索引、webhook 重新索引、REST API 请求重新索引——队列中只会存储一个存储库条目。

跳过重复的 webhook 索引请求现在已经内置到索引引擎中,不需要额外的操作!如果索引队列已经包含要重新索引的存储库,后续的 webhook 索引请求将被跳过。

管理大量带有 webhooks 的存储库的吉拉管理员将会发现重建索引的时间有很大的改善,因为队列不会被重复的重建索引请求填满。

管理大量带有 webhooks 的存储库的吉拉管理员将会发现重建索引的时间有很大的改善,因为队列不会被重复的重建索引请求填满。

为 Git Webhooks 休眠

我们为 Git webhooks 提供了一个新的睡眠设置,以防止过于频繁地添加存储库。

要设置睡眠值,首先点击 Jira UI 右上角的 gear ⚙️图标(下面截图中的#1),然后点击Applications (#2)。访问Webhooks设置选项卡(#3)并展开Advanced部分(#4)。Min repository reindex interval值(#5)是索引引擎在 webhook 索引请求触发重复的特定存储库的重新索引之前必须等待的时间。别忘了打Save (#6)!

要设置睡眠值,首先点击 Jira UI 右上角的 gear ⚙️图标(下面截图中的#1),然后点击Applications (#2)。访问Webhooks设置选项卡(#3)并展开Advanced部分(#4)。Min repository reindex interval值(#5)是索引引擎在 webhook 索引请求触发重复的特定存储库的重新索引之前必须等待的时间。别忘了打Save (#6)!

这给了您的吉拉管理员更多的控制,特别是在有大量繁忙的存储库的吉拉实例上,他们可能会管理速率限制问题。

有关更多信息,请参见吉拉 Git 集成文档

有关更多信息,请参见吉拉 Git 集成文档

Git 索引状态

没有必要怀疑一个 Git 库是否已经在吉拉被索引了!在 4.0 版中,集成和存储库索引状态比以前的版本更加准确。

要查看集成和存储库的当前索引状态,请导航至Administration(下面截图中的# 1)→Applications(# 2)→Git repositories(# 3)。可用的 Git 索引状态包括:

Not indexed:全新知识库的状态。

  • Updated:储存库是最新的(#4)。
  • Fetching : App 正在从 Git 服务器获取更改。
  • Queued:存储库在索引队列中,等待按优先级顺序编制索引/重新编制索引。
  • Indexing:存储库当前正在被(重新)索引。
  • Error:应用程序在试图(重新)索引此储存库(#5)时遇到错误。
  • Error:应用程序在试图(重新)索引此储存库(#5)时遇到错误。

优先队列

在 v4.0 中,我们向存储库队列引入了顺序。以下是完成请求的优先级:

吉拉管理员手动重新索引和 REST API 重新索引请求

  1. Webhook 索引触发器
  2. 计划的作业
  3. 具有相同优先级的排队存储库按先进先出(FIFO)顺序处理。

针对吉拉改进的 Git 集成

当你热爱某样东西时,你会改进它。❤️这是为 4.0 版调整的内容

针对吉拉改进的 Git 集成

更快地在吉拉导航提交

对于那些有无数提交的吉拉问题,Git Commits issue 选项卡现在被分页,以便更容易、更快速地导航。

更快地在吉拉导航提交

对于那些有无数提交的吉拉问题,Git Commits issue 选项卡现在被分页,以便更容易、更快速地导航。

General设置,管理员现在可以包括${basebranch}分支名称模板,用于从吉拉发行创建 Git 分支。

General设置,管理员现在可以包括${basebranch}分支名称模板,用于从吉拉发行创建 Git 分支。

按状态分类的拉取请求

从吉拉问题开始,拉动式请求现在将按状态排序,以便更好地识别未完成的拉动式请求。

按状态分类的拉取请求

从吉拉问题开始,拉动式请求现在将按状态排序,以便更好地识别未完成的拉动式请求。

还有几件事。首先,所有凭证现在都在吉拉数据库中加密,我们已经将Git下拉菜单中的“查看所有存储库”重命名为“存储库浏览器”。

还有几件事。首先,所有凭证现在都在吉拉数据库中加密,我们已经将Git下拉菜单中的“查看所有存储库”重命名为“存储库浏览器”。

这涵盖了吉拉 4.0 版的 Git 集成的新特性!要查看改进和错误修复的完整列表,请查看完整的吉拉 Git 集成发布说明

如果您还没有开始使用吉拉的 Git 集成,现在就开始免费试用吧!

如果您还没有开始使用吉拉的 Git 集成,现在就开始免费试用吧!

Start Free Trial

你如何执行一个交互式的 rebase?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-interactive-rebase

使用 Git 库时,即使是最细心的开发人员也会犯错误。假设您有一个包含错误的提交;对于如何撤销 Git 提交,您有几个选择。

在这种情况下,让我们假设错误的提交不是您的最后一次提交,并且您不想丢失中间的任何工作。例如,您的错误可能会影响随后的提交,因此通过更改一个提交,您可能想要删除一个提交,更改提交消息,或者将其中的一些提交挤压在一起。

这就是交互式 rebase 的用武之地。在包含错误的提交之后,您不必放弃所有的提交,而是可以再次应用它们,并逐个提交地分析更改的历史记录的影响。

Git 中的交互式 rebase 是一个工具,它为您的历史修订过程提供了更多的手动控制。当使用交互式 rebase 时,您将在您的分支的历史上指定一个点,然后您将看到一个到该点为止的提交列表。从这里开始,对于每个提交,您有多个选项:

  1. Pick:保持提交当前在历史中的状态
  2. 删除:从历史记录中完全删除提交
  3. 挤压:将提交与其之前的提交合并
  4. 改写:更改 Git 提交消息

一旦您为 rebase 中的每个提交做出了选择,Git 将逐个提交从最旧的提交到最新的提交,尝试应用所请求的更改。

利用交互式重置基础解决冲突

值得注意的是,在 Git 中使用交互式 rebase 工具时会出现冲突,每个冲突都必须在 rebase 继续之前解决。

类似于 Git 重置,交互式 rebase 改变提交的历史;它提供了选择我们想要保留和想要删除的提交的能力。当交互式 rebase“重放”新的提交历史时,它使用冲突来解决删除提交所引起的副作用。

合并冲突会阻止你拥抱交互式 rebase 的力量吗?坐下来,让 GitKraken 为你解决冲突。

在共享分支机构上使用交互式再基准

和 Git reset 一样,interactive rebase 是一个应该谨慎使用的工具,尤其是当你发布到一个共享分支的时候。更改提交历史可能会对您的团队造成令人惊讶的影响,所以当您想要撤销共享分支上的提交时,通常最好使用 Git revert

现在,如果您决定对一个远程或者共享分支执行一个交互式的基础变更,那么在您开始基础变更之前,最好创建一个分支的备份。

如果你喜欢在 Git 中观看交互式 rebase 的教程视频,点击这里

Git Rebase 南瓜

压缩提交有助于最小化与长提交链相关的噪音。尤其是在与他人协作时,在将您的工作合并到主分支之前,通常最好将一个长的提交链压缩成一个或几个提交。

使用交互式 rebase 来压缩提交可以让整个团队更容易阅读和维护提交日志。

如何在 GitKraken 中使用交互式 Rebase

当对比在命令行中使用交互式 rebase 的体验时, GitKraken 让这个动作变得轻而易举。使用 Git 的可视化工具,您将对您的 rebase 有更多的信心和控制。

现在就开始大胆优化您的 GitKraken 项目历史。

要在 GitKraken 中启动交互式 rebase,首先将一个分支拖放到目标分支上,并从上下文菜单中选择Interactive Rebase <branch name> onto <target branch name>选项。或者,您可以右键单击任何父提交来访问相同的菜单选项。

在打开 GitKraken interactive rebase 工具时,默认情况下每个提交都将被设置为Pick,但是您可以在开始 rebase 之前手动定制您希望在每个提交上执行的操作。
T3,您可以选择Reword来更改提交消息。

GitKraken 也给了你快速Drop删除它们的能力。另外,您甚至可以在交互式 rebase 工具中拖放提交来重新排序它们。那是一些严重的控制。

你如何用 GitKraken 得到 rebase 壁球?

在 GitKraken 中的交互式 rebase 过程中,还可以选择Squash提交,它不仅结合了来自挤压提交的更改,还结合了提交消息,并将其添加到之前的提交中。

在此过程中的任何时候,您都可以单击Reset按钮重新开始,或者单击Cancel Rebase退出交互式重设基础工具。另一方面,如果一切看起来都很好,你可以点击Start Rebase,观察你的提交图神奇地相应更新。

当比较在命令行中执行交互式 rebase 时,GitKraken 提供了无缝的体验,允许您清楚地看到实时提交发生了什么。GitKraken 消除了交互式 rebase 的风险,并保护您和您的存储库免受冲突的影响。

使用 GitKraken Git GUI
像专业人员一样执行交互式重置

Git 命令行中的交互式 Rebase

如果您希望在命令行中执行交互式 rebase,您可能会从运行git branch命令开始,以查看您的本地分支列表以及您当前已经签出的分支。

一旦您确定了您的目标分支,您将使用下面的命令来执行一个交互式的 rebase:

git rebase <target branch name> -i

这是在告诉 Git,您想要将当前签出的分支交互式地重新基础到目标分支上;这也将打开 Git 交互式 rebase 工具。

您将在顶部看到您已签出的分支上的提交列表,从这里,您可以为每个提交手动定制操作——拾取、挤压、丢弃或重绕。

在您为每个提交做出选择之后,您可以键入wq表示“写入并退出”,以启动交互式基础。

在命令行中解决交互式 Rebase 冲突

如前所述,Git 会提醒您由于重定基数而产生的任何冲突,并且不允许您继续操作,直到冲突得到解决。

不像在 GitKraken 中,您可以立即识别冲突并使用有用的上下文来解决它,在命令行中可能会更麻烦。在这个例子中,您可以看到 Git 警告我们与我们的一个提交发生了冲突:6780f75

从这里开始,您有三个选择:

git rebase --continue在解决冲突后,继续调整基数。

git rebase --skip跳过引起冲突的动作,

git rebase --abort一起取消改基。

要解决终端中的冲突,您将从运行git status命令开始,以获得关于冲突文件的更多信息。然后,您必须在文本编辑器中分别打开这些文件来解决冲突。

这就是所谓的上下文切换。这不仅会给你的工作流程增加时间,还会耗费更多的精神能量。这些压力累积起来。还记得在 GitKraken 解决合并冲突吗?其中以清晰的格式并排显示了冲突的文件,让您可以轻松选择保留什么和丢弃什么。无需离开应用程序。

好了,继续…

如果您试图使用git rebase --continue而没有解决冲突,Git 将再次告诉您有一个冲突需要解决。但是不错的尝试。😉

如果您现在不想花时间解决合并冲突,您可以跳过任何会导致冲突的操作,继续进行git rebase --skip操作。

GitKraken 不仅通过更好的视觉上下文使 Git 交互式 rebase 的整体体验更快、更直观,而且在解决合并冲突(执行此操作的常见风险)时发现了真正的特殊之处。

https://www.youtube.com/embed/JkpYvXdbnfQ?feature=oembed

视频

谁的生活中需要更多的冲突?立即下载适用于 Windows、Mac、& Linux 的跨平台 GitKraken Git 客户端

Git 内部| git kon 2022 | GitHub 的 Derrick Stolee

原文:https://www.gitkraken.com/gitkon/git-internals-derrick-stolee

https://www.youtube.com/embed/6b6iOPvspPs?feature=oembed

视频

开发人员使用 Git 进行代码协作:共享代码,在本地机器上独立工作,然后将工作整合到一个公共存储库中。对于许多人来说,这是使用非常传统的步骤和工作流程来完成的,在大多数情况下效果非常好。

但是,当你需要打破传统模式,做一些新的事情时,会发生什么呢?了解更多关于 Git 内部的知识会让您更加得心应手,特别是当您的项目扩展时,您必须深入到更高级的特性中,比如索引和查询计划。

Git 是您工程系统的核心分布式数据库

Git 与您的应用程序数据库共享一些非常基本的概念:

  1. 数据保存在磁盘上。
  2. 查询允许用户基于该数据请求信息。
  3. 数据存储针对这些查询进行了优化。
  4. 查询算法被优化以利用这些结构。
  5. 分布式节点需要同步并在一些公共状态上达成一致。

虽然这些概念对于所有数据库都是通用的,但是 Git 是特别专用的,因为它是为存储纯文本源代码文件而构建的。

Git 对象

Git 对象可以说是 Git 中最基本的概念,就像你的 Git 库的原子一样,可以以有趣的方式组合。

了解更多关于 Git 对象以及如何使用它们的信息。

了解更多关于 Git 对象以及如何使用它们的信息。

Git 历史查询

Git 在允许开发人员搜索和调查他们的存储库的历史方面起着非常重要的作用。当您开始将 Git 视为一个数据库时,这些历史调查形成了一种有趣的查询类型。

Git 在允许开发人员搜索和调查他们的存储库的历史方面起着非常重要的作用。当您开始将 Git 视为一个数据库时,这些历史调查形成了一种有趣的查询类型。

Git 提交历史查询

历史查询不仅是一种有趣的查询类型,而且 Git commit history 呈现了有趣的数据形状,告知 Git 的算法如何满足这些查询。

了解更多关于基于提交的 Git 历史查询的信息。

了解更多关于基于提交的 Git 历史查询的信息。

Git 文件历史查询

在对大型软件系统进行修改之前,理解代码为什么处于当前状态是至关重要的。仅查看 Git 提交消息不足以发现修改了特定文件或该文件中某些行的更改。Git 的文件历史命令帮助用户找到引入变更的重要时间点。

了解更多关于 Git 文件历史命令以及如何使用它们。

下载 CTA:使用 GitKraken Client 可以轻松直观地搜索您的项目历史,无论是提交还是文件信息,为您提供真正理解代码库所需的可见性。

下载 CTA:使用 GitKraken Client 可以轻松直观地搜索您的项目历史,无论是提交还是文件信息,为您提供真正理解代码库所需的可见性。

Git 中的分布式同步

Git 的分布式本质来自于它的去中心化架构。每个存储库可以独立工作,无需连接到中央服务器。Git 使用几种机制来高效地计算一小组可共享对象,而不需要交换双方的完整对象列表。这样做需要利用对象存储的形状,包括提交历史、树遍历和自定义数据结构。

对于大多数分布式系统来说,网络分区应该很少而且很短,即使是不可避免的。对于 Git,分区是默认状态。每个用户选择何时跨这些分布式副本同步信息。即使它们连接上了,也可能只是部分更新,例如当用户将本地分支之一推送到远程时。

有了默认断开连接的想法,Git 需要以不同于其他数据库的方式考虑其同步机制。每个副本可以有非常不同的状态,每个同步可以有不同的目标状态。

了解更多关于 Git 的分布式同步的信息。

了解更多关于 Git 的分布式同步的信息。

使用 Git 扩展您的数据库

当数据库接近单个数据库节点的规模限制时,一种常见的策略是通过将数据库分成多个组件来对其进行分片。与 Git 类似,当存储库变得太大时,一些人选择分割存储库。

了解如何通过共享一个 Git 存储库来安全地扩展您的 Git 数据库,以及在开始之前您想要考虑的因素。

了解如何通过共享一个 Git 存储库来安全地扩展您的 Git 数据库,以及在开始之前您想要考虑的因素。

了解 Git 内部机制

随着您作为软件开发人员的成长,获得对 Git 及其内部工作方式的更全面的理解将会带来巨大的好处。使用像 GitKraken Client 这样增加项目历史可见性的工具可以让你对工作流程更有信心,对代码有更深入的了解。

随着您作为软件开发人员的成长,获得对 Git 及其内部工作方式的更全面的理解将会带来巨大的好处。使用像 GitKraken Client 这样增加项目历史可见性的工具可以让你对工作流程更有信心,对代码有更深入的了解。

去吧,柯特

原文:https://www.gitkraken.com/learn/git-kit

恭喜 ,你刚刚在学习 Git 套件上做了一笔明智的投资!GitKraken Git GUI 唾手可得,加上这些培训和参考资料,您将能够快速学习 Git 并立即开始为项目做出贡献。您将拥有所需的工具和信心来防止不良回购状态,并安全地撤销过程中的任何错误。在您知道之前,您将会充分利用 Git 的全部功能,轻松地管理复杂的合并和解决冲突!

如何使用 Git LFS 大文件存储|学习 Git

原文:https://www.gitkraken.com/learn/git/git-lfs

Git LFS 代表大文件存储,是许多开发人员在处理二进制文件时用来节省空间的工具。

简而言之,Git LFS 是一个 Git 扩展,它允许用户通过将二进制文件存储在不同的位置来节省空间。

https://www.youtube.com/embed/jXsvFfksvd0

VIDEO

GitKraken 使得在现有的存储库上初始化 LFS 和指定想要跟踪的文件类型变得很容易。

Git LFS 的好处

当处理包含音频、视频或图像文件(也称为二进制文件)的存储库时,对这些文件所做的任何更改都不会像跟踪非二进制文件那样通过 Git 进行跟踪。

虽然 Git 在跟踪文本文件中的更改集方面做得很好,但是对二进制文件的更改是作为文件的附加副本来跟踪的。

假设您正在处理一个占用 100MB 存储空间的二进制映像,并且您对该文件进行了更改。Git 将跟踪一个占用 100MB 空间的文件的变化,并将继续跟踪每一个变化。

如果您想做一些快速计算…对二进制 100MB 文件进行四次文件更改将导致总共使用 500 MB(100 MB 原始文件+ 100MB 更改文件+ 100MB 更改文件+ 100MB 更改文件+ 100MB 更改文件= 500MB)。

因为这些更改也会被推送到您的遥控器,所以您的遥控器也会变大,从而降低您克隆、推、拉或执行其他回购操作的速度。

使用 Git LFS 节省时间

当使用 Git LFS 时,您的提交将指向一个轻量级引用对象,而不是指向二进制文件(您实际上是将原始二进制文件推送到一个 LFS repo)。

现在,当您克隆 LFS 回购协议或签出 LFS 回购协议中的一个分支时,您将只从 Git LFS 服务器获取您需要的二进制文件版本,从而节省空间和时间。

GitKraken 揭开了高级 Git 概念的神秘面纱,如 LFS,因此您的团队可以更有信心地使用 Git,即使是讨厌的二进制文件。

Git LFS 安装

在 GitKraken 中使用 Git LFS 之前,你必须首先在你的机器上安装 Git LFS 。您还需要设置您的 Git LFS 服务器。

如果你刚刚开始使用 Git LFS, GitHub 有一个内置的免费选项

去 LFS 在 gitkraken】中的应用

一旦你安装了 Git LFS,导航到 GitKraken 中的Preferences来访问 LFS 选项。

然后,您可以为现有的 repo 初始化 Git LFS,并指定需要应用程序跟踪的文件类型。

完成初始化过程后,工具栏中会出现一个LFS图标,允许您与 Git LFS 服务器上的文件进行交互。

查看 Git LFS 文件

Git LFS 追踪的所有文件都会在 GitKraken 中心图的右面板用LFS图标标记。

当你点击查看这样一个文件的 Git diff 时,你会看到 SHA 引用而不是你的大文件。

最后,当您从 GitKraken 进行任何回购时,您可以选择初始化 Git LFS 应用程序。

我们希望这有助于解释使用 Git 大型文件服务器的好处,以及使用 GitKraken Git GUI 有多容易。

Git 合并-合并分支以合并更改|学习 Git

原文:https://www.gitkraken.com/learn/git/git-merge

在 Git 中工作时,merge 动作用于将一个分支的更改合并到另一个分支,比如 Git merge to master。

合并也有助于保存你的回购历史。特别是在比较 Git merge 和 rebase 时,合并保留了更完整的历史,并且更容易撤销错误。

在介绍如何在 CLI 中使用 Git merge 命令之前,我们将先介绍如何使用传奇的跨平台 GitKraken Git 客户端进行合并。

使用 GitKraken
更快地合并您的分支并进行更多控制

在 GitKraken 怎么合并?

GitKraken 作为 Git GUI 提供的最大好处之一是能够快速可视化存储库中的所有分支,并通过拖放操作直观地管理这些分支。

在这个例子中,我们有一个 dev 分支,它包含了我们希望合并到 production 分支中的变更。要开始 GitKraken 中的 Git 合并分支过程,您可以简单地将 dev 分支拖放到 production 分支上。

现在,如果你还没有签出 dev 分支,GitKraken 会问你是否想先签出这个分支。看,告诉过你这是直觉。😉继续前进…

在您将带有变更的分支拖放到您的目标分支上之后,您可以从上下文菜单中点击Merge dev into production选项。如果没有冲突,合并提交将会完成,并且您的所有更改将会合并到生产分支中。

在 GitKraken,你如何解决合并冲突?

现在,如果你遇到一个 Git 合并冲突,GitKraken 会暂停合并并立即通知你发现了一个文件冲突。

更好的是,GitKraken 的合并冲突工具将指导您完成解决过程,为您提供决定保留和放弃哪些更改所需的所有信息。

在主 GitKraken UI 右侧的提交面板中,单击任何冲突文件进入 GitKraken 合并冲突工具。

每个冲突部分都会出现一个相应的复选框。选中某个部分的复选框会将其添加到合并冲突工具底部的输出部分。这允许您在决定如何最好地继续之前,看到所有可用选项的完整上下文。

一旦您为每个文件冲突做出了选择,您就可以继续保存和完成 Git 合并。

揭示黑暗世界与恶魔的合并冲突

如何在命令行中进行 Git 合并?

如果您使用 CLI 来合并 Git 中的变更,典型的工作流将通过运行git status命令来检查您的特性分支上的任何未决变更。

在这个例子中,有一些更改需要提交,所以让我们从这里开始。您将从暂存文件开始:

git add <file name>

后跟一个提交:

git commit -m “<commit message>”

Git 提示:如果你是 Git 新手,在进入合并之前,先熟悉一下如何提交变更

现在我们已经提交了我们的变更,我们准备将特性分支合并到开发分支中。

但是在我们可以在命令行中进行 Git merge 之前,我们必须检查我们希望将我们的更改合并到其中的目标分支,在本例中是dev

GitTip:不确定如何检查一个 Git 分支?学习如何切换本地分行,以及如何结账远程分行

在这个例子中,命令行告诉我们 dev 分支落后了。在这种情况下,您将希望在进行合并之前执行 Git pull 来获得最新的更新。

git checkout dev

在这个例子中,命令行告诉我们 dev 分支落后了。在这种情况下,您将希望在进行合并之前执行 Git pull 来获得最新的更新。

GitTip:学习如何拉一个远程 Git 分支来保持你的本地分支是最新的。

好了,现在您已经准备好进行 Git 合并了。在命令行中,您将使用 Git merge 命令,后跟包含您的更改的分支。

接下来,您将看到一个提示,询问合并提交描述。在这里,您可以编辑默认的提交消息,或者通过保存并关闭消息编辑器来完成命令行中的合并。

git merge feature

接下来,您将看到一个提示,询问合并提交描述。在这里,您可以编辑默认的提交消息,或者通过保存并关闭消息编辑器来完成命令行中的合并。

在 Git 中获得对合并的更多控制,永远不用担心会产生无法解决的合并冲突。GitKraken 是获得更好的合并体验的途径;今天就免费下载传说中的用于 Windows、Mac、& Linux 的跨平台 Git GUI

在 Git 中获得对合并的更多控制,永远不用担心会产生无法解决的合并冲突。GitKraken 是获得更好的合并体验的途径;今天就免费下载传说中的用于 Windows、Mac、& Linux 的跨平台 Git GUI

使用 Git 度量和 GitKraken 提高团队效率

原文:https://www.gitkraken.com/gitkon/git-metrics-gitkraken

https://www.youtube.com/embed/37LLPw5e68c?feature=oembed

视频

当我们在 GitKraken 中谈论 Git Velocity 时,我们指的是一组 Git 指标&围绕您的活动的数据,这些数据可以帮助您和您的队友更有效地使用 Git 以及相互合作。

当您的整个团队都在使用 GitKraken Git 客户端时,您将更加协调一致地工作,以提高整体生产力并改善开发人员的体验。

Git Velocity 的目标是实现两个结果:更频繁地发布和更少的 bug。

如果你不熟悉 DevOps 研究和评估(DORA)报告,它们是来自 Google 的一系列报告,这些报告在六年的时间里调查和分析了数千个开发团队,以了解哪些行为将高绩效开发团队与低绩效开发团队区分开来。

来自 GitLab 的高级开发人员布道者 Brendan O'leary 在 2021 年 GitKon Git 大会上分享了他对 DORA metrics 的想法。

如果你想更深入地探索研究的各个方面,强烈推荐阅读 Nikole Forsgren、Gene Kim 和 Jez Humble 的《加速》。

朵拉指标

让我们从帮助团队设定目标和更好地执行的 4 个关键 DORA 指标开始。在 GitKraken,我们坚信 Git 是一项团队运动,并认为访问这些指标将帮助您发布更高质量的代码,并更频繁地这样做。

这 4 个测量值是:

吞吐量:代码被成功推送到生产环境的频率。

变更的前置时间(周期时间):投入生产所需的时间。

变更失败率:导致生产失败的部署的百分比。

平均恢复时间:从生产故障中恢复需要多长时间。

  • Throughput: How often code is successfully pushed to the production environment.
  • Git 度量在 gitkraken】中的应用
  • 在 GitKraken,我们正在探索将这些类型作为 Git 指标提供给开发团队的方法。
  • 这是我们为内部测试和跟踪我们团队的 Git 速度而构建的系统的早期视图。目标是定期监控 Git 指标,并尽早暴露瓶颈。

Git Metrics in GitKraken

这些 Git 指标由连接到 GitKraken Git 客户端的存储库提供支持。登录到贵组织的 GitKraken 帐户后,将要求您选择您的存储库托管在哪个提供商上。目前只支持 GitHub,但未来有计划支持其他提供商(GitLab、Azure DevOps、BitBucket)。

在连接并提供 PAT 之后,您将能够选择您想要跟踪的存储库。通过分析存储库活动,Git 客户端可以提供基于实际代码变更的 Git 分析,而不是来自项目管理工具的任意问题。

一旦选择了存储库,一个简单的仪表板显示过去 30 天的周期时间和吞吐量指标。最终,您将能够通过日期范围、团队,甚至特定的存储库组来分析和过滤这些 Git 指标,以比较您的速度是如何在您的发布和项目中受到影响的。

您还可以深入每个指标,分析影响这些数字的具体变化。例如,通过周期时间,您可以查看已扫描的拉取请求的列表,并轻松识别哪些请求花费的时间比预期的长。

GitKraken Git 客户端的用户也可以期待 GitKraken 项目更好的回购管理。项目将是存储库的集合,您可以在 Git 客户机中创建这些存储库来帮助您和您的团队跨多个存储库更有效地工作。您可以从单个视图中查看每个存储库的当前签出分支的状态,并更新、打开和更改它们中的任何一个。

You can also drill into each metric and analyze the specifics of the changes that are influencing the numbers. For example, with Cycle Time, you may view the list of pull requests that were scanned and easily identify which took longer than expected.

Gitkraken 项目还将允许您在一个位置查看项目中所有存储库的请求和问题,而不是在选项卡之间来回切换。

因为这些功能处于设计和开发的早期阶段,GitKraken 团队希望得到关于我们如何构建 Git velocity 服务的行为、方向和方法的反馈。

如果你或你的团队想问问题或参与测试和提供反馈,请发电子邮件到 feedback@gitkraken.com,在主题行写上 Git velocity。

Gitkraken Projects will also allow you to see pull requests and issues for all repositories in the project in one location, instead of bouncing around between tabs.

Because these features are in the early stages of design and development, the GitKraken team would love feedback regarding the behavior, direction and approach to how we are building the Git velocity service.

If you or your team want to ask questions or be involved in testing and providing feedback, please email us at feedback@gitkraken.com with Git velocity in the subject line.

Git 多回购 vs Git 单回购:你该选择哪个?

原文:https://www.gitkraken.com/blog/git-multi-repo-vs-git-mono-repo

这篇文章是一位客座作者写的。

对于提供各种数字体验的企业和组织来说,代码质量和安全性至关重要。因此,代码的架构——如何存储、访问和构建——至关重要。

在这个数字化转型的时代,如果你停滞不前,你就是在倒退。一会儿你在考虑如何发展你的架构来提供全渠道体验;接下来,你会阅读 DataBricks 的 HDFS Hadoop 介绍,同时评估大数据对你的业务的影响。技术变革的速度相当快。

为了跟上步伐,企业需要不断发展他们的代码。因此 Git 是世界上使用最广泛的源代码控制管理系统。在软件中,总是有缺陷需要修复,功能需要改进,新特性需要添加,或者新特性需要发布。关于代码存储的架构决策对所有这些行为都有影响,这就把我们带到了 Git 多回购与 Git 单回购的问题上。

无论您如何在 Git 中存储代码,在与代码交互时,拥有一个高级的可视化工具都会带来很大的不同。今天就免费试用 GitKraken Client,包括一次管理多个回购的工作区。

Git Multi Repo vs Git Mono Repo

近年来关于 Git 多边或单一回购方式的相对优势的大辩论反映了这一点。

环顾四周,看看科技巨头们在做什么,这可能很有诱惑力。看看脸书、谷歌、网飞和优步。他们都使用巨大的单声道储存库。所以那一定是最好的方法,对吗?嗯,不一定。这取决于业务。

本文不会给出单一的、一刀切的答案。根本就没有。这取决于诸如企业规模、资源和需求等因素。随着时间的推移,最适合您业务的方法可能会发生变化。而且,对于许多企业来说,某种组合或混合版本可能是合适的。

Git 单一回购和多重回购方法之间的区别

什么是单存储库和多存储库存储?这是指一个组织如何在 Git 中存储其代码,无论是在一个大型 Git 存储库中,还是在多个较小的存储库中。

Git Mono Repo

单存储库方法是指单个位置,或者存储库,包含来自整个企业的多个项目。如 2015 年的例子所示,谷歌有一个单一的、巨大的 Git 存储库来存放其所有服务的代码。

大型的 mono 库可以被组织成目录来提供某种内部结构。

Git Multi Repo

多存储库方法是将组织的代码分布在多个 Git 存储库中。存储库的数量会有所不同,但它将基于代码的逻辑分割。例如,可能每个项目都有自己的位置。

这里的架构决策可以反映并告知企业的整个文化。开发团队行动迅速吗?团队是否跨部门协同工作?有明确的所有权界限吗?这些观点都与辩论有关。

以下是这些方法的一些优点和缺点。

git mono repo:下一个(c)

这是来自多个项目的代码存储在一个位置的地方,组织中的所有开发人员都使用同一个存储库。

优势

对于一些企业来说,Git mono repository 方法可能提供以下优势:

可见性和透明性:所有东西都放在一个地方,更容易搜索整个企业的代码;代码更容易被发现。这可以增加开发人员对其他部门使用的代码的了解,以及这些代码如何支持他们自己的工作。如果一段代码可以重用,或者如果怀疑有错误,就很容易找到并解决。

支持团队协作:可以培养更加统一的愿景和协作观。想法可以在不同的项目团队之间传播,代码共享可以帮助减少重复工作。当然,一种真正的合作文化需要更多的东西才能真正扎根。例如,投资合适的会议服务等工具会有所帮助,强调牢固的关系也是如此。

跨越代码体的一致性:一个领域中的变化可能在其他地方,或者跨越整个代码体更有效地执行。变革管理可以变得更加全面,鼓励更充分地考虑其他地方的影响。相反,当代码被分割的更严重时,这可能会更弱,并且技术债务可能会增加,这意味着代码可能会被遗留下来。

重构:重构代码——改进代码本身而不改变其外部行为——可以更容易地进行。

标准化:单一回购方法鼓励更加统一和标准化的编码风格,简化整个流程。它可以潜在地体现团队的高度协作、沟通和一致性。

  • 不足之处

  • 虽然 Git 单一回购方法的优势显著,但它也有潜在的缺点,尤其是在业务规模扩大时。

  • 开发人员应接不暇:所有东西都放在一个地方,代码量可能会非常庞大。事实上,对于新员工或缺乏经验的员工来说,这是一种难以承受的危险。适当的入职和支持线对于用这种方法管理风险至关重要。

  • 技术上压倒性:随着 mono 存储库的增长,不断增加的代码量会带来技术挑战和压力。一个常见的问题是 IDE 滞后。同样,随着单一回购的增长, Git 可能很快变得极其缓慢。如果没有合适的工具,大幅扩张的单一回购可能会变得很麻烦。

  • 更长的构建时间:随着编码量的增加,构建时间也会大大延长,这又一次减慢了速度。

所有权:如果每个人都能接触到一切,所有权就可能被搅浑。需要清晰的层级和协议来解决这个问题。

破碎的代码:Git 单一存储库方法有风险。所有东西都在一个地方,一个项目中一个错误的提交会影响整个代码体。这会使开发工作尖叫着停止(提示整个业务的开发人员抓耳挠腮,想知道他们做错了什么。)

紧密耦合的风险:虽然 mono 存储库有助于一致性,但这反过来又会诱使实现紧密耦合,从而潜在地导致进一步的问题和不必要的依赖。

  • 开发人员应接不暇:所有东西都放在一个地方,代码量可能会非常庞大。事实上,对于新员工或缺乏经验的员工来说,这是一种难以承受的危险。适当的入职和支持线对于用这种方法管理风险至关重要。

  • 许多这些缺点可以通过各种工具的开发和业务范围的采用来解决。这就是为什么科技巨头尽管规模庞大,却能够成功采用单一存储库的方法。

  • 但是开发和推广这样的企业工具需要相当多的时间和投资。这可能超出了许多中小型企业的能力范围。适用于谷歌的不一定适用于所有人。

  • Git 多重回购:利弊

  • 在 Git 中,这是将代码拆分到不同存储位置的地方。存储库的数量可能不同,也许每个项目一个。例如,你可能有一个团队的软件帮助演示如何记录手机通话,另一个团队的会议服务项目。根据他们在组织中的角色,开发人员可能在单个项目存储库中工作,或者跨几个项目存储库工作。

  • 优势

Git 多重回购方法可以提供优势,尤其是当企业从小规模起步时。

更易于管理:正如上一节所提到的,不断增长的代码量会带来问题(例如,随着存储库的扩大,Git 会变得越来越慢)。如果没有工具来解决这个问题,公司可能会转向多存储库来使事情更易于管理。这就是优步从一家小公司成长为中型公司时决定要做的事情。

清晰、透明的所有权:使用这种方法,作为一名开发人员,很清楚你拥有代码的哪些区域。专注于特定的项目目标会更简单。访问级别可以由存储库结构本身明确定义。

中断被隔离:如果开发人员在代码中引入了意外错误,它只会影响特定存储库中的代码,而不会影响整个业务。一个错误不太可能使所有的开发工作停止。

对于经验较少和集成较少的开发团队来说更安全 : 对于经验较少的开发人员来说,更有限的、逻辑定义的存储库可能更安全。同样,如果开发团队之间没有良好的合作和对话文化,一个更清晰的方法可能会更顺利。

不足之处

企业确实需要一定数量的代码来让多个 Git 存储库变得合理。对于非常小的企业或初创企业来说,拆分相对少量的代码可能没有意义。对他们来说,mono 库似乎是一个显而易见的开始。但是,正如我们刚刚看到的,随着业务的扩大,多个存储库可以提供优势。

然而,随着多重回购业务继续增长,以下问题可能会出现。因此,这些企业可能会想,是否是时候转向(或恢复)单一回购方式了。

随着业务的增长,高开销:随着业务的增长,管理多存储库方法的开销也会增加。

  • 旷日持久、令人沮丧的工作流程:在多回购方式下,一个地方的小变化在其他地方进行起来可能会更麻烦。跨多个存储库进行编辑会产生冗长而烦人的工作流。除了效率低下,这也可能是一个员工效率低下的问题

  • 孤立和不团结:有培养缺乏广泛意识的狭隘团队的风险。富有成效的合作机会可能会丧失,工作可能会重复。团队可能朝着不同的方向前进,导致低效、不一致和缺乏统一的驱动力。

  • 依赖性混乱:如果没有 mono 存储库提供的标准化的真实来源,严重的依赖性问题就会接踵而至。

  • Git 多重回购工具

如果您正在寻找一个 Git multi repo 工具来帮助您管理多个存储库,GitKraken Client 有一个特性可以让您做到这一点。工作区提供了将多个存储库分组到一个工作区下的能力,并允许团队与新的团队成员共享工作区,以便于入职。

不足之处

企业确实需要一定数量的代码来让多个 Git 存储库变得合理。对于非常小的企业或初创企业来说,拆分相对少量的代码可能没有意义。对他们来说,mono 库似乎是一个显而易见的开始。但是,正如我们刚刚看到的,随着业务的扩大,多个存储库可以提供优势。

此外,您甚至可以使用 GitKraken Client 中的工作区同时跨多个存储库采取行动,例如快速过滤所有由于不活动而“处于危险中”的拉请求,如下所示。

  • 随着业务的增长,高开销:随着业务的增长,管理多存储库方法的开销也会增加。

  • 旷日持久、令人沮丧的工作流程:在多回购方式下,一个地方的小变化在其他地方进行起来可能会更麻烦。跨多个存储库进行编辑会产生冗长而烦人的工作流。除了效率低下,这也可能是一个员工效率低下的问题

  • 如果您的团队目前正在使用 Git multi repo 方法,那么使用 GitKraken Client 进行多回购管理和组织会让您的生活更加轻松。

  • 依赖性混乱:如果没有 mono 存储库提供的标准化的真实来源,严重的依赖性问题就会接踵而至。

选择最适合你的 Git 回购规模

对于 Git 单一回购与 Git 多重回购的争论,没有简单的答案。最终,最佳决策取决于每个特定的业务。

此外,随着业务的发展,新的挑战可能会使昨天的解决方案看起来像是今天问题的一部分。您的企业开始时可能很小,但是十年后,您已经走向全球,您的架构需求也必然会发展。

想想优步从单一回购到多重回购,然后又回到单一回购的历程。一旦优步足够富有,投资于克服单一存储库方法的缺点所需的工具,最终的回归是绝对有意义的。然而,没有多少公司会达到这样的规模或地位,所以关注你的业务的独特需求是很重要的

至关重要的是,有许多混合方法,企业使用单个或多个存储库的组合。一个企业可能有一个单一的存储库用于某个范围的项目或操作,再加上一个范围的多个存储库用于其他特定的项目。

许多企业的经验证明,务实的方法也许是最好的。不要只看你可能敬佩的企业现在在做什么。想想他们的整个旅程,他们所面临的困境,以及他们所做的决定。每个组织都需要适合其自身文化和资源的方法。这是为了支持其各种不断发展的项目,可能需要一种混合的方法。

如果您的团队目前正在使用 Git multi repo 方法,那么使用 GitKraken Client 进行多回购管理和组织会让您的生活更加轻松。

选择最适合你的 Git 回购规模

对于 Git 单一回购与 Git 多重回购的争论,没有简单的答案。最终,最佳决策取决于每个特定的业务。

此外,随着业务的发展,新的挑战可能会使昨天的解决方案看起来像是今天问题的一部分。您的企业开始时可能很小,但是十年后,您已经走向全球,您的架构需求也必然会发展。

想想优步从单一回购到多重回购,然后又回到单一回购的历程。一旦优步足够富有,投资于克服单一存储库方法的缺点所需的工具,最终的回归是绝对有意义的。然而,没有多少公司会达到这样的规模或地位,所以关注你的业务的独特需求是很重要的

至关重要的是,有许多混合方法,企业使用单个或多个存储库的组合。一个企业可能有一个单一的存储库用于某个范围的项目或操作,再加上一个范围的多个存储库用于其他特定的项目。

许多企业的经验证明,务实的方法也许是最好的。不要只看你可能敬佩的企业现在在做什么。想想他们的整个旅程,他们所面临的困境,以及他们所做的决定。每个组织都需要适合其自身文化和资源的方法。这是为了支持其各种不断发展的项目,可能需要一种混合的方法。

Git 补丁|了解如何 Git 应用补丁和 Git 创建补丁

原文:https://www.gitkraken.com/learn/git/git-patch

Git pull requests 出现之前,开发人员创建了 Git 补丁来与团队成员和项目合作者共享他们的代码。Git 补丁是包含代码和 Git 提交元数据的文本文件。创建一个 Git 补丁,本质上就是复制并打包你的工作,然后发送给其他人。应用一个 Git 补丁需要将某人的工作添加到您的本地 Git 库

在本文中,我们将介绍如何使用 CLI 和 GitKraken 客户端创建和应用 Git 补丁。

使用内置的 CLI、命令面板或在提交图中点击几下,在 GitKraken 客户端中快速创建和应用 Git 补丁。

Git 补丁简史

在 Git 的早期阶段,开发人员通过创建 Git 补丁并通过电子邮件发送给他们的同事来共享他们的代码。那时,Git 拉请求并不像今天这样存在,Git 补丁是共享代码的最佳选择。

虽然现在开发人员使用拉请求来共享代码肯定更普遍了,但是仍然有一些著名的项目使用 Git 补丁。Linux 内核、 DrupalGit 项目经常使用 Git 补丁。如今,使用 Git 补丁的项目通常会让项目维护人员能够在应用补丁之前全面检查每个 Git 补丁中的更改,这增加了另一层安全性。

Git 创建补丁

要创建一个 Git 补丁,您可以运行一个不同的git format-patch命令,这取决于您是为单次提交创建补丁还是从 Git 分支创建补丁。一旦你的 Git 补丁被创建,你就可以通过电子邮件把它发送给你的团队成员,让他们应用到他们的代码库中

Git 应用补丁

要应用 Git 补丁, Git 检查您希望应用更改的提交或分支,然后在终端中运行以下命令:

git apply <.patch file>

虽然应用补丁可能比其他 Git 操作花费更多的时间,但是它的价值在于能够将其他人的工作添加到您的 repo 中,而不必自己编写代码。

Git 补丁格式

git format-patch命令用于从终端创建 Git 补丁。该命令的基本语法如下:

git format-patch <commit SHA or branch name>

访问 Git 的官方网站,了解更多信息和 Git 补丁格式命令的变体。

Git 在 CLI 中创建补丁

在从 CLI 创建 Git 补丁之前,您需要确定想要在补丁中包含什么文件。这将决定您将使用哪个git format-patch命令变体来创建 Git 补丁。

Git 在 CLI 中通过一次提交创建补丁

要创建包含来自单个 Git 提交的信息的 Git 补丁,请执行以下步骤:

  1. 在终端中键入git log并点击Enter以获得您想要为其创建补丁的提交的提交 SHA。
  2. 一旦有了提交 SHA,运行:

git format-patch -1 <commit SHA> -o <name of the directory you want the patch saved to>

您选择的提交中包含的所有更改将被打包到一个 Git 补丁中,然后您可以将其发送给其他协作者。

Git 在 CLI 中从 Git 分支创建补丁

通过执行下面概述的单个步骤,可以从 Git 分支创建 Git 补丁:

  1. 在终端键入git format-patch <branch name> -o <name of the directory you want the patch saved to>并点击Enter

这将创建一个 Git 补丁,其中包含 Git 分支上保存的所有信息,包括提交、差异、新文件和任何其他更改。

如何在 CLI 中 Git 应用补丁

要在终端中正确应用 Git 补丁,您需要执行以下步骤:

  1. Git checkout 要应用补丁的相关提交或分支
  2. 运行命令:git apply <.patch file>

补丁文件中包含的更改将会反映在您的本地存储库中。现在,您可以继续您的工作流,因为您知道您的本地存储库与其他项目协作者保持同步。

Git 用 GitKraken 客户端创建补丁

使用 GitKraken 客户端创建 Git 补丁有几种简单直观的方法。与在 CLI 中创建 Git 修补程序类似,创建 Git 修补程序的方式取决于您想要创建修补程序的文件类型和数量。无论你如何创建你的 Git 补丁,GitKraken Client 都更容易,现在就免费试用

Git 使用 GitKraken 客户端通过一次提交创建补丁

如果您想使用 GitKraken 客户端创建并发送包含特定提交信息的 Git 补丁,请执行以下步骤:

  1. 在中央提交图中,右键单击要从中创建补丁的提交
  2. 从下拉菜单中选择Create patch from commit
  3. GitKraken 客户端将提示您将补丁保存到计算机上的指定位置

Git 使用 GitKraken 客户端通过多次提交创建补丁

要创建包含来自多次提交的信息的 Git 补丁,请执行以下步骤:

  1. 按住ShiftCmd并选择您想要创建补丁的提交
  2. 右键单击其中一个选定的提交,并从下拉菜单中选择Create patch from commits
  3. GitKraken 客户端将提示您将补丁保存到计算机上的指定位置

Git 用 GitKraken 客户端从一个未提交的文件创建补丁

要创建包含来自尚未提交的单个文件的信息的 Git 补丁,请执行以下步骤:

  1. 在 GitKraken 客户端右侧的提交面板中,右键单击要从中创建补丁的未提交文件
  2. 从下拉菜单中选择Create patch from file changes
  3. GitKraken 客户端将提示您将补丁保存到计算机上的指定位置

Git 用 GitKraken 客户端从多个未提交的文件创建补丁

为了从尚未提交的多个文件中创建 Git 补丁,请执行以下步骤:

  1. 从 GitKraken 客户端右侧的提交面板中,按住ShiftCmd选择您想要创建补丁的未提交的更改
  2. 右键单击其中一个未提交的更改,并从下拉菜单中选择Create patch from changes in # files
  3. GitKraken 客户端将提示您将补丁保存到计算机上的指定位置

Git 使用命令面板从所有工作目录变更中创建补丁

按照下面列出的步骤,使用 GitKraken 客户端的命令面板从所有工作目录更改中创建 Git 补丁!

  1. 通过选择魔棒图标🪄或使用键盘快捷键Cmd +  Shift + P访问命令调板
  2. 在命令面板中键入patch
  3. 从下拉菜单中选择Create patch from all working directory changes

创建和应用 Git 补丁并不是一个常见的工作流程,第一次尝试时可能会感到害怕。GitKraken Client 使得使用 Git 补丁变得简单、直观且没有痛苦。

如何使用 GitKraken 客户端应用补丁

GitKraken 客户端要求通过命令面板应用补丁。要应用补丁程序,请执行以下操作:

  1. Git checkout 要应用补丁的分支或提交
  2. 通过选择魔棒图标🪄或使用键盘快捷键Cmd +  Shift + P进入命令调板
  3. 在命令面板中键入patch
  4. 选择Apply patch;这将打开您的文件浏览器
  5. 在文件浏览器中,点击您想要应用的.patch文件,然后选择Open

Git 补丁将被应用到您已经签出的分支或提交,并且您可以继续您的工作流。

Git 去打补丁!

恭喜你!现在您知道了如何使用 CLI 和 GitKraken 客户端创建和应用 Git 补丁。这些新获得的知识为您打开了一扇门,让您开始为使用这种独特的 Git 工作流的开源项目和私有存储库做出贡献。

知道如何自信地使用 Git 补丁的开发人员非常少,这对任何团队都非常有帮助。将您的 Git 补丁知识与 GitKraken Client 结合起来,使创建和应用 Git 补丁变得更快更容易!今天免费下载 GitKraken 客户端

快去拉克兰

原文:https://www.gitkraken.com/learn/git/problems/git-pull-force

Git pull 命令允许您从另一个 repo 或本地分支获取数据并与之集成。

在您的工作流程中,有时您可能希望强制覆盖本地分支的历史记录和文件,以便与远程分支相匹配。虽然 Git 有办法做到这一点,但实际上您不会使用 Git pull 命令。

在讲述如何在命令行中完成相同的事情之前,我们将带您了解如何使用跨平台 GitKraken Git GUI 强制执行 pull 来覆盖您的本地分支历史。

你为什么会想要 Git 拉力?

在您的工作流中可能会出现一些情况,鼓励您强制覆盖您的本地分支。

比方说,您的遥控器上的历史记录与您的本地副本相比发生了巨大的变化;简单地进行 Git 拉取可能会产生非常混乱的历史、代码冲突,或者两者都有。另一方面,你可能对你的本地回购协议做了许多现在已经无关紧要的改变;也许你和一个团队成员错误地在同一个分支上处理一个 bug,他们先解决了它。

简而言之,如果你不关心我们的本地副本的历史,而只想尽快用你的遥控器让你的回购“恢复速度”,你会想要执行 Git pull force。

如果没有 GitKraken 提供的可视化上下文,在覆盖本地更改时知道您的目标是哪个远程分支可能是一个挑战。

如何用 GitKraken 获得拉力?

在这个 Git pull force 的例子中,假设您有一个分支的本地副本,它在远程版本的后面。这是中心 GitKraken 图中的样子:

假设您只想用远程分支所做的任何更改来覆盖本地分支。您不希望执行 Git pull,因为这样一来,您的本地副本将同时包含您不希望看到的本地历史和远程更改。

Git pull 动作实际上是另外两个 Git 命令的系列:一个 Git fetch 后面跟着一个 Git merge

在这个用例中,Git merge 操作是阻止 Git pull 操作以期望的方式执行的部分;它实际上是将远程分支合并到本地分支,而不是覆盖更改,保留了两个组的更改。这也可以为一些龌龊的 饭桶合并的冲突打开大门。😱

GitTip:查看 Git pull 和 Git fetch 之间的 差异,理解每个命令是如何工作的。

git pull --force呢?虽然看起来这个命令会产生一个 Git pull force,但是将--force标志添加到 Git pull 命令实际上只是将标志传递给了git fetch,使其成为一个 Git fetch force。

所以这实际上会产生与单独使用git pull相同的结果。

要强制您的本地分支被 GitKraken 中的远程覆盖,您将采取以下步骤:

1.fetch——你可以通过点击顶部工具栏中方便的Fetch按钮在 GitKraken 中执行 Git fetch。

您也可以在 GitKraken 中通过右键单击左侧面板中的遥控器来执行 Git 获取。

2.直接在图形中双击远程 ref。

3.出现提示时,选择 GitKraken UI 顶部的Reset Local to Here

嘣!💥任务完成!您已经使用 GitKraken Git 客户端强制覆盖了您的本地历史。是的,真的很简单。

您可以通过注意到您的本地分支与您的中心图中的远程历史相匹配来验证操作是否成功执行。

GitKraken 在覆盖 Git 中的本地罚款和更改时,提供了许多优于命令行的好处,包括更好地可视化表示正在执行的操作和分支。

强制覆盖本地更改可能是一个危险的操作。GitKraken 的一键撤销/重做保护开发者免于常见错误。

如何在命令行中获得拉力?

在 CLI 中强制本地分支被远程覆盖的过程类似。

  1. 您将从执行 Git 获取开始。

2.接下来,您需要为您想要从中提取更改的远程分支找到提交 SHA:

git rev-parse <remote-branch-name>

(git rev-parse比跑git log <remote-name>git log <branch-name>快)

3.然后您将使用git reset --hard,后跟遥控器的当前提交 SHA。这会将您的本地分支重置为远程分支。

🚨警告🚨git reset --hard命令被认为是高度危险的,因为它将破坏本地分支上的所有工作,包括已提交和未提交的更改。因此,在执行此操作之前,一定要确保您希望放弃本地分支的更改。

GitKraken 包括破坏性操作的验证提示,如 Git 硬重置,因此您可以避免灾难性的错误。

4.此时,因为您缺少 GitKraken 图提供的可视化上下文,所以您需要验证您的本地分支和远程分支是否指向相同的提交。

git diff <local-branch-name> <remote-branch-name>

如果它们而不是指向同一个提交,您将会看到类似这样的内容:

有时候,如果你离遥控器太远,在本地覆盖你的修改会更快。借助于用于 Windows、Mac、& Linux 的跨平台 GitKraken Git 客户端,强制覆盖本地更改并不一定是令人生畏或具有破坏性的。

Git Rebase -什么是 Git Rebase?|学习 Git

原文:https://www.gitkraken.com/learn/git/problems/git-pull-rebase

什么是 Git rebase?Rebase 是 Git 中的一个动作,它允许你将一个 Git 分支提交重写到另一个分支。本质上,Git rebase 是从一个分支删除提交,并将它们添加到另一个分支。

在本文中,我们将讨论以下与 Git rebase 命令相关的主题:

我们还有其他资源可以了解更多关于 Git rebase 的信息:

在 Git 中重置基可能是一种破坏性的行为。在 GitKraken Client 的帮助下,确保您拥有所需的可见性和控制力。

如何在命令行中 Git Rebase

要在终端中开始您的 Git rebase,您可能会从运行 Git branch 命令来查看您的本地分支列表开始。在下面的例子中,您可以看到当前检出的分支是feature,以及另外两个分支:mainproduction

如果你想在一个当前没有签出的分支上提交,你必须用git checkout命令切换到另一个分支。了解如何检查一个远程 Git 分支和一个本地 Git 分支

假设您想要将最近两次提交从feature分支重写到main分支。因为终端缺乏哪个提交存在于哪个分支的直接可视上下文,所以您将通过运行git log命令,然后运行-2来开始。

名为Additional sentence structure changes的提交是feature分支最初从main分支分支出来的地方。这将在 Git rebase 完成后改变,所以请注意。

为了继续 rebase,您将使用git rebase命令,后跟您的目标分支的名称——在本例中是main分支——将您的更改从一个分支移动到另一个分支。

至此,Git rebase 就完成了!Git 已经将来自feature分支的提交重写到了main分支上最近的提交。

您可以通过引用 GitKraken 客户端的提交图来验证 Git rebase 是否成功。提交图应该显示来自特性分支的提交已经转移到了主分支。

如果您选择 GitKraken CLI 作为您的终端,这就更容易了。因为 GitKraken 客户端结合了 CLI 的强大功能和方便的 GUI 视觉效果,开发人员可以实时看到您的更改如何影响存储库。下载 GitKraken 客户端亲自体验精简终端和桌面客户端的便利。

如何使用 GitKraken 客户端获取 Rebase

GitKraken 图形用户界面的最大好处之一是您的回购信息的显示方式。正如您在这里看到的,GitKraken 客户端在中央提交图中清晰地显示了您的提交历史。这给了你一个即时的快照,这样你就可以很快理解你想要重定基础的分支发生了什么。

在这个例子中,假设您有一个feature分支,您需要将变更合并到dev分支上。要在 GitKraken 中执行重设基础,只需将feature拖放到dev上,然后点击上下文菜单中的Rebase feature onto dev选项。

使用 GitKraken 客户端
只需点击 2 次即可进行 Git rebase

感觉你已经掌握了 Git rebase 的窍门?升级到 Git interactive rebase

不要在命令上浪费时间,把更多的时间用在…想做什么就做什么。今天免费下载跨平台 GitKraken Git 客户端

Git Pull Rebase

Git pull rebase 是一种将本地未发布的更改与远程上最新发布的更改相结合的方法。

假设您有一个包含未发布变更的项目主分支的本地副本,并且该分支是 origin/main 分支之后的一个提交。

Git 有两种方法来合并这种性质的更改:Git pull rebase 和 Git pull merge。

Git 有两种方法来合并这种性质的更改:Git pull rebase 和 Git pull merge。

Git Pull Rebase 与 Git Pull Merge

那么,Git 拉 rebase 和 Git 拉 merge 有什么区别呢?虽然这两个选项都将结合从您的远程获取的更改,但是在您的 Git 历史中,结果看起来会非常不同。

Git 拉合并是在 Git 中合并变更的默认方法,它会将未发布的变更与已发布的变更合并,从而导致合并提交。

另一方面,使用 Git pull rebase,未发布的更改将被重新应用到已发布的更改之上,并且不会有新的提交被添加到您的历史中。

记住这一点,您可以看到 Git pull rebase 通过删除不需要的合并提交,将会产生一个线性的、更清晰的项目历史。

我们将带您了解如何使用 CLI 和著名的跨平台 GitKraken 客户端执行 Git pull rebase。

我们将带您了解如何使用 CLI 和著名的跨平台 GitKraken 客户端执行 Git pull rebase。

如何在命令行中 Git Pull Rebase

要在 CLI 中执行 Git pull rebase,首先要导航到本地 repo 并执行以下命令:

git pull --rebase

如果 Git 在 rebase 中没有检测到任何冲突,您应该会看到消息:Successfully rebased and updated refs/heads/main.但是,如果 Git 检测到冲突,您未发布的更改将不会被应用。

如果 Git 在 rebase 中没有检测到任何冲突,您应该会看到消息:Successfully rebased and updated refs/heads/main.但是,如果 Git 检测到冲突,您未发布的更改将不会被应用。

如何使用 GitKraken 客户端获取 Rebase

要开始 GitKraken 客户端中的 Git pull rebase 过程,您将从选择顶部工具栏中Pull旁边的向下箭头▼开始。

要开始 GitKraken 客户端中的 Git pull rebase 过程,您将从选择顶部工具栏中Pull旁边的向下箭头▼开始。

从下拉菜单中选择Pull (rebase)

(你可以点击那个选项旁边的圆圈,让Pull (rebase)成为你在 GitKraken 客户端拉取的默认操作。)

(你可以点击那个选项旁边的圆圈,让Pull (rebase)成为你在 GitKraken 客户端拉取的默认操作。)

仅此而已。说真的,就这么简单。

您可以看到该图现在是线性的,并且易于导航,无需任何合并提交!只需两次点击,您就可以在 GitKraken 中执行 Git pull rebase,并具有完整的可视上下文。

Git Rebase FAQ

问:Git Rebase 是做什么的?

答:Git rebase 从一个 Git 分支获取提交,并将它们添加到另一个分支。将此视为 Git 的“剪切-粘贴”操作可能会有所帮助。当您 Git rebase 时,您实际上是从一个分支中删除提交,并将它们添加到另一个分支中。

问:如何重定 Git 的基数?

答:要明确的是,Git 是一个版本控制软件,可以让你跟踪你的文件。Git rebase 是 Git 中可用的一个操作,它允许您在 Git 分支之间移动文件。有关如何 Git rebase 的分步说明,请参见以上章节,如何在命令行中 Git Rebase如何在 GitKraken 客户端中 Git Rebase

答:Git rebase 从一个 Git 分支获取提交,并将它们添加到另一个分支。将此视为 Git 的“剪切-粘贴”操作可能会有所帮助。当您 Git rebase 时,您实际上是从一个分支中删除提交,并将它们添加到另一个分支中。

问:如何重定 Git 的基数?

答:要明确的是,Git 是一个版本控制软件,可以让你跟踪你的文件。Git rebase 是 Git 中可用的一个操作,它允许您在 Git 分支之间移动文件。有关如何 Git rebase 的分步说明,请参见以上章节,如何在命令行中 Git Rebase如何在 GitKraken 客户端中 Git Rebase

A: To be clear, Git is a version control software that allows you to track your files. Git rebase is an action available in Git that allows you to move files between Git branches. For step-by-step instructions regarding how to Git rebase, see the above sections, How to Git Rebase in the Command Line or How to Git Rebase in GitKraken Client.

Git Pull 与 Fetch 的区别| Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-pull-vs-fetch

您可能处于以下情况:最近对您的远程存储库进行了更改,并且您想要将它们合并到您的本地副本中。这里有几个选项:从远程获取更改的两个最常见的操作是 Git pull 和 Git fetch。

那么,Git pull 和 fetch 之间有什么区别,什么时候应该使用哪个命令?我们很高兴你问了。

什么是 Git fetch?

Git fetch 是一个允许您从另一个存储库下载对象的命令。

什么是 Git pull?

Git pull 是一个命令,允许您从另一个存储库或本地分支获取数据并与之集成。

从这个定义中,您可以看到 Git pull 实际上是一个 Git fetch,后面跟着一个附加的操作—通常是 Git merge。

什么时候应该使用 Git pull?

当您对将从远程存储库获得并添加到本地副本的更改有完整的上下文时,Git pull 是一个理想的操作。

什么时候应该使用 Git fetch?

如果您只想查看远程存储库中的所有当前分支和变更,Git fetch 可以获取您需要的所有信息,而无需对您的工作进行任何本地更改。

这使您有时间决定合并更改的最佳行动方案,例如将它们合并到您的本地分支机构中或快进。

比较 Git 拉取和提取

当比较 Git pull 和 fetch 时,Git fetch 是一个更安全的选择,因为它从远程获取所有提交,但不对本地文件做任何更改。

另一方面,Git pull 的速度更快,因为你可以一次执行多个操作——物有所值。使用 Git pull 命令可以被看作是一种方便的特性;您可能不太担心在本地回购中引入冲突,您只想从您所在的远程分支机构获得最新的变更。

Git pull 是一个更高级的操作,重要的是要理解您将引入变更并立即将它们应用到您当前检出的分支。

Git fetch 有点不同;您可以使用 Git fetch 命令查看遥控器的所有更改,而无需应用它们。如果您是 Git 新手,这个动作可能会很棒,因为它提供了关于引入的更改的更多可见性。另一方面,fetch 也可能是 Git 老手的首选,他们只是希望对他们的回购中发生的事情有更多的控制。

现在我们已经了解了各个命令的作用,并比较了 Git pull 和 fetch,让我们学习如何使用跨平台 GitKraken Git GUI 来可视化您的存储库,以及如何在 CLI 中执行这些操作。

GitKraken 让您可以看到从远程存储库中提取或取出的所有变更的细节。

另一方面,Git pull 的速度更快,因为你可以一次执行多个操作,这样更划算。使用 Git pull 命令可以被看作是一种方便的特性;您可能不太担心在本地回购中引入冲突,您只想从您所在的远程分支机构获得最新的变更。

你如何使用 GitKraken 来获取数据?

在 GitKraken 中,你可以很容易地从顶部工具栏中获取或拉出。

GitTip:了解 GitKraken 中默认的 Git pull/Git fetch 操作。

或者,您可以在 GitKraken 的中心图中右键单击一个远程分支来获取或提取。

GitTip:需要复习一下如何拉一个远程 Git 分支?我们会掩护你的。

但是如果你像许多开发者一样喜欢使用键盘,GitKraken 为你提供了超级方便的模糊查找器,你可以用快捷键Cmd/Ctrl + P打开它。

打开模糊查找器后,您可以简单地键入fetch开始获取 Git,或者键入pull开始获取 Git。

GitTip:了解 GitKraken 中默认的 Git pull/Git fetch 操作。

用 GitKraken 自动获取更改

GitKraken 包含一个方便的功能,允许您根据定义的时间间隔自动从远程存储库中获取更改。您可以将间隔时间设置为每分钟、每小时或介于 0 和 60 之间的指定分钟。

这对于让您的本地副本与您的远程副本保持同步非常有帮助,并且当您有许多正在进行的多个存储库和项目时尤其有益。

通过 GitKraken 中的自动获取功能,让您的本地副本与遥控器中的更改保持同步,节省时间。

如何在命令行中获取数据?

如果您使用终端,您将使用 Git fetch 命令从远程分支获取更改。

这对于让您的本地副本与您的远程副本保持同步非常有帮助,并且当您有许多正在进行的多个存储库和项目时尤其有益。

你如何获得命令行?

类似地,您将使用 Git pull 命令从您的远程设备中提取更改。

这将使用来自远程的更改更新当前签出的分支。

在 GitKraken 中,只需点击一下鼠标,就可以获取你的更改,GitKraken 连续四年被选为最受欢迎的 Git 客户端。今天就免费旋转一圈;你不会后悔的。

git fetch

你如何获得命令行?

类似地,您将使用 Git pull 命令从您的远程设备中提取更改。

git pull

这将使用来自远程的更改更新当前签出的分支。

在 GitKraken 中,只需点击一下鼠标,就可以获取你的更改,GitKraken 连续四年被选为最受欢迎的 Git 客户端。今天就免费旋转一圈;你不会后悔的。

如何获得推动力| Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-push-force

Git push 命令获取您在本地机器上所做的更改,并更新您的远程存储库以反映这些更改。开发人员使用这个命令来更新他们的远程存储库,以便与项目合作者共享最准确的 Git 历史。

Git push 是更新远程存储库的首选命令。Git push 不仅接受您的本地更改并将它们添加到远程,而且不会覆盖远程先前保存的任何 Git 历史。

但是,在某些情况下,您需要覆盖远程历史记录。这就是 Git push force 的用武之地,您可能听说过它被称为“Git force push”或“force pushing”。

请继续阅读,了解如何在您的工作流中有效、安全地利用 Git force pushing。在本文中,我们将介绍如何使用 GitKraken 客户端强制推送,首先在 CLI 中,然后在 Git GUI 中。

GitKraken 客户端通过撤销/重做按钮等功能,最大限度地降低了 Git 中可能存在的危险操作的风险,如强制推送。希望您的工作流程更加安全?⬇️

Git Push Force 是如何工作的?

与 Git push 不同,git push –force不要求您的本地存储库与远程存储库完全同步。恰恰相反,Git push force 使远程存储库与本地存储库相匹配。

Git 推力的风险

Git push force 会覆盖远程存储库,以完全匹配您运行该命令时本地存储库的样子。这意味着在运行 Git push force 之前,您需要确保您的本地存储库完全是最新的,包含来自远程的最新更改,否则您将面临丢失提交的风险。

例如,假设一个团队成员将新的变更推送到一个遥控器上,而您忘记了提取它们。因为您未能提取这些变更,所以它们不会反映在您的本地存储库中。在这种情况下,如果您执行 Git push force,您将用本地 repo 的副本替换远程存储库,实际上删除了团队成员的工作。

使用 Git push force 仍然没有确保在运行命令之前获取最新的更改那么简单。可能您的一个或多个团队成员正在基于旧的提交历史处理变更。如果你在这种情况下强行推动,如果你没有将团队成员的贡献融入到你当前的工作中,这可能会使他们变得过时。

如果你决定要保留你的项目的历史,但仍然想对你的远程回购做一个小的改变,考虑使用git revert <commit>恢复你的提交。这不会像强制推送那样改变项目的历史,并且可以帮助您撤销与代码库冲突的提交。

什么时候应该使用 Git 推力?

在一些情况下,使用 Git push force 是最好的做法,尽管可能会有负面影响。

您可能需要在 Git 中强制推送的一些常见示例包括:

如果您是 Git 新手,并且对使用终端感到不确定,GitKraken CLI 会根据您的活动为 Git 命令提供自动建议,甚至会提供它们的简要描述。

用命令行给出推力

虽然您可以在任何终端中遵循相同的基本步骤来强制推送,但我们将使用强大的 GitKraken CLI 来回顾这个过程。

要访问 GitKraken 客户端中的 CLI,点击顶部工具栏中的Terminal按钮。

您将希望从使用git fetch --all从遥控器获取任何更改开始。执行一个 Git 获取从远程获取任何还没有应用到本地 repo 的更改,并添加它们。

虽然这一步对于执行强制推送不是必需的,但是这是一个很好的做法,因为它允许您验证最近没有推送任何您不想覆盖的内容。

接下来,您应该执行一个交互式重置来挤压您的提交。这种实践促进了更干净的远程存储库,并使您的团队成员更容易找到您的变更并与之交互。要执行交互式重置基础和压缩一组提交:

  1. 使用git log找到您将开始工作的基础提交的 SHA。
  2. 运行git rebase -i <SHA>开始交互式重置基础。
  3. 使用像 Vim 这样的文本编辑器程序,选择您想要压缩的提交。
  4. 使用Escape键退出文本编辑器,然后键入:wq
  5. 最后,基于所有文件编写一个全面的提交消息,然后使用Escape:wq完成。

作为一般的最佳实践,您可能还想运行git status来确认您的本地分支是否处于预期状态。运行 Git status 将返回索引文件和当前 HEAD commit 之间的差异,以及索引文件和工作树之间的差异。

一旦您采取了这些步骤来为 Git push force 创建一个更安全的环境,您现在就可以运行下面的命令来强制 push 到远程存储库:

git push --force

从 CLI 考虑的另一个安全措施是使用git push force-with-lease。如果使用此标志发现对远程数据库所做的更改没有反映在您的本地存储库中,则它将无法强制推送。

回想一下我们过去的例子。如果一个团队成员已经对远程进行了更改,而您没有提取这些更改,那么单独运行 Git push force 将会覆盖您的团队成员的贡献。但是,如果使用 lease 运行 Git push force,那么 force push 将会失败,因为它识别出您需要从远程获取更改。如果自上次拉动后遥控器没有发生任何变化,强制推送将继续进行。

从 CLI 考虑的另一个安全措施是使用git push force-with-lease。如果使用此标志发现对远程数据库所做的更改没有反映在您的本地存储库中,则它将无法强制推送。

使用 Git GUI 获得推力

就像如果您要使用 CLI ,在 Git GUI 中执行强制推送之前,您会希望先执行一个获取操作。您可以在 GitKraken 客户端中通过选择顶部工具栏中Pull按钮右侧的小^ 箭头来完成此操作。从随后的下拉菜单中,选择Fetch All。如前所述,首先执行这个操作有助于降低意外覆盖工作的风险。

使用 Git GUI 获得推力

就像如果您要使用 CLI ,在 Git GUI 中执行强制推送之前,您会希望先执行一个获取操作。您可以在 GitKraken 客户端中通过选择顶部工具栏中Pull按钮右侧的小^ 箭头来完成此操作。从随后的下拉菜单中,选择Fetch All。如前所述,首先执行这个操作有助于降低意外覆盖工作的风险。

一旦您对本地回购感到满意,您可以使用Push按钮将您的更改推送到遥控器。使用 GitKraken 客户端强制推送时,会出现一个横幅,有以下选项:Pull (fast forward if possible)Force PushCancel

注意:Pull (fast forward if possible)获取远程分支上的任何更新,并尝试快进或移动本地分支,以指向与远程分支相同的提交。如果不能快进,将执行 Git 合并Cancel将取消推送。

在下面的例子中,有几个提交应该被压缩。为此,使用command/ctrl从图中多选所需的提交,然后选择Squash 3 commits。请注意,本地主分支现在在历史上与远程主分支不同。

注意:Pull (fast forward if possible)获取远程分支上的任何更新,并尝试快进或移动本地分支,以指向与远程分支相同的提交。如果不能快进,将执行 Git 合并Cancel将取消推送。

在下面的例子中,有几个提交应该被压缩。为此,使用command/ctrl从图中多选所需的提交,然后选择Squash 3 commits。请注意,本地主分支现在在历史上与远程主分支不同。

既然本地主分支指向了期望的提交,那么是时候 Git force push 这个更改来从远程历史中删除其他提交了。为此,在 GitKraken 客户端的顶部工具栏中选择Push。然后,系统会提示您以下消息:

既然本地主分支指向了期望的提交,那么是时候 Git force push 这个更改来从远程历史中删除其他提交了。为此,在 GitKraken 客户端的顶部工具栏中选择Push。然后,系统会提示您以下消息:

选择Force Push,最后再次选择Force Push确认。因为这是一个潜在的破坏性行动, GitKraken 客户端给你机会仔细检查,确保你想继续进行。

选择Force Push,最后再次选择Force Push确认。因为这是一个潜在的破坏性行动, GitKraken 客户端给你机会仔细检查,确保你想继续进行。

您可以通过检查本地和远程主分支是否指向同一个提交,以及其他不需要的提交是否已被删除,来确认强制推送是否成功。

团队的远程回购健康和 Git

基于我们已经介绍的概念,很容易理解为什么保持一个干净的远程存储库如此重要。当与团队合作时,需要一个干净的远程存储库。有了这么多的接触点和贡献者,建立清晰的存储库标准并与您的合作者尽可能多地促进项目可见性是至关重要的。

GitKraken 客户端的 Git for Teams 功能会在您和团队成员处理同一个文件时提醒您,以便您可以避免潜在的合并冲突,深度链接允许您与团队快速共享项目的特定部分。GitKraken Client 让团队协作变得无缝和简单,这样你就可以专注于编写令人惊叹的代码。

基于我们已经介绍的概念,很容易理解为什么保持一个干净的远程存储库如此重要。当与团队合作时,需要一个干净的远程存储库。有了这么多的接触点和贡献者,建立清晰的存储库标准并与您的合作者尽可能多地促进项目可见性是至关重要的。

想要帮助您的团队改善他们的远程存储库的健康状况,避免合并冲突,并提高生产力吗?GitKraken 客户端可以帮助您完成所有这些任务,甚至更多。立即下载,向改善团队协作和成功迈出第一步。

想要帮助您的团队改善他们的远程存储库的健康状况,避免合并冲突,并提高生产力吗?GitKraken 客户端可以帮助您完成所有这些任务,甚至更多。立即下载,向改善团队协作和成功迈出第一步。

你如何得到推送标签?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-push-tag

在我们开始讨论如何推送 Git 标签之前,让我们快速回顾一下 Git 中标签的基础知识。

什么是 Git 标签?

Git 标签是对一个 Git 存储库的历史中的特定提交的引用。例如,在 Git 中,标签通常用于标记发布,但是当您想要引用提交而不需要使用提交散列时,它们也很有用。

在 Git 推送标签之前,您必须创建标签。我们将回顾使用跨平台 GitKraken Git GUI 创建和推送 Git 标记的过程,然后在 CLI 中浏览该过程。

GitKraken 的易于阅读的提交图将使您更深入地了解您的分支和标签,并使推送更改到您的远程安全,快速,非常容易。

如何在 GitKraken 中创建 Git 标签?

使用 GitKraken 可视化您的存储库的美妙之处在于能够立即洞察您的分支和提交。中央 UI 按照时间顺序显示您提交的所有内容,这样您就可以确切地知道任何给定项目中正在发生什么。

要在 GitKraken 中创建 Git 标记,您将从中间的图中找到您想要标记的 Git 提交,并简单地右键单击该提交。然后从下拉菜单中选择选项Create tag here

接下来,您将在 commit 旁边的框中键入 Git 标记的名称,然后按 enter 键。就是这样!

如何在 GitKraken 中创建带注释的 Git 标签?

GitKraken 还允许您使用相同的过程创建带注释的标签。只需右键单击您想要标记的提交并选择Created annotated tag here

这将在图的顶部打开一个对话框,允许您输入一条与 Git 标签相关的消息。

当您将鼠标悬停在中央图形中的标签上时,您的注释将显示为工具提示。

如何推送标签?

创建 Git 标签后,您将能够将标签推送到您的遥控器。

默认情况下,Git 标记存储在本地机器上,并且在运行 Git push 命令时不会被推送。

如何在 GitKraken 中推送标签?

要在 GitKraken 中推送标签,只需右键单击 Git 标签并选择Push <tag-name> to origin

现在,因为您已经让 Git 推送了您的标签,所以每当有人在您的远程存储库上执行 Git pull 时,它就会被拉下来。只需两次点击,你就完成了。💥

有了 GitKraken,你只需点击两下就可以将标签推送到遥控器上。加快工作流程中较小任务的速度会带来巨大的生产力优势。给你更多的时间做…无论你想要什么。

如何在命令行中创建 Git 标签?

如果没有 GitKraken 的中心图提供的直观上下文,您将不得不在 CLI 中运行一个命令来查看您的提交历史。

git log --pretty=oneline

在本例中,运行该命令将显示存储库中有两个提交。

要 Git 标记最近的提交,您将使用以下命令:

git tag <tag-name>

在这个例子中,标签名称将是this-is-a-tag

现在,如果您想在 CLI 中标记一个旧的提交,您将需要在命令的末尾添加一部分提交散列。让我们使用48dad向本例中的Initial commit添加一个 Git 标签。

要包含带有 Git 标记的消息,可以使用-a标志创建一个带注释的标记,然后添加带有-m标志的消息。

git tag -a <tag-name> -m “tag-message”

如何使用 Git show tag 命令?

要验证您的 Git 标记是否被正确注释,您可以运行以下命令:

git show <tag-name>

这个命令应该提供以下信息来验证 Git 标签上的注释。

如何在命令行中推送标签?

要在终端中推送标签,您将使用以下命令。在本例中,this-is-a-tag是您的标签的名称。

git push origin this-is-a-tag

如何推送所有标签?

要 Git 将您本地拥有的所有标签推送到您的远程存储库,您将使用以下命令:

git push origin --tags 

GitKraken Git GUI 提供了对提交、分支和 Git 标签的更多可见性,使得在需要时可以快速轻松地找到标签并将其推送到您的远程设备。使用 GitKraken 的开发人员加快了日常 Git 操作,并使更高级的任务,如 Git interactive rebase ,安全而直观。

如何将 Git 推送到远程分支| Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-push-to-remote-branch

您是否希望将本地分支推送到远程?将本地 Git 分支推送到远程会用本地分支上的所有提交更新远程分支。推送是为了让其他人可以在远程设备上访问本地更改以获取或提取。

在本文中,您将学习如何使用 GitKraken 客户端将 Git 推送到远程分支,首先在 GitKraken CLI 中,然后在 Git GUI 中查看该过程。

如果您是 Git 新手,管理和更新您的远程项目可能会很棘手。幸运的是,GitKraken Client 通过清晰地可视化您的本地和远程分支使它变得容易,因此您确切地知道您在哪里推动变化。

如何使用 CLI 推送至远程分支机构

虽然您可以在任何终端中按照相同的基本步骤将 Git 推送到远程分支,但是我们将使用强大的 GitKraken CLI 来回顾这个过程。

在 GitKraken 客户端,可以通过顶部工具栏的Terminal按钮访问 GitKraken CLI。

在从 CLI 运行 Git push 操作之前,您应该首先使用git status。运行 git status 将返回索引文件和当前 HEAD commit 之间的差异,以及索引文件和工作树之间的差异。这是一个很好的方式来仔细检查您的工作,并确保您准备好将您的本地更改推送到远程。

在下面的例子中,您可以看到本地主分支在远程主分支 origin/main 之前,或者包含一个额外的提交。这意味着您的计算机上本地包含的文件或更改在您的远程计算机上找不到,需要被推上来。

此外,您可以看到消息:" nothing to commit,working tree clean "这表明没有未提交的工作要推送到远程分支。

当您对本地分支的状态感到满意时,是时候将您的更改推送到远程分支了。

如果您已经为这个分支设置了上游远程,那么 Git push 命令是您需要运行的唯一操作。设置默认上游分支的好处是,它消除了推送过程中需要您每次选择要推送到哪个分支的步骤。如果这是您选择遵循的流程,并且您已经设置了一个上游分支,只需运行git push将您的本地分支推到远程。

因为本例中的 Git 存储库正在使用 HTTPS,所以我们还必须填写远程用户名和密码来进行身份验证。一旦用户名和密码被接受,所有本地提交都被推送到远程分支。

然而,重要的是要注意,许多开发人员宁愿不设置默认分支,而宁愿指定他们每次都将推送到哪个分支。一些人认为这是一个更加谨慎的过程,可以促进干净的远程存储库,避免设置和切换上游带来的麻烦。

如果您属于不设置上游的阵营,您可以简单地告诉 Git 您每次推送时想要使用哪个远程和分支,使用:

git push <remote> <branch-name>

如何使用 Git GUI 将分支推送到远程

要在 GitKraken 客户端中推送分支,请勾选所需的分支,然后只需选择工具栏中的Push按钮。

或者,还有两种方法可以让 Git 推送远程分支:

  1. 使用带有键盘快捷键command/ctrl + P 的命令面板,然后输入“Push”。
  2. 右键单击中心图的分支,并从上下文菜单中选择Push

在下面的例子中, GitHub 集成被用作通过 HTTPS 与遥控器一起工作的认证。这使得你不必每次在 GitKraken 客户端与远程回购程序交互时都输入你的 GitHub 帐户信息。

GitKraken 客户端用分支名称旁边的笔记本电脑图标来标识本地文件。在本例中,您可以看到本地分支“main”有一个名为“Update README.md”的提交,该提交尚未推送到远程。

ProTip:在推送之前,确保没有 WIP 节点表明仍然需要提交更改。

当您准备好推送时,从顶部工具栏中选择Push 按钮。一旦推送完成,本地和远程分支将指向相同的提交,GitKraken 客户端将显示一条推送成功的消息。

还没有上游集吗?别担心,GitKraken 的客户会支持你的。GitKraken 客户端将提示您,并询问您希望将本地更改推送到哪个远程和分支。

正如您在这个例子中所看到的,默认情况下,您的本地分支的名称是自动填充的,这样以后在您的远程存储库中就很容易找到。它可以保持不变,或者您可以选择输入一个新的远程分支名称。选择Submit完成推送。

如何将分支推送到不同的远程上游

有时,您将需要 Git push 到一个当前没有设置为上游的远程分支。如果这是一种特殊情况,您只想将本地分支推送到特定的远程分支一次,只需将本地分支拖放到所需的远程分支上,然后从自动生成的菜单中选择 push。

如果您想将默认上游更改为不同的远程分支,只需右键单击您想要的分支并选择Set Upstream

饭桶 饭桶推之前先拉

与他人协作时,最好的做法通常是在推送之前执行 Git pull 。这将使用其他人推送到远程分支的任何更改来更新本地分支。如果远程上存在与本地更改冲突的更改,则可以在本地解决这些更改,以避免在远程上产生冲突。

正如任何犯过这种错误并过早推进的人都知道的那样,试图解开并调试合并冲突可能是一件非常头疼的事情,需要你和你的团队投入大量的时间。GitKraken Client 可以帮助你避免这个错误,其他人也喜欢它,因为它有非常直观的团队 Git功能。当多个团队成员同时处理文件时,提交图左侧的团队视图会提供警告。此外,交互式 GitHub pull request 管理和各种问题跟踪集成只是 GitKraken Client 受到全球数万家组织信任的部分原因。

想要帮助您的团队花更少的时间修复繁琐的问题,花更多的时间编写惊人的代码吗?尝试 GitKraken 客户端的 Git for Teams 特性来提高您的工作效率!

使用直观的 GitKraken 客户端使得 Git 对于初学者来说易于理解,对于 Git 专家来说更加强大。GitKraken Client 具有拖放功能、传奇的 UX 和强大的可视化工具,可以将您的 Git 工作流提升到一个新的水平。

了解如何 Git 推送| Git 推送本地分支到远程分支

原文:https://www.gitkraken.com/learn/git/git-push

Git push 命令将本地更改上传到您的远程存储库。

通常,当使用 Git 时,您的代码既存在于您计算机上的本地存储库中,也存在于服务器上的一个或多个存储库中。我们称存储在服务器上的回购文件为“远程文件”。

Git push 会将 Git commits 从您的本地存储库上传到您的远程存储库,比如存储在 GitHub 或 GitLab 上的 repos。Git push 通常用在开发工作流中,使本地更改可以在远程访问,以便其他协作者可以获取或提取最新的项目历史。

运行 Git push 不会覆盖您的原始文件。Git 知道哪些提交已经存在于上游分支上,并且将只上传从您的本地存储库中推送的新更改。

在本文中,我们将介绍使用 Git push 及其相关操作的来龙去脉,包括如何连接到远程存储库,设置默认上游、删除远程分支的利弊,以及如何正确使用 Git push force。

喜欢从 CLI 推送您的更改吗?GitKraken Client 允许您利用终端的速度,同时在同一个窗口中提供可视化提交图。

Git 推送的好处

您希望将提交推送到远程有两个主要原因:

  1. 对您的存储库和分支进行远程备份。大多数 Git 托管服务本质上充当你的回购的“云备份”。如果你的计算机出了什么问题,你可以放心,你的代码不会永远消失。
  2. 与他人共享您的代码。无论是与您的开发团队共享代码,还是向开源社区公开共享代码,对于开发人员来说,远程推送都是一种共享和协作项目的便捷方式。其他人可以克隆或派生您的 repo 来查看您的代码并做出更改。根据您使用的 Git 主机的不同,谁可以访问您的远程设备会有不同的配置。

连接到远程存储库

开始一个项目有两种主要的方法。您可以克隆一个现有的存储库或者创建一个新的 Git 存储库。克隆存储库不需要您连接到远程,因为它会自动为您创建一个远程。

然而,如果您在本地机器上使用 GitKraken 客户端的终端标签中的git init或者通过简单地从 GUI 中选择Start a local repo按钮创建了一个新的存储库,您将需要手动连接到一个远程服务器以便上传和共享您的项目。

GitKraken 客户端可以在各种流行的托管服务上添加远程存储库,包括 GitHubGitLabBitbucketAzure DevOps

GitKraken 客户端集成了许多主要的存储库托管服务,因此您可以花更少的时间尝试连接存储库,而将更多的时间用于编写令人惊叹的代码。

要使用 GitKraken 客户端中的 GUI 将您的本地项目连接到远程项目,导航到左侧面板,悬停在Remote上并选择右侧的+图标。接下来,在顶部选择你想要的远程托管服务。最后,选择Create remote and push local refs。屏幕左下方将出现一条提示信息“已成功创建回购”。

您也可以使用 URL 添加 GitKraken 客户端的现有遥控器。在以这种方式添加远程之前,您需要在您的托管站点上创建一个远程存储库,这样您就可以访问项目的 URL。

项目的 URL 通常会显示在您首选的托管网站的显著位置,便于访问。要添加现有遥控器,请在 GitKraken 客户端中执行以下步骤:

  1. 从您的存储库托管站点复制 URL 并返回到 GitKraken 客户端
  2. 导航到左侧面板,悬停在Remote上,选择右侧的+图标
  3. 选择 URL 并输入项目名称
  4. 将 URL 粘贴在标有Pull URLPush URL的部分下
  5. 选择Add remote按钮

您还可以使用带有remote add命令的 Git CLI 将您的本地存储库连接到远程服务器。要访问 GitKraken 客户端中的 CLI 选项卡,请选择位于主工具栏右侧的Terminal按钮。

您的屏幕应该看起来像这样:

GitKraken 客户端 CLI 界面,终端在顶部,GUI 提交图在底部。

现在导航到您的托管站点,使用 HTTPS 或 SSH 复制远程回购的 URL。下面的例子展示了 GitHub 中 URL 的例子。

GitHub 页面,您可以在其中复制远程存储库的 URL

现在您已经有了所有必要的信息,可以将本地 repo 连接到新创建的 remote 了。要连接这些回购,请使用:

git remote add origin <url of remote>

在 CLI 中,您可以通过运行git remote来仔细检查遥控器是否已连接。您应该看到终端在运行该命令后返回了origin。这意味着您已经成功地将本地项目连接到了远程存储库。

Git 将本地分支推送到远程

为了将更改推送到您的遥控器,您需要首先对您的本地存储库进行更改。为了让这些变更处于可以被推送的状态,您需要暂存或添加它们,然后提交这些变更。

如果您的本地存储库在远程存储库的“前面”,也就是说本地存储库上的更改还没有反映到远程存储库中,那么您可以验证您确实准备好将更改推送到远程存储库了。在 GitKraken 客户端中,您可以从 GUI 的中央提交图中看到您的本地项目是否在远程项目之前。

GitKraken 客户端提交图

要使用 CLI 查看本地是否领先于远程,您需要运行git status。在这种情况下,您可以看到本地在远程之前,因为终端返回了消息:“您的分支在origin/main之前 1 次提交。”

GitKraken 客户端 CLI

现在,您已经准备好将您的更改推送到远程,让我们看看如何使用 GitKraken 客户端的 GUI 和 CLI 进行 Git push。

使用 GitKraken 客户端的 GUI,有 3 种方法可以推动您的更改:

检查所需的分支,然后选择顶部工具栏中的Push按钮。

使用带有键盘快捷键command/ctrl + P的命令面板,然后输入“Push”。

  1. 右键单击中心图的分支,并从上下文菜单中选择Push
  2. 使用带有键盘快捷键command/ctrl + P的命令面板,然后输入“Push”。
  3. 右键单击中心图的分支,并从上下文菜单中选择Push

要使用 GitKraken 客户端的 CLI 推送更改,请从顶部工具栏选择Terminal按钮打开终端选项卡。通过使用git checkout <branch name>检查您想要推送变更的分支。要 Git 推送您的更改,请使用以下命令:

Git push <remote name> <branch name>

要使用 GitKraken 客户端的 CLI 推送更改,请从顶部工具栏选择Terminal按钮打开终端选项卡。通过使用git checkout <branch name>检查您想要推送变更的分支。要 Git 推送您的更改,请使用以下命令:

Git push <remote name> <branch name>

设置默认上游分支

在将变更推送到远程时,有两种截然不同的开发人员工作流。一些开发人员更喜欢设置一个默认的上游分支,而其他人则更喜欢手动选择每次将他们的更改推送到哪个分支。

一些开发人员选择设置默认上游分支的原因是,它消除了推送过程中的一个步骤。他们不必每次都选择将提交推送到哪个远程分支,而是在本地分支和远程分支之间创建一种关系,我们称之为设置默认上游,告诉 Git 将相关本地分支上的所有更改推送到连接的远程分支。

如果您想要使用 GitKraken 客户端的 GUI 设置上游,只需导航到左侧面板,将鼠标悬停在您想要设置上游的本地分支上,单击省略号图标,然后选择Set Upstream

一些开发人员选择设置默认上游分支的原因是,它消除了推送过程中的一个步骤。他们不必每次都选择将提交推送到哪个远程分支,而是在本地分支和远程分支之间创建一种关系,我们称之为设置默认上游,告诉 Git 将相关本地分支上的所有更改推送到连接的远程分支。

为分支选择省略号时可用的下拉选项

要使用 GitKraken 客户端的内置 CLI 设置上游分支,请在 push 命令中使用--set-upstream标志。例如,它可能看起来像这样:

Git push --set-upstream origin main

这将建立一个默认的上游分支,Git 将自动从这个远程分支向前推和拉。

Git push --set-upstream origin main

这将建立一个默认的上游分支,Git 将自动从这个远程分支向前推和拉。

这让我们想到了另一个学派:不要设置默认上游。这些开发人员选择手动输入分支名称,每次他们将提交上传到远程时,他们都希望将分支名称推送到该分支。这个过程被一些人认为是一个更有意图的过程,它促进了干净的远程存储库,避免了设置和切换上游带来的麻烦。

如果您不想设置默认的上游,您可以简单地继续使用前面例子中的 push 命令。要么使用 GUI 中的一个推送选项,如Push按钮,要么使用命令行中的git push <remote name> <branch name>

这让我们想到了另一个学派:不要设置默认上游。这些开发人员选择手动输入分支名称,每次他们将提交上传到远程时,他们都希望将分支名称推送到该分支。这个过程被一些人认为是一个更有意图的过程,它促进了干净的远程存储库,避免了设置和切换上游带来的麻烦。

GitKraken 客户端中神奇的自动建议功能将填充 Git push 命令的所有可用选项,但是如果您更喜欢使用 GUI,您可以通过拖放来实现快速推拉!

删除远程分支

当您开始与各种本地和远程存储库交互时,您可能会遇到需要删除远程 Git 分支的情况。例如,要升级一个干净的存储库,您可能需要删除一个合并到主分支中的远程功能分支。因为远程存储库应该是您和您的团队维护的最准确的工作副本,所以删除远程分支应该小心处理。确保您和您的团队已经进行了有效的沟通,并同意删除有问题的分支。

使用 GitKraken 客户端中的 GUI,您可以通过简单地导航到左侧面板的Remotes部分下的right-clicking远程分支,然后选择Delete <branch name>来删除远程分支。

当您开始与各种本地和远程存储库交互时,您可能会遇到需要删除远程 Git 分支的情况。例如,要升级一个干净的存储库,您可能需要删除一个合并到主分支中的远程功能分支。因为远程存储库应该是您和您的团队维护的最准确的工作副本,所以删除远程分支应该小心处理。确保您和您的团队已经进行了有效的沟通,并同意删除有问题的分支。

右键点击分支后的下拉选项

也许与直觉相反,远程上的分支是用 CLI 上的 Git push 命令删除的。要使用 CLI 删除远程分支,请导航到终端并使用:

git push -d <remote> <remote branch name>

也许与直觉相反,远程上的分支是用 CLI 上的 Git push 命令删除的。要使用 CLI 删除远程分支,请导航到终端并使用:

删除 GitKraken 客户端终端中的 Git 分支“How-to-example”

什么是 Git 推力?

强制推送是 Git push 命令的变体,是用本地历史覆盖存储在远程存储库中的提交历史的有效方法。使用 Git push force 时应该非常小心,因为它可能会产生意想不到的后果,包括丢失提交。

虽然存在强制推送的可接受场景,但它们代表了规范的例外。强制推送不应该成为您工作流的一个正常部分,因为它可能会彻底改变您的远程存储库,这可能会给您和您的团队带来重大问题。

在 GitKraken 客户端的 GUI 中启动强制推送时,会出现一个带有以下选项的横幅:Pull (fast forward if possible)Force PushCancel。如果您 100%确定要强制推送,只需选择Force Push选项。您需要再次选择Force Push进行确认。这是 GitKraken 采取的另一项安全措施,以帮助您避免无意的力推。

虽然存在强制推送的可接受场景,但它们代表了规范的例外。强制推送不应该成为您工作流的一个正常部分,因为它可能会彻底改变您的远程存储库,这可能会给您和您的团队带来重大问题。

使用 GitKraken 客户端的 GUI 强制推送

在 GitKraken 客户端的 CLI 中使用 Git push force 同样简单。导航到顶部工具栏中的终端选项卡。点击进入终端,输入git push –force

使用 GitKraken 客户端的终端强制推送

强制推租

使用Git push-force-with-lease是一种利用强制推送的方法,但它也为你提供了更多的安全保障。--force-with-lease标志告诉 Git,只有在远程设备上有任何您尚未拉取或获取到本地存储库的更改时,才强制推送。如果 Git 检测到远程分支上的更改将会丢失或被覆盖,那么强制推送将会失败。

强制推租

GitKraken 客户端使运行复杂的动作,如力推,安全和容易。另外,autosuggest 特性提供了 Git 命令功能的简要描述,因此您可以更放心地进行编码。

让你的代码和你自己更进一步

不管你是新手还是 Git 老手,知道如何有效地使用 Git push 可以让你开始为项目做贡献。能够对团队的存储库做出有意义的贡献是非常令人鼓舞的。GitKraken Client 在此帮助您将令人惊叹的代码推向世界各地的项目。

让你的代码和你自己更进一步

不管你是新手还是 Git 老手,知道如何有效地使用 Git push 可以让你开始为项目做贡献。能够对团队的存储库做出有意义的贡献是非常令人鼓舞的。GitKraken Client 在此帮助您将令人惊叹的代码推向世界各地的项目。

你如何改变一个分支的基础?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-rebase-branch

Git rebase 动作有助于将一个分支的变更合并到另一个分支上,并有助于创建更清晰的回购历史,尤其是在比较 Git rebase 和 merge 时。

GitTip:如果你在寻找如何合并 Git 分支,我们有另一个页面。

在回顾如何在命令行中对分支进行 Git 重新基础化之前,我们将通过跨平台 GitKraken Git GUI 对分支进行重新基础化。

虽然其他教程通常会展示如何将分支重设为 master,但我们选择使用分支名称:main

下面是一个使用 GitKraken Git GUI 的例子

如何用 GitKraken 给树枝打基础?

使用直观的 GitKraken Git 客户端来重定 Git 分支的基础非常简单,并且允许您更清楚地看到您想要重定基础的分支的情况。

只需将 GitKraken 中的一个分支拖放到您想要作为新基础的分支上,然后从上下文菜单中选择Rebase <source branch name> onto <target branch name>

或者,您也可以右键单击中央图形中的分支来访问相同的菜单选项。

如何用 GitKraken 重新设定远程分支的基础?

在命令行中,如果目标分支不是最新的,就需要手动更新,与命令行不同,GitKraken 会为您保持远程分支的最新状态。GitKraken 中的 rebase 过程完全相同,无论您是否更新了 base 分支。

你如何解决与 GitKraken 的 rebase 冲突?

如果你的重置导致文件冲突,GitKraken 会立即提醒你冲突,并为你提供一个在应用程序中解决冲突的工具,无需上下文切换。

GitKraken 的合并解决工具将冲突文件并排呈现在您面前,您签出的分支在左边,您的目标分支在右边。底部还有一个输出部分。

选中一行或一段代码旁边的框,将其添加到输出中。这使您能够清楚地看到您的选择,并做出最佳决定,保留哪些更改,放弃哪些更改。

一旦冲突得到解决,您就可以通过单击按钮继续您的 rebase。

如何在终端中改变分支的基础?

要使用命令行重建 Git 分支的基础,首先要检出包含要重写到目标分支的变更的分支。在这个例子中,假设您想要将feature分支重新放在main分支的基础上。您将通过运行以下命令开始:

git checkout feature-branch
git rebase main

Git 应该会显示如下消息:

Successfully rebased and updated refs/head/feature-branch

这告诉我们feature-branch上的最后一次提交已经被更新。

如何在终端中对远程分支进行重置?

现在,如果对目标分支的远程进行了更改,您将需要从该远程分支获取最新的更改。

GitTip:如果你刚开始在偏远的分支机构工作,不要害怕。我们已经有了你学习如何拉远程 Git 分支所需的一切。

在这个例子中,你的目标分支仍然是main;首先执行一个 Git pull 来从遥控器获取更改。

git checkout main
git pull origin main

在拉动完成后,您通过检查您的hotfix分支,然后返回到main来继续前进。

git checkout hotfix
git rebase main

如何解决终端中的 Git rebase 冲突?

有时,尝试重定 Git 分支的基础可能会导致冲突的更改,需要在操作完成之前解决这些冲突。当 Git 检测到冲突的更改时,它会在错误的提交处暂停 rebase。

不像在 GitKraken 中,解决冲突只需点击一下鼠标,当在 CLI 中工作时,您没有足够的上下文来立即识别冲突代码存在于何处。您将不得不离开终端,在您首选的外部编辑器中打开冲突文件,以决定您想要保留哪些代码,以及想要丢弃哪些代码。

完成并保存您的更改后,您可以通过运行git add命令后跟文件名来暂存它们。接下来,您应该使用git commit -m为您的解析创建一个提交,后跟您的 Git 提交消息。

git commit -m “my merge resolution commit message”

如果冲突确实得到了解决,您可以使用以下命令继续进行基础变更:

git rebase --continue

或者,如果您无法解决冲突,或者决定不希望继续进行重新调整,您可以使用:

git rebase --abort

这将取消 Git rebase 操作,您的分支将回到开始 rebase 之前的状态。

使用面向 Windows、Mac、& Linux 的 GitKraken Git GUI 跨平台重建 Git 分支,使其具有更好的可视性和更大的信心。

什么时候 Git rebase vs merge?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-rebase-vs-merge

在 Git 存储库中工作时,有时您需要将一个分支的变更合并到另一个分支。Git rebase 和 Git merge 都是可以用来完成这个任务的工具。

当比较 Git rebase 和 merge 时,您可以看到相关的好处和坏处。

Git Rebase 的优势:

  • 创建更清晰的回购历史记录
  • 获得可读性更好的提交图

Git 重定基数的风险:

使得重定基数过程中出现的冲突更难解决

  • Git 合并的好处:

保留完整的回购历史记录

更容易解决重定基数过程中出现的冲突

  • 如果犯了错误,更容易撤销
  • Git 合并的风险:
  • 如果您的存储库有许多合并的分支,可能会导致混乱的图形

因为在 Git 中进行合并的风险较小,所以如果您有疑问,最好使用 Git merge 而不是 Git rebase。

  • 什么时候应该使用 Git merge?

比方说,我们有一个分支,然后我们分支到一个特性分支,进行更多的变更。

在这个实例中,您可以通过执行 Git 合并,将来自您的特性分支的变更合并到您的分支。

什么时候应该使用 Git merge?

GitTip:逐步学习如何使用命令行合并 Git 分支,然后将体验与 GitKraken Git GUI 进行比较。

什么时候应该使用 Git rebase?

如果您正在处理许多分支,并且需要合并来自不同分支的变更,那么您的提交图可能会变得很难阅读。

在这种情况下,重定基准可以作为合并的有用替代方案。Git rebase 允许一个更干净的图,因为它从一个分支获取提交,并将它们放到另一个分支。这通过将提交及其更改移动到目标分支上来改变图中的树结构。

如果您正在处理许多分支,并且需要合并来自不同分支的变更,那么您的提交图可能会变得很难阅读。

Git Merge 与 gitkraken 中的 rebase

无论您选择执行哪种操作,使用可视化 Git 客户端来管理合并文件更改的过程都会让您安心。与在终端中不同的是,使用 GitKraken 可以很容易地识别和解决由于合并或重定基础而产生的冲突。

走走走走走走走走走走走走走走走走走走走走

GitKraken 使分支之间的变更合并过程变得快速而直观。您可以简单地将一个分支从中心图拖放到目标分支上,以启动合并。

去 gitkraken 中的 rebase

类似于如何启动 Git 合并,您将通过将一个分支拖放到目标分支上,从上下文菜单中选择Rebase onto 来启动 Git rebase 过程。

就像魔术一样,您将看到来自第一个分支的提交在目标分支之上被重新创建,让您确信您正确地执行了 rebase。

最精彩的部分?GitKraken 会自动提醒您在合并或重置过程中是否出现冲突,并让您有机会使用内部的合并冲突编辑器完全控制解决问题。

别紧张。在 Git 中执行合并或重置时获得更多的信心和更多的控制,让强大的 GitKraken 袖手旁观来处理过程中出现的任何冲突。立即免费下载适用于 Linux、Mac 和 Windows 的跨平台 GitKraken Git 客户端。

就像魔术一样,您将看到来自第一个分支的提交在目标分支之上被重新创建,让您确信您正确地执行了 rebase。

最精彩的部分?GitKraken 会自动提醒您在合并或重置过程中是否出现冲突,并让您有机会使用内部的合并冲突编辑器完全控制解决问题。

别紧张。在 Git 中执行合并或重置时获得更多的信心和更多的控制,让强大的 GitKraken 袖手旁观来处理过程中出现的任何冲突。立即免费下载适用于 Linux、Mac 和 Windows 的跨平台 GitKraken Git 客户端。

Git Rebase -什么是 Git Rebase?|学习 Git

原文:https://www.gitkraken.com/learn/git/git-rebase

什么是 Git rebase?Rebase 是 Git 中的一个动作,它允许你将一个 Git 分支提交重写到另一个分支。本质上,Git rebase 是从一个分支删除提交,并将它们添加到另一个分支。

在本文中,我们将讨论以下与 Git rebase 命令相关的主题:

我们还有其他资源可以了解更多关于 Git rebase 的信息:

在 Git 中重置基可能是一种破坏性的行为。在 GitKraken Client 的帮助下,确保您拥有所需的可见性和控制力。

如何在命令行中 Git Rebase

要在终端中开始您的 Git rebase,您可能会从运行 Git branch 命令来查看您的本地分支列表开始。在下面的例子中,您可以看到当前检出的分支是feature,以及另外两个分支:mainproduction

如果你想在一个当前没有签出的分支上提交,你必须用git checkout命令切换到另一个分支。了解如何检查一个远程 Git 分支和一个本地 Git 分支

假设您想要将最近两次提交从feature分支重写到main分支。因为终端缺乏哪个提交存在于哪个分支的直接可视上下文,所以您将通过运行git log命令,然后运行-2来开始。

名为Additional sentence structure changes的提交是feature分支最初从main分支分支出来的地方。这将在 Git rebase 完成后改变,所以请注意。

为了继续 rebase,您将使用git rebase命令,后跟您的目标分支的名称——在本例中是main分支——将您的更改从一个分支移动到另一个分支。

至此,Git rebase 就完成了!Git 已经将来自feature分支的提交重写到了main分支上最近的提交。

您可以通过引用 GitKraken 客户端的提交图来验证 Git rebase 是否成功。提交图应该显示来自特性分支的提交已经转移到了主分支。

如果您选择 GitKraken CLI 作为您的终端,这就更容易了。因为 GitKraken 客户端结合了 CLI 的强大功能和方便的 GUI 视觉效果,开发人员可以实时看到您的更改如何影响存储库。下载 GitKraken 客户端亲自体验精简终端和桌面客户端的便利。

如何使用 GitKraken 客户端获取 Rebase

GitKraken 图形用户界面的最大好处之一是您的回购信息的显示方式。正如您在这里看到的,GitKraken 客户端在中央提交图中清晰地显示了您的提交历史。这给了你一个即时的快照,这样你就可以很快理解你想要重定基础的分支发生了什么。

在这个例子中,假设您有一个feature分支,您需要将变更合并到dev分支上。要在 GitKraken 中执行重设基础,只需将feature拖放到dev上,然后点击上下文菜单中的Rebase feature onto dev选项。

使用 GitKraken 客户端
只需点击 2 次即可进行 Git rebase

感觉你已经掌握了 Git rebase 的窍门?升级到 Git interactive rebase

不要在命令上浪费时间,把更多的时间用在…想做什么就做什么。今天免费下载跨平台 GitKraken Git 客户端

Git Pull Rebase

Git pull rebase 是一种将本地未发布的更改与远程上最新发布的更改相结合的方法。

假设您有一个包含未发布变更的项目主分支的本地副本,并且该分支是 origin/main 分支之后的一个提交。

Git 有两种方法来合并这种性质的更改:Git pull rebase 和 Git pull merge。

Git 有两种方法来合并这种性质的更改:Git pull rebase 和 Git pull merge。

Git Pull Rebase 与 Git Pull Merge

那么,Git 拉 rebase 和 Git 拉 merge 有什么区别呢?虽然这两个选项都将结合从您的远程获取的更改,但是在您的 Git 历史中,结果看起来会非常不同。

Git 拉合并是在 Git 中合并变更的默认方法,它会将未发布的变更与已发布的变更合并,从而导致合并提交。

另一方面,使用 Git pull rebase,未发布的更改将被重新应用到已发布的更改之上,并且不会有新的提交被添加到您的历史中。

记住这一点,您可以看到 Git pull rebase 通过删除不需要的合并提交,将会产生一个线性的、更清晰的项目历史。

我们将带您了解如何使用 CLI 和著名的跨平台 GitKraken 客户端执行 Git pull rebase。

我们将带您了解如何使用 CLI 和著名的跨平台 GitKraken 客户端执行 Git pull rebase。

如何在命令行中 Git Pull Rebase

要在 CLI 中执行 Git pull rebase,首先要导航到本地 repo 并执行以下命令:

git pull --rebase

如果 Git 在 rebase 中没有检测到任何冲突,您应该会看到消息:Successfully rebased and updated refs/heads/main.但是,如果 Git 检测到冲突,您未发布的更改将不会被应用。

如果 Git 在 rebase 中没有检测到任何冲突,您应该会看到消息:Successfully rebased and updated refs/heads/main.但是,如果 Git 检测到冲突,您未发布的更改将不会被应用。

如何使用 GitKraken 客户端获取 Rebase

要开始 GitKraken 客户端中的 Git pull rebase 过程,您将从选择顶部工具栏中Pull旁边的向下箭头▼开始。

要开始 GitKraken 客户端中的 Git pull rebase 过程,您将从选择顶部工具栏中Pull旁边的向下箭头▼开始。

从下拉菜单中选择Pull (rebase)

(你可以点击那个选项旁边的圆圈,让Pull (rebase)成为你在 GitKraken 客户端拉取的默认操作。)

(你可以点击那个选项旁边的圆圈,让Pull (rebase)成为你在 GitKraken 客户端拉取的默认操作。)

仅此而已。说真的,就这么简单。

您可以看到该图现在是线性的,并且易于导航,无需任何合并提交!只需两次点击,您就可以在 GitKraken 中执行 Git pull rebase,并具有完整的可视上下文。

Git Rebase FAQ

问:Git Rebase 是做什么的?

答:Git rebase 从一个 Git 分支获取提交,并将它们添加到另一个分支。将此视为 Git 的“剪切-粘贴”操作可能会有所帮助。当您 Git rebase 时,您实际上是从一个分支中删除提交,并将它们添加到另一个分支中。

问:如何重定 Git 的基数?

答:要明确的是,Git 是一个版本控制软件,可以让你跟踪你的文件。Git rebase 是 Git 中可用的一个操作,它允许您在 Git 分支之间移动文件。有关如何 Git rebase 的分步说明,请参见以上章节,如何在命令行中 Git Rebase如何在 GitKraken 客户端中 Git Rebase

答:Git rebase 从一个 Git 分支获取提交,并将它们添加到另一个分支。将此视为 Git 的“剪切-粘贴”操作可能会有所帮助。当您 Git rebase 时,您实际上是从一个分支中删除提交,并将它们添加到另一个分支中。

问:如何重定 Git 的基数?

答:要明确的是,Git 是一个版本控制软件,可以让你跟踪你的文件。Git rebase 是 Git 中可用的一个操作,它允许您在 Git 分支之间移动文件。有关如何 Git rebase 的分步说明,请参见以上章节,如何在命令行中 Git Rebase如何在 GitKraken 客户端中 Git Rebase

A: To be clear, Git is a version control software that allows you to track your files. Git rebase is an action available in Git that allows you to move files between Git branches. For step-by-step instructions regarding how to Git rebase, see the above sections, How to Git Rebase in the Command Line or How to Git Rebase in GitKraken Client.

Git Remote | Learn Git

原文:https://www.gitkraken.com/learn/git/git-remote

远程存储库(通常称为 remote)是托管在互联网或其他网络上的 Git 存储库。

克隆远程存储库

在 Git 中克隆一个远程对象会在您的机器上创建一个本地版本的存储库,为您提供一个沙箱来进行试验,而不会影响原始代码库。

克隆还会在您机器上的本地存储库和远程存储库之间建立连接,允许对远程项目进行推和拉操作。

其他团队成员可以创建单个遥控器的多个克隆,从而使其他人能够在同一项目中高效协作,并降低原始代码的风险。

GitKraken 在主界面的左侧清楚地列出了所有的远程资源库,因此您可以确切地知道所有项目的进展情况。

在 gitkraken 中进行大修

GitHubBitbucketGitLabAzure DevOps (前身为 VSTS)上使用 GitKraken Git GUI 可以轻松操作遥控器。

如果您想在 GitHub、Bitbucket、GitLab 或 Azure DevOps 项目上合作,请直接从您选择的服务中复制 Git remote URL。下面我们将以 GitHub 为例:

然后,打开 GitKraken,进入左上方的文件夹,在Clone标签下,粘贴回购网址。

或者,对于更简单的 Git 克隆,从Clone选项卡中选择集成选项:

一旦克隆并打开, GitKraken Git GUI 将自动填充左侧的REMOTE窗格,其中包含远程的名称和所有远程 Git 分支的清晰列表。

现在,您可以进行我们自己的更改,并将其上传到您的远程设备,以便团队成员可以访问您的更新!

使用 GitKraken,一目了然地了解您的远程项目中正在进行的工作,节省您的时间和精力。

如何添加 Git 遥控器

GitKraken 还允许您通过点击+图标手动添加 Git 遥控器。您可以粘贴存储库的 SSH 或 HTTPS URL 来添加 Git remote。

这对于添加项目的分叉来查看团队成员可能正在进行的变更非常有用。

揭开在 Git 中使用远程存储库的神秘面纱,并获得更多关于谁在对您的共享项目做什么的可视化上下文——立即下载#1 免费 Git GUIGit kraken。

Git 重置|硬、软和混合|学习 Git

原文:https://www.gitkraken.com/learn/git/git-reset

有时候,当使用一个 Git 库时,你意识到你不想共享,甚至不想保存你的更改,你需要一种方法来撤销它们,比如说撤销你的最后一次提交。Git 提供了几种返回到前一次提交并从该点开始工作的方法。Git 提供的改变到先前状态的最强大的工具之一是 Git reset 命令。

Git reset 类似于 Git checkout ,因为它允许你将头移动到你的历史中任何先前的提交。然而,与 checkout 不同,Git reset 将有效地取消提交起始状态和指定提交之间的所有更改。Git 可以完全丢弃所有这些更改,就像您将看到的 Git reset hard 命令一样,或者它可以在各种状态下保留这些更改,就像 Git reset soft 和 Git reset mixed 命令一样。

在本文中,我们将介绍 Git reset 命令的各种可用选项,以及如何在命令行和 GitKraken 客户端中执行它们:

https://www.youtube.com/embed/s1idhUiCk38?feature=oembed

视频

GitKraken 客户端提交图使得可视化和理解您的 Git 历史更加容易。GitKraken Client today ⬇️

Git 重置头

为了更好地理解 Git 重置是如何工作的,我们需要涵盖一些不同的 Git 核心概念。第一,当领导。

HEAD 的一个最好的定义来自于 Pro Git 的书:

通常头文件是对当前所在分支的符号引用。通过符号引用,我们的意思是与普通引用不同,它包含一个指向另一个引用的指针。

通常头文件是对当前所在分支的符号引用。通过符号引用,我们的意思是与普通引用不同,它包含一个指向另一个引用的指针。

通过运行 Git status 命令很容易看出 HEAD 指向的是什么,但是您也可以在。项目的 git 文件夹。.git文件夹是 Git 用来管理版本控制的,里面有一个特殊的文件叫做 HEAD。这个文件非常小,通常只包含一行,看起来像这样:

ref: refs/heads/main

Git checkout 和 Git reset 都改变了 HEAD 指向的位置,但是在 checkout 的情况下,它保留了所有其他的指针。另一方面,Git reset 告诉 Git 我们也想移动 HEAD 引用的指针。

Git checkout 和 Git reset 都改变了 HEAD 指向的位置,但是在 checkout 的情况下,它保留了所有其他的指针。另一方面,Git reset 告诉 Git 我们也想移动 HEAD 引用的指针。

Git 重置、工作目录和索引

为了理解 Git 重置,你必须首先理解另一个核心 Git 概念,它是 Git 用来管理你的工作的内部状态。你有时可能会看到这三种状态被称为“三棵树”。

这三种状态是:

工作目录

  1. 索引
  2. 提交历史记录
  3. 工作目录

工作目录有时被称为您的工作进展,或 WIP。工作目录指的是已经保存但尚未暂存或提交的文件。您可以将您的工作目录视为您的沙箱,在您存放、提交或共享它们之前测试任何更改。

索引

索引是 Git 工作流中的“暂存区”。在每个.git文件夹中,都有一个名为index的特殊文件。这是在执行 Git 添加时跟踪暂存文件的文件。

您可以打开并查看这个文件,但是它不是可读的。Git 将文件压缩成二进制大对象(blob ),并将这些 blob 添加到索引文件中。该指数有时被称为“分期指数”,因为这是它的功能。当您提交时,您提交的是在索引中找到的所有引用。

提交历史记录

这可能是你已经最清楚了解的领域。您的提交历史是您随着时间的推移所做的提交链或项目快照。

虽然最常见的情况是,我们只是通过向历史中添加新的提交来及时向前移动,但是拥有一个清晰的提交链可以毫无问题地更改 HEAD 指向的位置。重要的是要理解,重置到一个特定的提交意味着您正在改变您当前的工作目录,并可能改变先前提交的索引。

去重置软

Git 复位可以使用的三种模式中的第一种是 Git 复位软命令的--soft。该选项将 HEAD 移回指定的提交,撤消 HEAD 指向的位置和指定的提交之间所做的所有更改,并将所有更改保存在索引中。换句话说,Git 将更改重新添加为 staged,准备再次提交。

我们来看一个例子。假设我们正在处理一个名为 main 的分支,并且有三个带有短 sha98cs934ac2f30ab的提交,按照从最早到最新的顺序。

如果我们开始时 HEAD 指向f30ab,然后执行一个git reset –soft 98ca9,HEAD 将移动到那个提交,同时指针指向链的最后一个提交(在这个例子中,称为 main )。

34ac2f30ab中提交的所有更改都被保留,并作为分阶段更改重新添加到索引中。

去重置软

Git reset soft 是一种非常安全的方法,可以返回到 Git 历史中的前一点,并保留所有更改。由于保留了更改,这是重写历史的一种方式,将多个提交中的所有更改应用到一个提交中,同时提供了同时进行其他更改的路径。

Git 重置混合

与 Git reset soft 类似,使用--mixed选项执行 Git reset 将撤销 HEAD 和指定 commit 之间的所有更改,但会将您的更改作为未暂存的更改保留在工作目录中。如果执行 Git 重置并且没有提供选项--soft--mixed--hard,Git 将默认使用--mixed

让我们看看前面的同一个例子。同样,假设我们正在处理一个名为 main 的分支,并且有三个带有短 sha98cs934ac2f30ab的提交,按照从最早到最新的顺序。

如果当我们开始执行一个git reset –mixed 98ca9时,HEAD 指向f30ab,HEAD 将移动到那个提交,同时指针指向链的最后一个提交(在这个例子中,称为 main )。

34ac2f30ab中提交的所有变更都被保留,并作为未分级变更重新添加到工作目录中。

Git 重置混合

与 Git reset soft 一样,Git reset mixed 是一种非常安全的方式,可以在不丢失更改的情况下返回到 Git 历史中的前一点。以这种方式重写您的 Git 历史允许您有选择地只保留您想要的,并在您认为合适的时候修改项目。一旦您的更改准备就绪,您就可以简单地执行 Git add,然后 Git commit 将这些更改添加到您项目的 Git 历史中。

Git 硬重置

与 Git 软重置和混合重置不同,Git 硬重置有一些危险,因为它会自动丢弃 HEAD 和指定提交之间所做的所有更改。

Git reset hard 应该非常谨慎地使用,并且只用于您确定想要消除的本地更改。执行 Git 重置——当在一个共享分支上工作时,很难进行其他贡献者可以访问的提交,这可能会导致您的 Git 历史出现问题。综上所述,Git reset hard 实际上是一个非常方便的工具,可以快速返回到项目的先前状态。

假设您正在本地工作,并且已经提交了几次,然后才意识到您一直在一个糟糕的前提下工作,或者在您的工作中注入了一个反模式。这些提交中的工作都是不可用的,所以您认为没有理由保存这些更改。这是一个很好的例子,说明 Git reset hard 可以成为一个实时节省程序,让您丢弃那些更改并重新开始。

Git reset hard 应该非常谨慎地使用,并且只用于您确定想要消除的本地更改。执行 Git 重置——当在一个共享分支上工作时,很难进行其他贡献者可以访问的提交,这可能会导致您的 Git 历史出现问题。综上所述,Git reset hard 实际上是一个非常方便的工具,可以快速返回到项目的先前状态。

Git 重置很难放弃工作目录和索引更改

利用 Git reset hard 的另一种方法是使用它来丢弃工作目录和索引中的所有更改。您可以单独运行git reset –hard,而不是声明一个特定的提交。这仍然会将 Git HEAD 指向它已经签出的位置,并丢弃对索引和工作目录的任何尚未提交的更改。

虽然这仍然有一些危险,但是如果你意识到你已经添加了你肯定不想添加到你的 Git 历史中的代码,并且只是想要一个快速重置选项来让你回到初始状态,这是非常有用的。

Git 硬重置

GitKraken Client 使更高级的 Git 概念,如 reset,变得更容易使用,所以当你需要重写你的项目历史时,你会更有信心。

如何在命令行界面中重置 Git

让我们看一下在终端中使用 Git reset 的所有三个选项。对于这些例子,我们将使用 VS 代码的集成终端和开源的 GitLens 库,以及带有终端和图形视图的 GitKraken CLI

在执行任何 Git 重置操作之前,您需要首先查看您最近的历史记录。您可以在这里运行git log 来查看整个历史和完整的提交 sha。然而,对于这个例子,我们只关心最后几个提交,并且只需要短 sha 来引用这些提交。

要查看最近十次提交和缩短的提交 sha,可以运行:

git log -10 –oneline

利用 Git reset hard 的另一种方法是使用它来丢弃工作目录和索引中的所有更改。您可以单独运行git reset –hard,而不是声明一个特定的提交。这仍然会将 Git HEAD 指向它已经签出的位置,并丢弃对索引和工作目录的任何尚未提交的更改。

虽然这仍然有一些危险,但是如果你意识到你已经添加了你肯定不想添加到你的 Git 历史中的代码,并且只是想要一个快速重置选项来让你回到初始状态,这是非常有用的。

git log -10 –oneline

GitKraken Client 使更高级的 Git 概念,如 reset,变得更容易使用,所以当你需要重写你的项目历史时,你会更有信心。

现在您可以看到哪些提交可以引用,您可以继续 Git 重置操作。

命令行界面中的 Git 软复位

要使用软选项执行 Git 重置,请使用以下命令:

git reset –soft <commit>

这里,<commit>应该替换为提交 SHA,在您的 Git 历史中指定一个您想要重置的提交。

在运行 Git reset 之后,运行 Git status 是一个好主意,正如我们在下面的例子中所做的那样。这是一个非常安全的操作,它将帮助你确认事情按预期进行。

Git 重置混合在 CLI 中

要使用 mixed 选项执行 Git 重置,请使用以下命令:

git reset –mixed <commit>

或者,由于--mixed是 Git 重置的缺省值,您可以通过使用:

git reset <commit>

术语<commit>应该替换为提交 SHA,在您的 Git 历史中指定您想要重置到的更早的提交。同样在这个例子中,您可以看到运行 Git status 后的结果。

命令行界面中的 Git 硬重置

我们将提醒您仅在本地分支上使用此命令,并且仅当您确定要放弃所有更改时。没有办法硬撤销 Git 重置,所有的更改都将被永久销毁。

要在 CLI 中使用 hard 选项执行 Git 重置,您可以运行:

git reset –hard <commit>

用提交 SHA 替换<commit>,以指定您想要重置到 Git 历史中的哪个提交。您可以在运行 Git status 后看到结果,如下所示。

Git 重置混合在 CLI 中

要使用 mixed 选项执行 Git 重置,请使用以下命令:

如何使用 GitKraken 客户端重置 Git

GitKraken 客户端通过上下文菜单轻松实现 Git 重置。当您右键单击任何提交时,您将看到一个选项:Reset <branch-name> to this commit  >,其中<branch-name>是当前检出的分支。这里的>让您知道有一个子菜单,您需要使用它来选择 Git 重置的选项。

GitKraken 客户端中的 Git 重置选项有:

git Rest Soft–保留所有更改

Git 重置混合–保持工作副本,但重置索引

Git 硬重置–放弃所有更改

git Rest Soft–保留所有更改

命令行界面中的 Git 硬重置

GitKraken 客户端中的 Git 重置软件

在 GitKraken 客户端中选择Soft - keep all changes选项将保存在 HEAD 指向的位置和所选提交之间所做的所有更改,作为暂存文件。

git reset –hard <commit>

用提交 SHA 替换<commit>,以指定您想要重置到 Git 历史中的哪个提交。您可以在运行 Git status 后看到结果,如下所示。

在 GitKraken 客户端中选择Soft - keep all changes选项将保存在 HEAD 指向的位置和所选提交之间所做的所有更改,作为暂存文件。

“这是 Git 客户端大放异彩的情况之一。在之前的提交中使用@GitKraken 的软重置功能确实很好地向新开发人员直观地展示了 Git 的软重置功能有多酷。”–@ igvolow

Replace <commit>  with the commit SHA to specify which commit earlier in your Git history you want to reset to. You can see the result after running Git status, as shown below.

Git 重置在 GitKraken 客户端中混合

在 GitKraken 客户端中选择Mixed - keep working copy but reset index选项会将 HEAD 指向的位置和所选提交之间所做的所有更改保存为未暂存文件。

GitKraken 客户端中的 Git 重置选项有:

git Rest Soft–保留所有更改

Git 重置混合–保持工作副本,但重置索引

在 gitkraken client 中执行“重置硬”

  • 在 GitKraken 客户端中选择选项Hard - discard all changes将会放弃在 HEAD 指向的位置和所选提交之间所做的所有更改。这里你应该小心,因为这是永久性的,不能用撤销按钮撤销。
  • Git Reset Mixed – keep working copy but reset index
  • GitKraken 客户端中的 Git 重置软件

在 GitKraken 客户端中选择Soft - keep all changes选项将保存在 HEAD 指向的位置和所选提交之间所做的所有更改,作为暂存文件。

每个人有时都需要备份和重置到以前的状态。确保使用 GitKraken 客户端以最有效的方式进行。GitKraken 客户端中的传奇提交图可以帮助可视化您的回购历史,以确保您正在重置为正确的提交。而且,使用 GitKraken CLI,您仍然可以使用命令行,但是只需单击一下就可以复制提交的 sha!下载并开始使用 GitKraken 客户端,传说中的跨平台桌面 Git 客户端今天免费。

Git Reset Soft in GitKraken Client

Selecting the option of Soft - keep all changes in GitKraken Client will preserve all the changes that had been made between where HEAD is pointing and the selected commit as staged files.

“这是 Git 客户端大放异彩的情况之一。在之前的提交中使用@GitKraken 的软重置功能确实很好地向新开发人员直观地展示了 Git 的软重置功能有多酷。”–@ igvolow

Git 重置在 GitKraken 客户端中混合

在 GitKraken 客户端中选择Mixed - keep working copy but reset index选项会将 HEAD 指向的位置和所选提交之间所做的所有更改保存为未暂存文件。

Git Reset Mixed in GitKraken Client

Selecting the option of Mixed - keep working copy but reset index in GitKraken Client will preserve all the changes that had been made between where HEAD is pointing and the selected commit as unstaged files.

在 gitkraken client 中执行“重置硬”

在 GitKraken 客户端中选择选项Hard - discard all changes将会放弃在 HEAD 指向的位置和所选提交之间所做的所有更改。这里你应该小心,因为这是永久性的,不能用撤销按钮撤销。

Git Reset Hard in GitKraken Client

Selecting the option of Hard - discard all changes in GitKraken Client will discard all the changes that had been made between where HEAD is pointing and the selected commit.  You should use caution here as this is permanent and can not be undone with the Undo button.

每个人有时都需要备份和重置到以前的状态。确保使用 GitKraken 客户端以最有效的方式进行。GitKraken 客户端中的传奇提交图可以帮助可视化您的回购历史,以确保您正在重置为正确的提交。而且,使用 GitKraken CLI,您仍然可以使用命令行,但是只需单击一下就可以复制提交的 sha!下载并开始使用 GitKraken 客户端,传说中的跨平台桌面 Git 客户端今天免费。

Everyone needs to back up and reset to a previous state sometimes. Make sure you’re doing it the most efficient way by using GitKraken Client. The legendary commit graph in GitKraken Client can help visualize your repo’s history to make sure you’re resetting to the right commit.  And, with the GitKraken CLI you can still use the command line, but copy the commit SHAs with just one click!  Download and start using GitKraken Client, the legendary cross platform desktop Git client free today.

如何在 Git 中设置上游分支?Git 问题的解决方案

原文:https://www.gitkraken.com/learn/git/problems/git-set-upstream-branch

借助 GitKraken,日常的 Git 操作,如推、拉、取和设置上游变得更加容易,这要归功于中心图提供的令人难以置信的视觉环境。您将始终知道您的提交、分支和远程发生了什么。💥

将 Git 提交与智能提交的吉拉问题联系起来

原文:https://www.gitkraken.com/jira/git-smart-commits

智能提交允许您将 Git 提交链接到吉拉问题。通过在提交消息中使用特定的语法,开发人员可以利用智能提交来执行额外的操作,如向吉拉问题添加注释、转换问题等。最终,智能提交帮助开发人员避免在他们的开发工具和吉拉之间切换上下文,这为他们提供了更多的时间来编写代码。

了解如何使用吉拉智能提交

智能提交先决条件

为吉拉问题添加评论

记录时间跟踪

过渡一期吉拉

智能提交的好处

https://www.youtube.com/embed/IkDxc9UZjag?feature=oembed

视频

吉拉智能提交先决条件

在开始利用智能提交的力量之前,您需要为吉拉安装 Git 集成。如果您从未在吉拉使用过 Git 集成,可以选择开始 30 天的免费试用。为了集成正常工作,请确保您的 Git 配置中的电子邮件与您的吉拉个人资料中使用的电子邮件相匹配。

编写智能提交的能力只是 Git 集成为吉拉提供的众多好处之一。该工具使开发人员可以轻松地使用 Git 驱动吉拉,消除不必要的上下文切换,并让关键利益相关者了解公司目标的状态。了解有关吉拉 Git 集成的更多信息

一旦安装了吉拉 Git Integration,使用下面的步骤连接您想要的存储库。

  1. 从您的吉拉实例中,选择顶部导航栏中的Apps
  2. 从随后的下拉菜单中,选择Git Integration: Manage integrations
  3. 从页面中央选择Add integration按钮
  4. 选择Git service integration (Recommended)
  5. 选择一个存储库托管服务,如 GitHub、GitLab、Bitbucket 等。取决于您的首选服务

一旦您在吉拉和您选择的存储库托管服务之间建立了连接,您就可以选择想要连接的单个存储库。

要编写智能提交,请以关联的吉拉问题密钥开始提交消息,后跟#,然后是针对该问题要采取的操作的命令。

基本智能提交语法示例

<ISSUE_KEY> <ignored text> #<command> <optional command_params>

智能提交可用于直接从 Git 提交消息向吉拉问题添加注释。这可以提供关于正在进行的代码更改的附加上下文或信息。要做到这一点,开发人员只需要在他们的提交消息中包含一个特定的语法,其中包括吉拉问题编号和他们想要添加的注释。

添加注释示例

ISSUE_KEY #comment text

例如,开发人员可以编写这样的提交消息:“JIRA-123 #注释这是一个测试注释。”当提交被推送到 Git 存储库时,注释将被自动添加到指定的吉拉问题中。这有助于简化跟踪和管理问题的过程,使团队成员更容易了解和掌握项目的最新进展。

吉拉智能提交在吉拉问题上创下时间记录

智能提交还可以用于记录吉拉问题的时间跟踪信息。这对于跟踪在不同任务上花费了多少时间很有用,并且可以帮助团队更好地管理他们的时间和资源。要做到这一点,开发人员只需在 Git 提交消息中包含特定的语法,其中包括吉拉问题编号和他们想要记录的时间量。

记录时间跟踪信息示例

ISSUE_KEY #time [in Jira time syntax]

*吉拉管理员必须启用此功能,此操作才能生效

例如,开发人员可以编写这样的提交消息:“JIRA-123 #时间 1 小时 30 分钟这是一个测试时间条目。”当提交被推送到 Git 存储库时,时间跟踪信息将被自动添加到指定的吉拉问题中。这确保了时间跟踪数据是准确的和最新的,使团队更容易对未来做出准确的预测。

通过吉拉智能提交解决吉拉问题

智能提交还可以用于将吉拉问题从一种状态转换到另一种状态。这对于在进行代码更改时自动在工作流或流程中移动问题非常有用。要做到这一点,开发人员只需在 Git 提交消息中包含一个特定的语法,其中包括吉拉问题编号和所需的转换。

过渡问题示例

ISSUE_KEY #jira workflow status

*您必须拥有必要的吉拉权限来转换问题,此操作才能生效

例如,开发人员可以编写这样的提交消息:“JIRA-123 #进行中。”当提交被推送到 Git 存储库时,指定的吉拉问题将自动转换到工作流的“进行中”阶段。这使得团队更容易保持组织,并了解项目中各种问题的状态。

吉拉智能提交的优势

智能提交有助于开发人员消除重复的任务,如复制提交消息信息,从而加快他们的工作流程。

利用智能提交的开发团队能够保持提交消息的组织性和一致性,从而更容易审查和理解已经做出的代码更改。

最终,通过 Git Integration for 吉拉的智能提交有助于改善开发团队的协作和组织,使每个人更容易保持一致并有效地合作。

Git Squash -如何挤压提交|学习 Git

原文:https://www.gitkraken.com/learn/git/git-squash

如果没有 GitKraken 提供的可视化上下文,在 CLI 中压缩分支中的所有提交可能会很复杂。GitKraken 让您在执行高级 Git 操作时有更多的控制权。

Git Stash——如何在 Git 中存储更改

原文:https://www.gitkraken.com/learn/git/git-stash

如果您想学习如何在 Git 中保存更改,那么您来对地方了。一个简单的解释是,stashing 允许你保存你的文件修改以备后用。

https://www.youtube.com/embed/Ie1EXmd9k0s?feature=oembed

视频

如果您以后找不到这些更改,那么隐藏这些更改可能会有风险。GitKraken 的直观用户界面将确保您始终知道您的隐藏更改在哪里。

通常,当您在 Git 存储库中编辑、添加或删除一个文件时,您将暂存并提交这些更改。

GitTip:不确定如何在 Git 中提交?在开始藏东西之前,先看看我们的快速教程视频。

但是让我们假设你处于这样一种情况,你正在进行变更,被一个签出一个不同的分支的请求打断,也许是为了帮助一个同事,但是你还没有准备好提交你的变更。

或者,也许您发现您签出了错误的分支,并且您正在处理的变更实际上需要提交到另一个分支。

这就是 Git stash 命令的用武之地。在 Git 中创建一个存储库可以保存未提交的更改,这样您就可以在不丢失工作的情况下处理存储库中的其他内容。

当您准备好重新应用您的更改时,您可以选择将您的存储应用或弹出到您当前签出的分支。

什么是 Git stash apply?

Git stash apply 将获取您存储在 stash 中的更改,并将它们应用到您当前签出的分支的工作目录中,并且还将保持 stash 不变。

什么是 Git stash pop?

Git stash pop 还会将您隐藏的更改应用到您当前签出的分支的工作目录中,但会在应用了更改后删除这些更改。

什么是 Git stash pop?

你如何把零钱藏在 Git 里?

当您进行协作时,将更改存储在 Git 中非常有帮助,在与团队成员共享之前,您可以有额外的时间来处理您的更改,而不会感到匆忙。然而,重要的是要注意:虽然隐藏对于临时存储变更是有用的,但是隐藏变更不能代替提交变更。在 Git 中存储应该适度;过度使用这个工具会很难跟踪哪些保存的更改在哪里。

在回顾如何在命令行中进行 Git stash 之前,我们将介绍如何使用强大的 GitKraken Git GUI 来存储更改。

当您进行协作时,将更改存储在 Git 中非常有帮助,在与团队成员共享之前,您可以有额外的时间来处理您的更改,而不会感到匆忙。然而,重要的是要注意:虽然隐藏对于临时存储变更是有用的,但是隐藏变更不能代替提交变更。在 Git 中存储应该适度;过度使用这个工具会很难跟踪哪些保存的更改在哪里。

永远不要忘记你隐藏的变化。

你怎么把零钱藏在 GitKraken 那里?

在这个例子中,假设你已经签出了一个特征分支,并准备对一个文件进行一些编辑。但是等等!您刚刚意识到您打算在不同的分支上提交这些更改。

在您保存您的更改之前,让我们首先在 WIP 节点中键入一个名称。现在,当你点击顶部工具栏的Stash图标时,GitKraken 会用你设置的名字保存你的更改。

在您保存您的更改之前,让我们首先在 WIP 节点中键入一个名称。现在,当你点击顶部工具栏的Stash图标时,GitKraken 会用你设置的名字保存你的更改。

在 GitKraken 查看你的 Git 仓库

GitKraken 的 UI 经过精心设计,提供了尽可能多的可见性,因此您可以清楚地看到您的存储库中正在发生什么。跟踪你在 GitKraken 中隐藏的变更既简单又方便;贮藏用 a 表示📥图标,这样您就可以在图表上立即区分它们。

单击图表中的 stash 图标,您可以在右侧的 commit 面板中看到它保存的内容。

您还可以在左侧面板中快速查看您的收藏列表。

单击图表中的 stash 图标,您可以在右侧的 commit 面板中看到它保存的内容。

你如何使用 GitKraken 来隐藏?

如果您希望应用您的隐藏更改,但保持隐藏不变,您可以在 GitKraken 的中央图中右键单击隐藏,并从上下文菜单中选择Apply Stash

如果您希望应用您的隐藏更改,但保持隐藏不变,您可以在 GitKraken 的中央图中右键单击隐藏,并从上下文菜单中选择Apply Stash

你怎么用 GitKraken 得到 stash pop?

要在 GitKraken 中弹出您隐藏的更改,您将双击您想要应用更改的目标分支,以签出该分支。然后你只需点击顶部工具栏中的Pop。这将把你保存的更改应用到正确的分支上,并删除你的保存。从这里,您可以继续提交您的更改。

要在 GitKraken 中弹出您隐藏的更改,您将双击您想要应用更改的目标分支,以签出该分支。然后你只需点击顶部工具栏中的Pop。这将把你保存的更改应用到正确的分支上,并删除你的保存。从这里,您可以继续提交您的更改。

借助 GitKraken 卓越的视觉环境,隐藏变更,降低风险。

如何在命令行中获得 stash?

要使用终端将未提交的本地更改存储在 Git 中,只需运行 Git stash 命令。这将使您的工作副本处于干净状态,并允许您运行不同的命令,如 Git checkout 或 Git pull。

如果您希望查看您最近收藏的内容,您可以运行:

Git Stash List

但是,如果您想查看一个旧仓库的内容呢?为此,您首先必须运行:

git stash show

Git stash list 命令将调出您的存储库的清单。Git 将显示你所有的库存和一个相应的库存索引。

现在,如果您希望查看特定 stash 的内容,您可以运行 Git stash show 命令,后跟stash@和所需的索引。

git stash list

对于本文的剩余部分,我们将假设您正在使用您最近的 stash,但是您可以根据需要在其他 Git stash 命令中使用这个语法。

在这个 Git stash 示例中,假设您隐藏了更改,然后继续完成存储库中的其他任务。现在,您如何着手找回那些隐藏的更改呢?有两种方法可以选择,将您隐藏的变更放回到您的工作存储库中。

现在,如果您希望查看特定 stash 的内容,您可以运行 Git stash show 命令,后跟stash@和所需的索引。

git stash show stash@<index>

如何在命令行中应用 Git stash?

如果您想要取回您隐藏的更改,但是想要保持隐藏的完整,您将使用 Git stash apply 命令。这将获取您最近收藏的更改,并将它们应用到您的存储库中并保存这些收藏。

如何在命令行中获得 stash pop?

如果您希望取回保存的更改,但不想保持保存完好,那么您可以使用 Git stash pop 命令。与 Git stash apply 类似,Git stash pop 会将您最近的存储应用到您的存储库中,但之后会删除最新存储的内容。

git stash apply

准备好用一种更干净的方法来藏东西了吗?

GitKraken 的直观用户界面通过在中央图表中用图标表示每个贮藏物,使得跟踪您的贮藏物变得非常容易,不需要找到或记住贮藏物索引。

git stash pop

再也不会忘记隐藏的更改。下载传说中的跨平台 GitKraken Git 客户端【Windows,Mac,& Linux。

准备好用一种更干净的方法来藏东西了吗?

GitKraken 的直观用户界面通过在中央图表中用图标表示每个贮藏物,使得跟踪您的贮藏物变得非常容易,不需要找到或记住贮藏物索引。

再也不会忘记隐藏的更改。下载传说中的跨平台 GitKraken Git 客户端【Windows,Mac,& Linux。

什么是 Git 子模块?|高级 Git 教程

原文:https://www.gitkraken.com/learn/git/tutorials/git-submodule-how-to

GitKraken 使得高级 Git 操作,比如使用子模块,对于 Git 初学者来说更加容易,对于长期用户来说更加直观。

Git Tag | Learn Git

原文:https://www.gitkraken.com/learn/git/git-tag

Git 允许您使用 Git 提交来拍摄您的工作随时间变化的快照。虽然您可以随时使用 Git checkout 返回查看您的工作,但是如果您有许多提交,那么试图记住哪些提交包含重要的里程碑或特性就绪代码会很快变得令人困惑。这就是 Git 标记的用武之地。

Git 标记是一个命令,它将一个指针附加到一个人类可读的特定提交。与 Git 中的其他指针不同,标签一旦设置就不会移动;它们将在您的项目历史中始终指向同一个提交。Git 标签也是类似提交的引用,这意味着它们导致特定的提交,并可用于类似于 Git checkoutGit pushGit diff 的操作。

Git 标签的一个常见用例是在发布可以使用的代码的过程中。例如,查看 GitLens 项目存储库,您可以看到每个发布都标有一个发布号。但是,您可以出于任何原因使用标签来标记您的位置。虽然标记是不可移动的,但是它们很容易创建和删除,所以无论出于什么目的,当您想要标记提交时,都应该毫不犹豫地尝试使用 Git 标记。

在本文中,我们将探索以下利用 Git 标签的方法:

如果您想扩展您对 Git 标记的了解,可以看看这些相关的文章:

轻量级 Git 标签

轻量级 Git 标签只是一个可以引用的命名指针。它们之所以被称为轻量级,是因为它们只包含标签的名称。因为它永久连接到提交,所以在检查时,它将显示提交消息,而不是任何附加信息。如果您想要向 Git 标签添加自定义消息,您将需要使用带注释的标签。

注释 Git 标签

带注释的 Git 标签是除了标签名称之外还包含自定义消息的标签。带注释的 Git 标签通常携带标签所指向的提交消息之外的信息。这可能是一些具体的功能或产品信息,或者只是提醒你为什么要做这个标签。当在有许多参与者的大型项目中工作时,带注释的标签是受欢迎的,因为标签的名称通常不足以解释为什么要创建标签。

Git Tag List

要查看与您的存储库相关联的 Git 标签,您有两个选项。

首先,Git 标签确实出现在你的 Git 历史中。当运行git loggit log –oneline时,Git 会在提交 ID 旁边显示标签。

要查看与您的存储库相关联的 Git 标签,您有两个选项。

首先,Git 标签确实出现在你的 Git 历史中。当运行git loggit log –oneline时,Git 会在提交 ID 旁边显示标签。

查看所有标签的另一种方法是用命令git tag –list列出它们

查看所有标签的另一种方法是用命令git tag –list列出它们

这将只显示按字母升序排列的标签名称。如果您想要查看与标签相关联的注释,您将需要使用选项-n。命令是git tag –list -n

这将只显示按字母升序排列的标签名称。如果您想要查看与标签相关联的注释,您将需要使用选项-n。命令是git tag –list -n

请注意所有标签是如何显示注释的。如果标记的制作者没有手动设置注释,-n选项将显示与标记指向的提交相关的提交消息。

Git Delete Tag

有时您会意识到您创建的 Git 标签有问题。您可能需要更新命名约定,或者您可能将标记添加到了错误的提交中。这里最简单的解决方案是删除现有的标签并创建一个新的。由于有了-d选项,删除 Git 标签变得很简单。要删除 Git 标记,请使用以下命令

git tag -d <tag-name>

记住用您想要删除的标签的名称替换<tag-name>

Git Delete Tag

终端中的 Git 标签

要在 Git CLI 中创建轻量级标记,请使用命令

git tag <tag-name>

记住用您想要创建的标签的名称替换

要在 Git CLI 中创建轻量级标记,请使用命令

要在 Git CLI 中创建带注释的标记,请使用命令

git tag -a <tag-name> -m '<message>'

记住用您想要创建的标签的名称替换,用您想要用于注释的消息替换

要在 Git CLI 中创建带注释的标记,请使用命令

要列出标签及其注释,使用命令

git tag --list -n

记住用您想要创建的标签的名称替换,用您想要用于注释的消息替换

git tag -d <tag-name>

记得用您想要删除的标签的名称替换

转到 gitkraken client 中的标签

GitKraken 客户端使得使用 Git 标签变得异常容易。你可以在左侧面板的标签部分看到 GitKraken 客户端的所有 Git 标签。GitKraken 客户端方便地按时间倒序显示 Git 标签,这意味着为了方便起见,最新的标签总是在顶部。

记得用您想要删除的标签的名称替换

使用 GitKraken 客户端的内置终端或点击几下鼠标,使用 Git 标签非常容易。

转到 gitkraken client 中的标签

为了在 GitKraken 客户端中查看 Git 标签注释,将鼠标悬停在提交图中 Git 标签旁边的标签图标上。

单击一个标签将跳转到提交历史中的特定 Git 标签的提交图。

注意:如果你点击一个没有加载到 GitKraken 客户端提交图中的提交,它不会在图中显示。您需要调整从Preferences–>–General菜单加载的提交范围。

要使用 GitKraken 客户端创建一个新的 Git 标记,右键单击要添加标记的提交并选择Create tag hereCreate annotated tag here选项。

为了在 GitKraken 客户端中查看 Git 标签注释,将鼠标悬停在提交图中 Git 标签旁边的标签图标上。

如果你选择Create annotated tag here,GitKraken 客户端将打开一个界面,允许你输入想要的注释。

单击一个标签将跳转到提交历史中的特定 Git 标签的提交图。

注意:如果你点击一个没有加载到 GitKraken 客户端提交图中的提交,它不会在图中显示。您需要调整从Preferences–>–General菜单加载的提交范围。

要删除 GitKraken 客户端中的标签,只需右击您想要删除的标签并选择Delete <tag-name> locally

vs 代码 gittens 中的 git 标签

当您使用 GitLens 时,在 VS 代码中使用 Git 标签非常简单。GitLens 将 Git 标签公开为 GitLens 侧栏部分。打开此部分将列出所有标签及其注释。

要在 GitLens 中创建新的 Git 标签,请导航到 GitLens 的标签侧栏部分,然后单击+图标。GitLens 会打开一个界面,引导你创建一个新的标签。

vs 代码 gittens 中的 git 标签

要删除 VS 代码中带有 GitLens 的 Git 标签,右键单击要删除的标签,选择选项Delete Tag

开始利用 Git 标签

无论您如何制作和管理 Git 标签,它们都可以让您向任何标志着里程碑的提交添加消息,从而帮助您理解您的 Git 历史。无论是为了发布候选版本、新特性的引入,还是为了方便以后查找代码片段,标签都是保持有序的好方法。GitLens 和 GitKraken Client 都可以让您更好地查看您的标签,并以更有效的方式管理它们。如果你使用的是 VS 代码,今天就安装并开始使用 GitLens。无论你的 chouse 的代码编辑器是什么,GitKraken 客户端,传说中的跨平台 Git 客户端,可以帮助你管理你的 repos,并与他人更好地协作!

要在 GitLens 中创建新的 Git 标签,请导航到 GitLens 的标签侧栏部分,然后单击+图标。GitLens 会打开一个界面,引导你创建一个新的标签。

要删除 VS 代码中带有 GitLens 的 Git 标签,右键单击要删除的标签,选择选项Delete Tag

开始利用 Git 标签

无论您如何制作和管理 Git 标签,它们都可以让您向任何标志着里程碑的提交添加消息,从而帮助您理解您的 Git 历史。无论是为了发布候选版本、新特性的引入,还是为了方便以后查找代码片段,标签都是保持有序的好方法。GitLens 和 GitKraken Client 都可以让您更好地查看您的标签,并以更有效的方式管理它们。如果你使用的是 VS 代码,今天就安装并开始使用 GitLens。无论你的 chouse 的代码编辑器是什么,GitKraken 客户端,传说中的跨平台 Git 客户端,可以帮助你管理你的 repos,并与他人更好地协作!

No matter how you make and manage Git tags, they can help you make sense of your Git history by letting you add messages to any commit that marked a milestone. Wether for a release candidate, a new feature’s introduction, or just to make it easy to find a snippet of code later, tags are a great way to stay organized.  GitLens and GitKraken Client can both give you a better view of you tags and a more efficient way to manage them.  If you are using VS Code, install and start using GitLens today.  No matter what your code editor of chouse is, GitKraken Client, the legendary cross platform Git client can help you manage your repos and collaborate better with others!

来自 2021 GitKon Git 会议的 Git 提示面板

原文:https://www.gitkraken.com/gitkon/git-tips-panel

https://www.youtube.com/embed/bu9c_5OzvIQ?feature=oembed

视频

Git 是什么?

Git 由 Linus Torvalds 于 2005 年创建,旨在维护 Linux 内核的开发。Git 建立在完全分布式、速度、简单设计、处理大型项目的能力和对非线性开发的强大支持的基础之上。如果我们看看 Git 的历史,我们可以看到它已经成为全世界许多开发者的首选版本控制系统。

下面的每一个 Git 技巧都来自参加 2021 GitKon Git 会议小组的一位业内公认的 Git 专家:“Git 技巧,我希望我能早点知道。”小组成员包括 Kanopi 工作室的 Sean Dietrich、PHP 顾问 Carl Alexander、Cyral 的 Rob Richardson、LinearB 的 Nick Hodges 和 Enova 的 Meriem Zaid。

Each of the below Git tips comes from one of the industry proven Git experts that participated on the 2021 GitKon Git conference panel: “ Git Tips I Wish I Had Known Sooner.” Panelists included Sean Dietrich of Kanopi Studios, PHP consultant Carl Alexander, Rob Richardson of Cyral, Nick Hodges of LinearB, and Meriem Zaid from Enova.

这里有一个 Git 技巧:在 GitKraken 的帮助下启用 Git 最强大的功能,Git kraken 包括一个 GUI 和 CLI。

Here’s a Git tip: enable the most powerful capabilities of Git with the help of GitKraken, which includes a GUI and CLI.

Git 技巧 1:使用 Git 钩子发布代码

在提交新的一行代码之前,尝试使用 Git 钩子 s。Git 挂钩允许你在本地机器上运行测试,并与项目中的其他开发人员协调,以确保当你把新代码放到你的 Git 遥控器上时,不会“破坏任何东西”。使用 Git 挂钩可以帮助您避免破坏一些东西,并花费宝贵的时间与其他开发人员协调,试图识别和修复问题。

Try using Git Hooks before you commit a new line of code. Git Hooks allow you to run tests on your local machine and coordinate with other developers on the project to make sure your new code doesn’t “break anything” when you pull it up to your Git remote. Using Git Hooks helps you avoid breaking something and spending valuable time coordinating with other developers trying to identify and fix problems.

Git 提示 2: GrumPHP

如果你正在使用 PHP,试着设置一下 GrumPHP 工具。这个 composer 插件将在你的包库中注册一些 Git 钩子。当有人提交变更时,GrumPHP 会对提交的代码进行一些测试。如果测试失败,您将无法提交您的更改。当该工具识别出一个问题时,你会在你的控制台上看到一个脾气暴躁的老人图标,详细描述手头的问题。

If you’re using PHP, try setting up the GrumPHP tool. This composer plugin will register some Git Hooks in your package repository. When somebody commits changes, GrumPHP will run some tests on the committed code. If the tests fail, you won’t be able to commit your changes. When the tool identifies a problem, you’ll be met with a grumpy old man icon on your console, detailing the issue at hand.

Git 技巧 3:使用 Git GUI

不管你有多少使用 Git 的经验,都不要回避使用 Git GUI。请记住,并不是所有的图形用户界面都是一样的,您需要货比三家,选择一个符合您需求的。使用 Git GUI 允许您跟踪您的 Git 提交,查看 Git 分支,并以一种非常有形和可见的方式与您的团队协作。

Regardless of how much experience you have with Git, don’t shy away from using a Git GUI. Keep in mind that not all GUIs are created equal and you’ll need to shop around for one that meets your needs. Using a Git GUI allows you to track your Git commits, view Git branches, and coordinate with your team in a very tangible and visible way.

Git 非常强大,但是学习起来很复杂。GitKraken 提供的可视化将帮助您更快地理解 Git,以便您可以安全地为项目做出贡献。

Git is incredibly powerful, but can be complicated to learn. The visualization offered by GitKraken will help you understand Git faster so you can safely contribute to projects.

Git 提示 4:不要将资产直接存储在存储库中

当编译您的资产时,确保避免将它们存储在您的 Git 存储库中。相反,尝试将您的资产,如缩小的 javascript 工具和 CSS,存储在 CI 管道中。从长远来看,这将有助于保持您的存储库更小、更易管理,同时也防止了 Git 合并冲突

When compiling your assets be sure to avoid storing them in your Git repository. Instead, try storing your assets, like minified javascript tools and CSS, in a CI pipeline. This will help keep your repository smaller and more manageable while also preventing Git merge conflicts in the long run.

Git 提示 5:微提交

当处理一个大项目时,考虑花一些时间来推动较小的提交。这个过程被称为“微提交策略”。这种策略不仅有助于保持一个干净的存储库,而且如果必要的话,它还使得恢复 Git 提交变得容易

When working with a large project, consider taking some time to push smaller commits. This process is known as the “micro-commit strategy”. Not only does this strategy help keep a clean repository, but it also makes it easy to revert a Git commit if necessary.

Git 提示 6: Git 自动更正

使用 Git 自动更正功能很容易配置,并且在您赶时间时会有所帮助。打字错误时有发生,自动更正功能允许您或者让系统为您更正命令,或者简单地提示您它假定您正试图使用的命令。

Using the Git autocorrect feature is easy to configure and can help when you’re in a hurry. Typos happen, and the autocorrect feature allows you to either have the system correct the command for you or simply give you hints about the command it assumes you were trying to use.

GitKraken CLI 不仅为 Git 命令提供了自动完成功能,它还更进了一步,包括了自动建议功能,直观地加快了您的工作流程,同时提供了有关 Git 操作的有用上下文。

Not only does the GitKraken CLI offer auto-complete for Git commands, it goes one step further to include auto-suggest, intuitively speeding up your workflow while providing helpful context about your Git actions.

转到类型 7:转到别名

使用 Git 别名允许开发者在 Git 中创建其他命令,以获得更快的编码体验。例如,如果您发现自己一天要输入多次命令,那么您可以创建并命名自己的 Git 别名来缩写该命令。提醒一句:虽然这可以节省大量时间,但是使用 Git 别名可能是危险的,因为有可能重命名或创建已经存在的命令。

Using Git aliases allow developers to create other commands in Git for a faster coding experience. For example, if you have a command that you find yourself typing out multiple times a day, you can create and name your own Git alias to abbreviate the command. A word of caution: while this can be a major time-saver, using Git aliases can be dangerous because it’s possible to rename or create commands that already exist.

Git 技巧 8:保持一个干净的 Git Repo

为了保持一个干净的存储库,你和你的团队应该确定一个可重复的命名和 Git 分支策略。添加一个随机的或有趣的分支标题可能很容易,但随着项目的增长,这可能会造成混乱。创建一致的分支命名模式将确保所有团队成员的无缝发布和导航过程。

花时间编写经过深思熟虑的提交消息看起来像是一件苦差事,但是在保持一个干净的存储库的时候也是一个救命稻草。花时间为你的提交做一个简短的总结将会让你收获回报,因为你在稍后的评审和发布过程中节省了时间。

使用完要素分支后,将其删除。GitHub 确实很擅长保存它们,如果你以后需要它们的话,但是从你的项目中删除它们也将有助于你的整体库健康。

Delete your feature branches once you are done with them. GitHub is really good about saving those if you need them later on, but deleting them from your project will also help with your overall repository health.

Git Tip 9: Git Rebase

你有没有发现自己远离主分支,在一个特性分支上有一堆分组提交?这是一个很好的例子,说明何时重定基数是有帮助的。Git rebase 的目标是改变你的项目历史。Git 中的重新基础化允许您将提交合并在一起,删除它们,分配一个新的父提交,重新排序它们,或者完全更改基础提交。需要注意的是,您的提交将会以不同的 Git 散列结束,因为 Git 散列是内容和父散列的组合,使用 rebase 将会改变父散列。

Have you ever found yourself with a bunch of grouped commits on one feature branch, away from your main branch? This is a perfect example of when rebase would be helpful. The goal of Git rebase is to change your project history. Rebasing in Git allows you to take your commits and squish them together, remove them, assign a new parent commit, reorder them, or change the base commit entirely. It’s important to note that your commits will end up with different Git hashes because the Git hash is a combination of the content and the parent hashes, and using rebase will change the parent hash.

Rebase 可能是一个令人生畏的命令,因为它涉及到许多移动的部分,如果你不小心,有可能把事情搞砸,但是如果你花时间学习如何有效地使用这个工具,你将能够保持一个更健康、更线性的库。

在它之后的 Git

关于 Git,要认识到的最重要的一点是,它是不断发展的。许多 Git 技巧和诀窍来自多年的实践经验以及大量的反复试验。适用于一个开发人员的技巧不一定适用于下一个开发人员,所以我们强烈建议您测试一下上面的列表,看看哪些适合您。

你有自己的 Git 技巧分享吗?将它发布到社交媒体,标记 @GitKraken ,并使用标签 #GitTip——你可能会在 GitKraken 的某个社交频道上看到你的提示!

The most important thing to recognize about Git is that it’s constantly evolving. Many of these Git tips and tricks came from years of hands-on experience as well as a good amount of trial and error. The tricks that work for one developer may not work for the next, so we highly encourage you to put the above list to the test and find out which ones work for you.

Do you have your own Git tip to share? Post it to social media, tag @GitKraken, and use the hashtag #GitTip – you might just see your tip featured on one of the GitKraken social channels!

Git 与 GitHub |相似性和差异

原文:https://www.gitkraken.com/blog/git-vs-github

索菲亚·迪亚琴科是 Syndicode 的公关经理,Syndicode 是一家领先的数字化转型和产品交付公司,专注于市场创造、和 web 应用程序开发。在空闲时间,Sophia 喜欢扩展她在 IT 领域的知识。

*Git 和 GitHub 是软件开发中广泛使用的两个强大工具。两者都可以帮助管理代码,但是它们有不同的目的和功能。Git 是一个版本控制系统(VCS ),允许开发人员跟踪和管理他们代码的变更。Git 跟踪文件随时间的变化,这样开发人员可以在以后调用特定的版本。

GitHub 是一个平台,它提供了一个基于 web 的接口来使用 Git 存储库,开发人员可以在这个平台上从世界的任何地方协作编码项目。

在这篇博文中,我们将看看 Git 和 GitHub 之间的区别。理解 Git 和 GitHub 之间的相似性和差异将使您能够最大限度地使用这两种工具,并将您的编码提升到一个新的水平。

关于 Git 的一切

在其核心,Git 是一个版本控制系统。它最初是由 Linus Torvalds 在 2005 年创建的,作为 BitKeeper 等专有工具的开源替代品。

Git 的目的很简单:跟踪文件随时间的变化,并使程序员能够在以后调用不同版本的代码。

为了实现这一点,Git 存储了每次修改的快照,允许开发人员在必要时返回到早期版本。Git 还支持从事同一项目的多个开发人员之间的协作。

开发人员可以创建他们自己的存储库(包含所有项目文件的目录)的本地副本。然后,他们可以在处理项目时添加/编辑/删除这些本地副本中的文件,并将这些更改推送到中央存储库。

关于 GitHub 的一切

GitHub 是一个基于云的 Git 存储库托管服务。它是由汤姆·普莱斯顿-沃纳、克里斯·万斯特拉斯和 PJ·海特于 2008 年创建的,作为开源项目托管平台 SourceForge 的网络界面。

GitHub 的主要目的是让世界各地从事相同项目的开发人员能够协作。GitHub 提供了一些高级功能,比如 bug 跟踪、功能请求、任务管理、维基和文档,所有这些都集成到了它的用户界面中。

此外,GitHub 使开发人员更容易在编码项目上合作,因为对文件的所有更改都可以使用版本控制系统(如 Git)进行跟踪。开发人员还可以轻松地在线发布他们的代码,供其他人随时查看或下载。有了 GitHub,团队可以轻松地管理他们的编码项目,并与世界各地的其他开发人员合作。

要了解更多信息,请查看 GitKraken 的这篇相关博文,了解更多关于从 GitHub 下载 的信息。

Git 与 GitHub:相似之处

1.Git 和 GitHub 都允许开发者管理和共享他们的代码库。

2.Git 和 GitHub 都是版本控制系统,允许开发人员跟踪对代码所做的更改。

3.Git 和 GitHub 都提供了在线代码协作特性,这使得开发人员能够在代码项目上一起工作。

4.Git 和 GitHub 对开源项目来说都是免费的,尽管它们确实为私有存储库提供付费计划。

5.Git 和 GitHub 都有庞大的用户社区和活跃的开发社区。

GitHub 与 Git:区别

1.Git 是一个软件,而 GitHub 是一个基于网络的 Git 库托管服务。

2.Git 是分散的,这意味着没有一个中央权威机构来管理代码库。

3.GitHub 由微软集中所有。

4.不使用 GitHub 也可以使用 Git,不使用 GitHub 就不能使用 Git 库。

5.关于特性,GitHub 提供了比 Git 更多的特性(比如问题跟踪、wikis 和 pull 请求)。然而,有些人更喜欢使用 Git,因为它有更简单的用户界面,可以更容易地与其他工具/工作流集成。

2.Git 是分散的,这意味着没有一个中央权威机构来管理代码库。

Git 与 GitHub:如何使用它们

Git 是一个分布式版本控制系统,用于跟踪文件中的变化,并协调多人对这些文件的工作。它是为协作软件开发而设计的,可以用来跟踪任何一组文件的变更。

GitHub 是一个基于 web 的 Git 存储库托管服务。它提供了 Git 的所有特性,还提供了几个使合作者更容易一起工作的特性。

例如,GitHub 提供了一种方法来显示两个文件版本之间的差异,使得将一个分支的更改合并到另一个分支变得容易,并允许您恢复错误的更改。

Git vs GitHub:协作

Git 和 GitHub 在协作方面有一些不同。使用 Git,您可以派生任何存储库,并在不影响原始存储库的情况下进行更改。这对于创建拉请求(PRs)特别有用,因为您可以创建一个分支,进行更改,测试它们,然后创建一个 PR,而无需将分支合并回主代码库,直到 PR 被接受。

GitHub 的设置需要更多的努力,但是它有一些很棒的协作特性。例如,在 GitHub 存储库中所做的每一项更改都会被跟踪,这样您就可以看到更改了什么,何时更改的,以及谁进行了更改。这使得发现问题和追踪问题的根源变得很容易。此外,GitHub 有一个内置的问题跟踪器和代码审查系统,所以你可以在它们被合并到主分支之前讨论它们。

Git 与 GitHub:价格

Git 和 GitHub 有不同的定价模式。Git 是一个开源的版本控制系统,这意味着它可以免费下载和使用。开发人员可以在自己的机器上本地使用 Git,而不会产生任何成本。

另一方面,GitHub 是一项付费服务,它为 Git 存储库提供托管服务,并为协作提供额外的工具。GitHub 提供了许多定价方案,包括免费方案和提供附加功能的各种付费方案。免费计划包括无限的公共和私人存储库,基本的协作工具,以及对 GitHub 开发者社区的访问。付费计划提供了额外的特性,如高级代码审查工具、项目管理工具,以及托管更大存储库的能力。GitHub 还为组织、教育机构和开源项目提供折扣价格。

Git vs GitHub:竞争对手

说到代码管理和版本控制,Git 是最流行的工具。然而,在 Git 之前,开发人员首先使用一种叫做 Subversion 或 SVN 的工具来管理他们的代码。Subversion 以集中模式运行,这意味着服务器上有一个项目的主副本,只有被更改或修订的文件存储在开发人员的本地计算机上。自从 Git 推出以来,许多开发团队已经从 SVN 转向 Git。

谈到存储库管理,开发团队有多种选择。GitHub 当然是一个受欢迎的平台,因为它简单的 UI、协作功能和广泛的采用,但其他著名的托管服务包括 GitLabBitBucketAzure DevOps 等等。这些工具中的每一个都为开发人员和团队提供了共享和托管 Git 存储库的独特优势。

Git 与 GitHub:价格

Git 与 GitHub:各自使用的通用开发工具

众所周知,开发人员是效率大师。如果有一种方法可以让过程变得更简单或者更流畅,你可以打赌开发者已经在利用它了。开发人员改进他们的过程和工作流程的方法之一是利用不同的开发工具。

当谈到使用 Git 时,有各种各样的叫做 Git GUIs 的工具使 Git 更容易管理,包括引人注目的 GitKraken 客户端

GitHub 有一个专门针对他们平台的 GUI,叫做 GitHub Desktop ,允许用户使用他们的 GitHub repos。

选择合适的 Git 客户端来管理你的项目可能会很棘手,所以一定要看看 GitKraken 的 2023 年最佳 Git GUIs 指南。

谈到存储库管理,开发团队有多种选择。GitHub 当然是一个受欢迎的平台,因为它简单的 UI、协作功能和广泛的采用,但其他著名的托管服务包括 GitLabBitBucketAzure DevOps 等等。这些工具中的每一个都为开发人员和团队提供了共享和托管 Git 存储库的独特优势。

GitKraken 客户端的集成使得结合 Git 和 GitHub 的力量成为可能。

Git 和 GitHub

总之,Git 和 GitHub 是软件开发中常用的两种不同的工具。简而言之,Git 是一个版本控制系统,用于跟踪代码库的变化,GitHub 是一个托管 Git 存储库和提供协作工具的平台。

Git 是一个在开发者机器上本地使用的命令行工具,而 GitHub 是一个基于 web 的平台,可以通过 web 浏览器访问。Git 和 GitHub 对开发者来说都是有用的工具,但是它们服务于不同的目的,并且以不同的方式使用。

关键要点

Git 是一个源代码控制管理(SCM)系统,用于跟踪文件的变更,并在多人之间协调这些文件的工作。

GitHub 是一个基于 web 的 Git 存储库托管服务。它提供了 Git 的所有特性,以及协作、代码审查和问题跟踪等附加特性。

有了 Git 和 GitHub,团队可以在世界任何地方轻松地协作编码项目。

Git 和 GitHub

总之,Git 和 GitHub 是软件开发中常用的两种不同的工具。简而言之,Git 是一个版本控制系统,用于跟踪代码库的变化,GitHub 是一个托管 Git 存储库和提供协作工具的平台。

Git 是一个在开发者机器上本地使用的命令行工具,而 GitHub 是一个基于 web 的平台,可以通过 web 浏览器访问。Git 和 GitHub 对开发者来说都是有用的工具,但是它们服务于不同的目的,并且以不同的方式使用。

关键要点

Git 是一个源代码控制管理(SCM)系统,用于跟踪文件的变更,并在多人之间协调这些文件的工作。

GitHub 是一个基于 web 的 Git 存储库托管服务。它提供了 Git 的所有特性,以及协作、代码审查和问题跟踪等附加特性。

  • 有了 Git 和 GitHub,团队可以在世界任何地方轻松地协作编码项目。

  • GitHub is a web-based hosting service for Git repositories. It offers all of the features of Git, as well as additional features such as collaboration, code review, and issue tracking.

  • With Git and GitHub, teams can easily collaborate on coding projects from anywhere in the world.*

Git 与 SVN——哪个版本控制系统更好?

原文:https://www.gitkraken.com/blog/git-vs-svn

如果你正在为一个项目编写或跟踪代码,你可能听说过版本控制系统,或 VCS,通常也称为源代码控制。版本控制系统的主要功能是管理一个项目,并跟踪它如何随着时间的推移而发展。

使用 VCS,开发人员可以比较文件中的更改,跟踪提交,提出更改,查看项目历史,恢复到项目的旧版本,等等。一个好的 VCS 已经成为开发人员和软件团队实现开发运维、持续交付和维护高效工作流的必需品。一些最常用的版本控制系统包括 Git、SVN、Mercurial 和 Perforce。

为您和您的团队选择合适的 VCS 来托管您的文件是一项艰巨的任务。本质上,你是在建立你的团队如何构建项目的基础,开发人员在这个问题上有非常强烈的观点并不罕见。

为了帮助您为您的项目和工作流选择正确的 VCS,我们收集了 Git 和 SVN 之间的一些关键比较点。

Stack Overflow 的 2021 年开发者调查显示,近 95%的开发者都在使用 Git。使用 Git 客户端参与游戏,它可以帮助您理解您的新 VCS。

Git 是什么?

由 Linus Torvalds 于 2005 年创建的 Git 旨在维护 Linux 内核的开发。Git 建立在完全分布式、速度、简单设计、处理大型项目的能力和对非线性开发的强大支持的基础之上。围绕着 Git 和它的创建存在着大量的“知识”,包括它为什么以及如何得到这个奇特的名字,它最初创建的原因等等。

最重要的是要明白,Git 是为了以一种新的方式解决常见问题而创建的,并且比以前更进一步地发展了分布式模型。

什么是 SVN?

SVN,或称 Subversion ,由 CollabNet,Inc .在 Apache 许可下于 2000 年创建。SVN 是开源的,它的模型利用了一个集中的版本控制系统,这意味着所有的信息和文件都存储在一个中央服务器上。

Subversion 声称它的目的是“作为一个开源的、集中的 VCS 被普遍认可和采用,其特点是作为有价值数据的避风港的可靠性;其模型和使用的简单性;以及支持从个人到大规模企业运营的各种用户和项目需求的能力。”

SVN:中央集权模式

Git 和 SVN 之间最极端的区别可以在核心架构中找到:集中式和分布式。这种过程和意识形态上的关键差异通常是决定个人或团队使用什么 VCS 的关键。那么是什么让它们如此不同,各自有什么优势呢?

拥有一个像 SVN 这样的中央系统意味着一个项目只有一个“主拷贝”,或者说是主干,驻留在服务器上。只有那些被更改或修订的文件才存储在开发人员的本地计算机上。当开发人员声明或签出这些文件时,它可以限制任何其他团队成员访问它们,直到它们被推回服务器。这有助于降低合并冲突的风险,但如果多人需要在单个文件中进行更改,也会中断工作流。

当开发人员准备在 SVN 提交他们的更改时,他们必须将他们的编辑提交到服务器。这种受控的编码工作流方法吸引了一些人,因为它的安全性和集中性,发布代码的清晰过程,以及对更少文件存储的需求。

Git:分布式模型

然而,在分布式系统下,所有开发人员对项目中的所有文件都有相同的访问权限。任何拥有适当权限的人都可以执行一个 Git 克隆来制作主存储库的副本,以访问他们本地机器上的整个项目历史,包括所有相关的元数据和提交。

这也意味着,除了推和拉更改之外,所有其他操作都可以快速完成,因为它们只影响开发人员本地驱动器上的文件,而不是远程服务器。这允许多个团队成员访问同一个文件,并根据需要进行修改,但是这种便利也带来了 Git 合并冲突的风险。

尽管如此,世界各地的开发人员已经意识到了分布式模型的价值,因为它使共享代码变得简单,并促进了与大型团队的方便协作。

当开发人员准备在 SVN 提交他们的更改时,他们必须将他们的编辑提交到服务器。这种受控的编码工作流方法吸引了一些人,因为它的安全性和集中性,发布代码的清晰过程,以及对更少文件存储的需求。

GitKraken 的预测性合并冲突警报降低了在 Git 中遇到合并冲突的风险,这是使处理 Git 世界更加容易和安全的众多健壮特性之一。

Git 与 SVN:行业采用

Git 的受欢迎程度从诞生之日起就有了显著的提高。Git 提供的速度是其受欢迎程度持续上升的一个重要原因,但开发人员也欣赏 Git 与开源社区理念(如共享代码和协作)的兼容性。

Stack Overflow 的 2021 开发者调查显示,全球近 95%的开发者都在使用 Git。很明显,Git 是未来的发展方向,世界上大多数开发团队都依赖 Git 来跟踪他们的代码。

开发人员工作流偏好从集中式向分布式的转变使得 SVN 似乎不太可能卷土重来。然而,Git 越来越受欢迎并不意味着 SVN 过时了,像 WordPress 这样的项目仍然依赖它。虽然 SVN 不再是最常用的 VCS,但它已设法在一些非常小众的领域确立了自己的地位。项目文件的可定制访问控制和中央服务器等特性是开发人员仍在使用 SVN 的部分原因。

Git 与 SVN:离线可用性

Git 的一个优势是它的离线功能。因为开发人员可以在他们的本地机器上访问整个项目,他们可以在本地提交提交,并在实际影响共享代码库之前,看到他们的编辑如何与项目作为一个整体进行交互和融合。

Git 不需要持续访问主服务器,如果您在团队中工作,通常会产生较少的网络流量。Git 的离线访问也降低了丢失更改的风险,并且 Git 提交,因为没有单点故障。最后,因为 Git 在执行推和拉时只需要连接到主存储库,所以其他操作的执行速度要比 SVN 快得多。

另一方面,SVN 要求每个变更、提交和操作都要通过中央服务器。因此,如果您使用的是 SVN,并且中央存储库发生故障,那么在它修复之前,您无法进行任何更改。一切都依赖于主服务器,造成了不稳定的单点故障。

Git 与 SVN:存储和速度

SVN 的支持者经常鼓吹 SVN 比 Git 更有存储优势。SVN 开发人员只将他们正在处理的特定文件拖到他们的本地机器上,这通常比在 Git 中克隆整个项目要小。如果您的机器上的存储是一个问题,这可能是方便的,但是存储的进步使得这种方法的好处可以忽略不计。SVN 检查个人文件的方法也有一些主要的注意事项。

首先,为了在 SVN 测试他们的变更,开发人员必须或者独立于项目的其他部分进行单元测试,或者将代码签回到中央服务器,并在那里进行编译和测试。本质上,没有办法检查代码更改是否会破坏文件范围之外的内容,除非您将其全部合并回去。

第二,SVN 只提取你正在处理的文件的方法是以牺牲速度为代价的。你不仅要经历比在 Git 中更多的步骤来测试代码将如何影响主项目,而且你还受到必须一直连接到主服务器的限制。

相比之下,Git 的运行是基于这样的假设:所有项目参与者对同一组文件拥有相同的访问权限,并且每个人都可以访问项目中的所有文件。每个开发人员都可以将更改拉到他们的本地机器上。诚然,这可能意味着您将更多的信息拖到您的计算机上,可能会占用更多的空间,但大多数人都会同意,这两种工具所需的磁盘空间没有实质性的区别。

然而,有一个例外;SVN 更适合处理二进制文件。

因此,虽然 Git 确实要求您拉动整个项目,但是这种方法有一些优势,特别是在速度和测试代码方面。因为您在本地有完整的代码库,所以您可以在将代码推回您的远程存储库之前进行彻底的测试。此外,如前所述,将整个项目放在您的机器上使得日常 Git 操作非常快。

另一方面,SVN 要求每个变更、提交和操作都要通过中央服务器。因此,如果您使用的是 SVN,并且中央存储库发生故障,那么在它修复之前,您无法进行任何更改。一切都依赖于主服务器,造成了不稳定的单点故障。

GitKraken 简化了从 Git 到 SVN 的转换过程,并帮助您理解 Git 概念,以便您可以自信而快速地执行操作。

Git 与 SVN 的分支

SVN 分支、标签和干线被创建为中央存储库内的目录。所有这些操作都是公开的,因此团队中的每个人都可以看到它们。这包括那些只是为了测试你的想法或做些小的编辑而创建的分支。这可能会在搜索特定文件时造成严重的噩梦;想象一下,您必须浏览每个团队成员的“垃圾”或测试文件,才能找到您想要的东西。这种分支策略可能会很快失控,并阻碍您快速发布代码的过程。

Git 创建 Git 分支和合并变更的过程更加高效和有组织。不是创建一个公共目录, Git 分支引用一个特定的提交。这意味着当开发人员创建 Git 分支时,他们可以更新、更改或删除代码,而不必担心他们的更改会影响项目中的其他提交。

Git vs SVN 命令

这里有一个很好的可视化对比,通过 Backlog 比较了 Git 和SVN 命令。

然而,有一个例外;SVN 更适合处理二进制文件。

因此,虽然 Git 确实要求您拉动整个项目,但是这种方法有一些优势,特别是在速度和测试代码方面。因为您在本地有完整的代码库,所以您可以在将代码推回您的远程存储库之前进行彻底的测试。此外,如前所述,将整个项目放在您的机器上使得日常 Git 操作非常快。

使用 GitKraken 提高 Git 生产率

利用 GitKraken Git GUI 的机会也许是使用 Git 作为主要 VCS 的最好理由之一。通过漂亮的提交图、Git diff 对大块视图、内嵌视图和拆分视图的控制、神奇的撤销按钮、用于推拉更改的拖放功能、高级问题跟踪集成等功能,GitKraken 可以将您的工作效率提升到一个新的水平。

对于不熟悉 Git 的开发人员,或者希望更多了解 Git 如何工作的人,GitKraken 可以助其一臂之力。对于新开发人员和使用 Git 的团队来说,它是市场上最好的 Git 客户端,尤其是在从 SVN 过渡之后。新的贡献者可以快速添加和克隆遥控器以快速启动和运行,每个人都可以通过 GitKraken 的 Git for Teams 功能看到谁在做什么。

可视化提交图、使用 GitKraken 命令面板访问伯爵夫人操作、一键撤销/重做操作等功能,有助于让所有技能水平的开发人员都能轻松使用Git

GitKraken learn Git 库涵盖了从初级到高级的大量 Git 概念和操作,包括视频教程和可下载的备忘单。

让我们得到它

在许多方面,SVN 为 Git 铺平了道路。Git 包含了许多与 SVN 相同的功能,但是 Git 有一系列令人印象深刻的功能,这是 SVN 无法比拟的。虽然 SVN 在当时是一个不可思议的工具,但它将继续淡出人们对 Git 的青睐。

那么哪个 VCS 更好呢?嗯,那要看情况。但是我认为现在很明显,在绝大多数情况下,Git 比 SVN 更受青睐。

但是,如果您的情况需要团队中的每个开发人员都有不同的文件访问权限,或者您正在处理大量的二进制文件,那么 SVN 可能更适合作为您的主要 VCS。

但实际上,需要 SVN 作为你团队的主要 VCS 的情况越来越少了。此外,当考虑到 Git 和分布式模型越来越受欢迎、活跃的开发人员社区、频繁的维护、离线功能以及令人难以置信的支持工具(如 GitKraken Git 客户端)时,很难与 Git 争论。

准备好从 SVN 转到 Git 了吗?换 VCS 并不像听起来那么可怕。另外,我们有一个分步指南:“如何从 SVN 迁移到 Git”。

使用 GitKraken 提高 Git 生产率

亲自测试一下 Git 和 GitKraken,看看在节省时间的同时,您的工作效率会提高多少。它会让你大吃一惊。🤯

对于不熟悉 Git 的开发人员,或者希望更多了解 Git 如何工作的人,GitKraken 可以助其一臂之力。对于新开发人员和使用 Git 的团队来说,它是市场上最好的 Git 客户端,尤其是在从 SVN 过渡之后。新的贡献者可以快速添加和克隆遥控器以快速启动和运行,每个人都可以通过 GitKraken 的 Git for Teams 功能看到谁在做什么。

可视化提交图、使用 GitKraken 命令面板访问伯爵夫人操作、一键撤销/重做操作等功能,有助于让所有技能水平的开发人员都能轻松使用Git

GitKraken learn Git 库涵盖了从初级到高级的大量 Git 概念和操作,包括视频教程和可下载的备忘单。

让我们得到它

在许多方面,SVN 为 Git 铺平了道路。Git 包含了许多与 SVN 相同的功能,但是 Git 有一系列令人印象深刻的功能,这是 SVN 无法比拟的。虽然 SVN 在当时是一个不可思议的工具,但它将继续淡出人们对 Git 的青睐。

那么哪个 VCS 更好呢?嗯,那要看情况。但是我认为现在很明显,在绝大多数情况下,Git 比 SVN 更受青睐。

但是,如果您的情况需要团队中的每个开发人员都有不同的文件访问权限,或者您正在处理大量的二进制文件,那么 SVN 可能更适合作为您的主要 VCS。

但实际上,需要 SVN 作为你团队的主要 VCS 的情况越来越少了。此外,当考虑到 Git 和分布式模型越来越受欢迎、活跃的开发人员社区、频繁的维护、离线功能以及令人难以置信的支持工具(如 GitKraken Git 客户端)时,很难与 Git 争论。

准备好从 SVN 转到 Git 了吗?换 VCS 并不像听起来那么可怕。另外,我们有一个分步指南:“如何从 SVN 迁移到 Git”。

Ready to make the switch from SVN to Git? Switching your VCS isn’t as scary as it sounds. Plus, we’ve got a step-by-step guide: “How to Migrate to Git from SVN”.

亲自测试一下 Git 和 GitKraken,看看在节省时间的同时,您的工作效率会提高多少。它会让你大吃一惊。🤯

Test out Git and GitKraken yourself and see just how much more productive you can be while saving time. It will blow your mind. 🤯

如何使用 Git Worktree |添加、列出、删除

原文:https://www.gitkraken.com/learn/git/git-worktree

Git worktree 命令允许您同时检查和处理多个 Git 分支。现在,你会在什么情况下使用这个动作?

想象一下,您正在对一个项目进行大量的更改,其中有多个新的依赖项,这些依赖项是由各种 WIP 更改引入的。如果您突然不得不在另一个分支中处理一个修补程序,会发生什么?对许多人来说,正常的工作流程是使用 Git stash 保存你当前的工作,签出热修复分支,结束工作,然后重新签出你原来所在的分支,弹出你的 stash。如果这听起来没有效率,Git 的开发者同意你的观点。这就是 Git worktree 的用武之地。

您可以简单地添加一个新工作树条目,并将目录更改为所需的分支,而不是存储和检出流程。

例如,假设您正在主分支中处理一个项目,但是需要测试和批准应用在特性分支中的变更。使用 Git worktree,您只需告诉 Git 在当前工作目录之外的不同目录中签出特性分支,并切换到该目录;从这里,您可以做您的工作,并回到原来的目录,找到所有正在进行的工作,就像您离开时一样。

https://www.youtube.com/embed/s4BTvj1ZVLM

VIDEO

Git 分支机构审查

在我们了解如何在 GitLens 中为 VSCode 和命令行使用 Git worktree 之前,让我们先快速复习一下 Git 分支

在 Git 中,分支是指向一个特定提交的指针,而提交是您的存储库在特定时间点的快照。您的分支指针随着您的每次新提交而移动。

默认情况下,Git 一次只在一个分支上跟踪和移动指针。您用 Git checkout 选择的分支被认为是您的“工作树”。

就像森林中的一棵树一样,Git worktree 可以同时有几个分支,这正是 Git worktree 命令允许你做的。

为了保持有序,Git worktree 将每个分支放在文件系统中不同的指定文件夹中。要在工作树上的多个分支之间移动,您只需更改目录来处理所需的分支。

GitLens 可以帮助您保持组织性,并跟踪您的任务和项目。免费解锁 VS 代码中 Git 的全部功能!

Install GitLens for VS Code

Git 工作树概念

Git worktree 是一个强大的命令,有许多选项。出于我们的目的,我们将只关注分支的工作,因为这是最常见的用例。我们将使用以下命令浏览 Git 工作树示例:

  • Git 工作树添加
  • Git 工作树列表
  • Git 工作树删除

参见官方 Git 文档了解更多关于利用 Git 工作树的其他方法的信息。

参见官方 Git 文档了解更多关于利用 Git 工作树的其他方法的信息。

Git 工作树添加

Git 工作树在引用特定的提交对象(如分支)时,将始终指向文件系统上的一个文件夹。为了同时处理多个检出的分支,您需要将每个分支作为一个新的工作树添加到 Git 工作树中。使用 Git 工作树添加时,您可能会遇到 4 种情况:

向与分支同名的目录中添加一个新的工作树(最常用的方法)

  1. 将一个新的工作树添加到一个不同名称的目录中作为分支

  2. 创建一个新的 Git 分支并将一个新的工作树添加到与该分支同名的目录中

  3. 创建一个新的分支,并将一个新的工作树添加到一个与新分支名称不同的目录中

  4. 创建一个新的分支,并将一个新的工作树添加到一个与新分支名称不同的目录中

我们将在本文后面的 Git 工作树示例中介绍如何做到这些。无论您选择哪种路径,每个目录都只能有一个工作树,这一点很重要。当你创建新的工作树时,目标目录必须为空,否则,命令将失败,你将得到一个错误信息。

我们将在本文后面的 Git 工作树示例中介绍如何做到这些。无论您选择哪种路径,每个目录都只能有一个工作树,这一点很重要。当你创建新的工作树时,目标目录必须为空,否则,命令将失败,你将得到一个错误信息。

Git 工作树列表

为了查看哪些分支当前作为工作树是活动的,您需要告诉 Git 用 Git worktree list 命令列出它们。首先列出主工作树,然后是每个链接的工作树。

输出细节包括每个工作树的路径、提交散列和该条目中当前检出的分支的名称。

为了查看哪些分支当前作为工作树是活动的,您需要告诉 Git 用 Git worktree list 命令列出它们。首先列出主工作树,然后是每个链接的工作树。

输出细节包括每个工作树的路径、提交散列和该条目中当前检出的分支的名称。

Git 工作树移除

为了让您的 Git 工作树保持有序,您需要不时地删除条目。无论 worktree 条目是如何添加的,您都将以相同的方式删除它们:通过指定要删除的文件夹。并且您不需要担心在该文件夹中指定分支名称。

如果某个特定文件夹中有未提交的变更,Git 默认不会允许你删除它。您可以通过使用--force选项来覆盖此限制。和使用-f一样,在覆盖 Git 的安全预防措施之前,要小心并确保知道自己在做什么。

为了让您的 Git 工作树保持有序,您需要不时地删除条目。无论 worktree 条目是如何添加的,您都将以相同的方式删除它们:通过指定要删除的文件夹。并且您不需要担心在该文件夹中指定分支名称。

如果某个特定文件夹中有未提交的变更,Git 默认不会允许你删除它。您可以通过使用--force选项来覆盖此限制。和使用-f一样,在覆盖 Git 的安全预防措施之前,要小心并确保知道自己在做什么。

GitLens 工作树

VS 代码的 GitLens 中的 Worktrees 是一个 GitLens+特性,需要 GitLens+或 GitLens+ Pro 帐户。GitLens+用户可以利用公共存储库上的工作树,而 GitLens+ Pro 用户可以使用公共和私有的所有存储库上的工作树。你可以在这里阅读更多关于 GitLens+功能的信息。默认情况下,可以在 VS 代码侧边栏的源代码控制菜单下查看 GitLens 中的 工作树。您也可以通过使用 VS 代码命令面板⇧⌘P并键入GitLens: Show Worktrees view来打开 Worktrees 菜单。

VS 代码的 GitLens 中的 Worktrees 是一个 GitLens+特性,需要 GitLens+或 GitLens+ Pro 帐户。GitLens+用户可以利用公共存储库上的工作树,而 GitLens+ Pro 用户可以使用公共和私有的所有存储库上的工作树。你可以在这里阅读更多关于 GitLens+功能的信息。默认情况下,可以在 VS 代码侧边栏的源代码控制菜单下查看 GitLens 中的 工作树。您也可以通过使用 VS 代码命令面板⇧⌘P并键入GitLens: Show Worktrees view来打开 Worktrees 菜单。

Worktrees 只是你可以用 GitLens+解锁的众多强大功能之一。你还在等什么?

Worktrees 只是你可以用 GitLens+解锁的众多强大功能之一。你还在等什么?

Sign up for GitLens+

使用 GitLens 添加 Git 工作树

在这个 Git 工作树示例中,我们将回顾如何使用 GitLens 工作树添加工作树条目,涵盖所有 4 种可能的情况。

要开始使用 GitLens 工作树添加工作树条目,只需点击工作树菜单中的+图标。这将打开命令面板,并要求您选择将哪个现有提交用作新工作树条目的基础。

提交式

关于这个奇怪的术语“有点犯浑”。Commit-ish 指的是最终指向 Git 提交对象的 Git 标识符,如标签、分支或单个提交。例如,当引用提交图的顶端时,您可以通过完整的 40 个字符的散列号、截断的 7 个字符的散列号、标记名或“头”来引用特定的提交。所有这些方法最终都指向同一个引用。
出于我们的目的,我们将只对分支机构名称使用这个术语,因为这是最常见的用例。但是请记住:即使在分离的 HEAD 状态下,您也可以添加单独的提交。更多信息参见官方 Git 文档

一旦选择了基本分支(最常见的)、标签或提交,系统将提示您选择一个文件夹,作为工作树条目的基本文件夹。记住,每个工作树条目都需要有自己的空文件夹来完成这个过程。

提交式

关于这个奇怪的术语“有点犯浑”。Commit-ish 指的是最终指向 Git 提交对象的 Git 标识符,如标签、分支或单个提交。例如,当引用提交图的顶端时,您可以通过完整的 40 个字符的散列号、截断的 7 个字符的散列号、标记名或“头”来引用特定的提交。所有这些方法最终都指向同一个引用。
出于我们的目的,我们将只对分支机构名称使用这个术语,因为这是最常见的用例。但是请记住:即使在分离的 HEAD 状态下,您也可以添加单独的提交。更多信息参见官方 Git 文档

一旦您在本地文件系统中选择了基本文件夹,您将在命令面板中看到 4 个选项。

让我们仔细看看 VS 代码命令面板下拉菜单中的 4 个创建选项,当您添加一个新的工作树条目时,它显示在上图中。

在 GitLens 中,如何使用 Git worktree add 来添加与工作目录同名的现有分支?

选择选项:Create Worktree for branch <branch-name>将在与分支同名的文件夹中创建工作树条目。该分支的完整路径将位于一个新文件夹中,其目录名取自原始文件夹,并附加了术语.worktrees

例如,假设您想要基于分支dev创建一个工作树。假设你在一个名为vscode-gitlens的目录中工作,并且选择了下一个最高的目录作为新工作树条目的文件夹..的基础。您的新工作树条目将位于相对于您当前工作目录的../vscode-gitlens.worktrees/dev

在 GitLens 中,如何使用 Git worktree add 来添加与工作目录同名的现有分支?

如何使用 GitLens 创建一个与工作目录同名的新分支?

从命令面板下拉菜单中选择第二个选项:Create a New Branch and Worktree from branch <branch-name>将向您显示命令面板中的一个新选项,以命名新的分支。新分支的首次提交将是您在上一步中指定的分支上的最新提交。

如何使用 GitLens 创建一个与工作目录同名的新分支?

命名新分支后,GitLens 将在与新分支同名的文件夹中创建新的工作树条目。该分支的完整路径将位于一个新文件夹中,其目录名取自原始文件夹,并附加了术语.worktrees

例如,假设您正在创建一个工作树条目,并希望基于您在上一步中选择的dev分支创建一个名为demo-worktrees-branch的新分支。我们还假设在一个名为vscode-gitlens的目录中工作时,您选择了下一个最高的目录作为新工作树条目的文件夹..的基础。在这种情况下,您的新工作树条目和分支将位于相对于您当前工作目录的../vscode-gitlens.worktrees/demo-worktrees-branch

如何使用 Git worktree add 来添加一个与 GitLens 的工作目录名称不同的现有分支?

到目前为止,您已经使用与分支相同的名称命名了目标目录。虽然这是命名目录最常见、最不容易混淆的方式,但 Git 允许您为文件夹取一个不同于分支名称的名称。

如果您从命令面板下拉菜单中选择第三个选项:Create Worktree (directly in folder) for branch <branch-name>,您将基于您在目标文件夹中指定的分支创建一个新的工作树条目。

例如,假设您正在从insiders分支创建一个工作树条目,并希望将它放在一个名为vscode-gitlens-demo-1的目录中。我们还假设您已经选择了下一个最高目录作为新工作树条目的文件夹的基础,..。您的新工作树条目将位于相对于您当前工作目录的../vscode-gitlens-demo-1

注意:要使用此选项,您必须在文件部分步骤中选择一个空文件夹(该过程中的步骤 2)。如果文件夹不为空,您将会看到一条错误消息:命令将会失败。

如何使用 Git worktree add 来添加一个与 GitLens 的工作目录名称不同的现有分支?

到目前为止,您已经使用与分支相同的名称命名了目标目录。虽然这是命名目录最常见、最不容易混淆的方式,但 Git 允许您为文件夹取一个不同于分支名称的名称。

如果您从命令面板下拉菜单中选择第三个选项:Create Worktree (directly in folder) for branch <branch-name>,您将基于您在目标文件夹中指定的分支创建一个新的工作树条目。

例如,假设您正在从insiders分支创建一个工作树条目,并希望将它放在一个名为vscode-gitlens-demo-1的目录中。我们还假设您已经选择了下一个最高目录作为新工作树条目的文件夹的基础,..。您的新工作树条目将位于相对于您当前工作目录的../vscode-gitlens-demo-1

GitLens Worktrees 仍然会在 worktree 条目列表中显示 commit-ish 的名称,不管你给文件夹起了什么名字,这样很容易跟踪你添加了哪个分支、标签或 commit-ish。

如何使用 Git worktree add 用不同于 GitLens 的工作目录的名字创建一个新的分支?

从命令面板下拉菜单中选择第四个选项:Create a New Branch and Worktree (directly in folder) from branch <branch-name>将向您显示命令面板中的一个新选项,以命名新的分支。新分支的首次提交将是您在上一步中指定的分支上的最新提交。

如何使用 Git worktree add 用不同于 GitLens 的工作目录的名字创建一个新的分支?

例如,假设您正在创建一个工作树条目,您首先创建一个名为“feature-demo”的新分支,您希望将它放在名为gitlens-feature-demo的目录中。让我们假设你在一个名为vscode-gitlens的目录中工作,并且选择了下一个最高的目录作为新工作树条目的文件夹..的基础。在这种情况下,相对于您当前的工作目录,您的新工作树条目将位于../gitlens-feature-demo

注意:要使用此选项,您必须在文件部分步骤中选择一个空文件夹(该过程中的步骤 2)。如果文件夹不为空,您将看到一条错误消息,并且命令将失败。

例如,假设您正在创建一个工作树条目,您首先创建一个名为“feature-demo”的新分支,您希望将它放在名为gitlens-feature-demo的目录中。让我们假设你在一个名为vscode-gitlens的目录中工作,并且选择了下一个最高的目录作为新工作树条目的文件夹..的基础。在这种情况下,相对于您当前的工作目录,您的新工作树条目将位于../gitlens-feature-demo

用 GitLens 给出工作树列表

GitLens UI 最好的一点是,你永远不需要运行命令来查看工作树条目列表,你只需要查看Source Control菜单的Worktrees部分。

用 GitLens 给出工作树列表

现在就启动 GitLens+特性,让可视化工作树和 Git 的其余部分变得更加容易!

用 GitLens 移除工作树

要用 GitLens 删除工作树条目,只需从列表中右击或按住 alt 键,并选择Delete Worktree…选项。

Sign up for GitLens+

用 GitLens 移除工作树

选择Delete Worktree…选项后,GitLens 会从命令面板打开Confirm Delete Worktree菜单。你可以选择Delete Worktree或者Force Delete Worktree。强制删除工作树也将删除任何未提交的更改。

如何通过命令行使用 Git 工作树列表

如果您使用的是 Git CLI ,您将无法立即看到您的活动 Git 工作树,因此您需要运行 Git 工作树列表命令来查看您的工作树条目列表。

git worktree list

输出详细信息包括:

每个工作树条目的路径

工作树条目中签出的分支的提交哈希

当前为工作树条目签出的分支的名称

如何通过命令行使用 Git work tree Add

  • 就像用 GitLens 添加新的工作树条目一样,在 CLI 中使用 Git 工作树时,有 4 种可能的场景可供选择。让我们遍历每个 Git 工作树示例。
  • 工作树条目中签出的分支的提交哈希
  • 如何在命令行中使用与工作目录同名的 Git worktree add 来添加现有分支?

git worktree add path/to/folder/<existing-branch-name>

如何通过命令行使用 Git work tree Add

就像用 GitLens 添加新的工作树条目一样,在 CLI 中使用 Git 工作树时,有 4 种可能的场景可供选择。让我们遍历每个 Git 工作树示例。

如何在命令行中使用不同于工作目录的名称对现有分支使用 Git worktree add?

虽然这个命令看起来与前面的命令非常相似,但是请注意文件路径和分支名称之间空格的使用。

git worktree add path/to/folder/ <existing-branch-name>

git worktree add path/to/folder/<existing-branch-name>

如何使用 Git worktree add 用命令行创建一个与工作目录同名的新分支?

您可以通过使用-b标志告诉 Git 创建一个新的分支。默认情况下,它将基于您当前签出的分支创建新的分支。

git worktree add -b <new-branch-name> path/to/folder/<new-branch-name>

通过在命令末尾指定您的选择,您还可以选择从另一个分支、标记或提交创建一个新分支。

git worktree add -b <new-branch-name> path/to/folder/<new-branch-name> <existing-branch-to-use-as-base>

您可以通过使用-b标志告诉 Git 创建一个新的分支。默认情况下,它将基于您当前签出的分支创建新的分支。

git worktree add -b <new-branch-name> path/to/folder/<new-branch-name>

如何使用 Git worktree add 用不同于工作目录的名字用命令行创建一个新的分支?

git worktree add -b <new-branch-name> path/to/folder/

通过在命令末尾指定您的选择,您还可以选择从另一个分支、标记或提交创建一个新分支。

git worktree add -b <new-branch-name> path/to/folder/<new-branch-name> <existing-branch-to-use-as-base>

如何通过命令行使用 Git work tree Remove

要使用 CLI 删除 Git 工作树条目,您需要指定要删除的文件夹。如果分支名称和文件夹名称不同,则不需要命名分支。

git worktree remove path/to/folder/

git worktree add -b <new-branch-name> path/to/folder/

如果该工作树的文件夹中有未提交的更改,remove 命令将失败。要克服这一点,可以使用 force 选项:-f。和使用--force一样,在覆盖 Git 的安全预防措施之前,要小心并确保知道自己在做什么。

如何通过命令行使用 Git work tree Remove

要使用 CLI 删除 Git 工作树条目,您需要指定要删除的文件夹。如果分支名称和文件夹名称不同,则不需要命名分支。

git worktree remove path/to/folder/

准备好用更简单的方法来管理 Git 工作树了吗?

你的时间是宝贵的,更不用说你的精神能量了。为什么要花时间去记忆或手动跟踪现有的工作树条目呢?为什么要不断运行 Git worktree list 命令?让 GitLens for VS Code 为您组织所有这些,并将其呈现在一个漂亮且易于理解的 UI 中。

如果该工作树的文件夹中有未提交的更改,remove 命令将失败。要克服这一点,可以使用 force 选项:-f。和使用--force一样,在覆盖 Git 的安全预防措施之前,要小心并确保知道自己在做什么。

准备好用更简单的方法来管理 Git 工作树了吗?

你的时间是宝贵的,更不用说你的精神能量了。为什么要花时间去记忆或手动跟踪现有的工作树条目呢?为什么要不断运行 Git worktree list 命令?让 GitLens for VS Code 为您组织所有这些,并将其呈现在一个漂亮且易于理解的 UI 中。

Gitflow:轻松发布管理工作流

原文:https://www.gitkraken.com/blog/gitflow

文章更新于 2020 年 9 月

Syncfusion ,我们从 2001 年开始为软件开发者开发控件和框架。随着时间的推移,随着我们产品线的扩展——从我们的第一个网格控件发展到跨各种平台的 800 多个不同的控件——我们的发布管理过程变得越来越复杂。幸运的是,Git 的出现让一切都变得简单了。

Git 是一个开源的分布式版本控制系统,它灵活易用,适合各种团队,无论团队规模有多大。为了在日常开发中采用 Git,Vincent Driessen 引入了一个名为 Gitflow 的模型来帮助简化开发和发布管理。本文假设您对 Git 及其基本术语有一定的了解。它旨在进一步描述 Vincent Driessen 的分支模型,以及他的 Gitflow 扩展如何在企业的发布管理工作流中发挥作用。

你也可以看看这个视频,它解释了 Gitflow 如何在跨平台 GitKraken 客户端中工作。

https://www.youtube.com/embed/eTOgjQ9o4vQ?feature=oembed

视频

无论您的团队依赖于哪种分支策略,GitKraken Client 都提供了卓越的 repo 可视化,因此您可以完全了解您的分支结构和提交历史。

工作流模型

Gitflow 利用了 Git 的核心特性,即分支的力量。在这个模型中,存储库有两个核心分支:

Master/Main—这是一个高度稳定的分支,它总是生产就绪,并且包含生产中源代码的最后发布版本。(出于本文的目的,我们将这个分支称为“main”)。

  1. 开发—从主分支中派生出来,开发分支作为一个分支,用于集成为即将到来的发布计划的不同特性。这个分支可能像主枝一样稳定,也可能不稳定。这是开发人员协作和合并功能分支的地方。
  2. 开发—从主分支中派生出来,开发分支作为一个分支,用于集成为即将到来的发布计划的不同特性。这个分支可能像主枝一样稳定,也可能不稳定。这是开发人员协作和合并功能分支的地方。

:前两个分支是任何项目的起点。它们非常重要,应该防止意外删除,直到项目被更好地定义。只有被授权的领导或者项目所有者应该被赋予将来自其他分支的变更合并到开发或者主分支的责任——比如我们将在后面讨论的特性分支。

除了这两个主要分支,工作流中还有其他分支:

特征—这来自开发分支,用于开发特征。

  1. Release—这也来自开发分支,但是在发布期间使用。
  2. hot fix—它来自于主分支,用于修复产品分支中在发布后发现的 bug。
  3. hot fix—它来自于主分支,用于修复产品分支中在发布后发现的 bug。

图表作者:Vincent Driessen | 原创博文 |许可:Creative Commons BY-SA

图表作者:Vincent Driessen | 原创博文 |许可:Creative Commons BY-SA

我们将详细讨论这些分支以及用于简化这些分支管理的 Gitflow 扩展。我们用于 Gitflow 扩展的命令是基于 Windows 环境的,但是其他平台也有类似的命令。您可以查看 Gitflow wiki 以获得关于支持命令的完整细节。

安装 Gitflow 扩展

尽管 GitHub 也为不同的平台提供了安装说明,但以下简化的步骤将帮助您在 Windows 上运行。

下载并安装 Git for Windows 。默认情况下,它将安装在这个目录:C:\Program Files\Git

接下来,您需要检索三个文件:来自 util-linux 包libintl3.dllexe,以及来自依赖包 libintllibiconvlibiconv2.dll。(为了便于安装,我们在这里收集并上传了所有这些文件。)

  1. 一旦有了这三个文件,将它们复制并粘贴到系统中 Git 的安装位置(即在C:\Program Files\Git\bin的 bin 文件夹中)。

  2. 接下来,克隆或下载这个库:https://github.com/nvie/gitflow

  3. 完成后,导航到名为“contrib”(gitflow-develop\contrib)的文件夹。

  4. 在管理模式下打开该目录中的命令提示符,并键入以下命令:msysgit-install.cmd "C:\Program Files\Git"

  5. 完成后,导航到名为“contrib”(gitflow-develop\contrib)的文件夹。

  6. Gitflow 将被安装和配置到您的系统中,并随时可以使用。您可以通过在命令提示符下键入git flow help来测试它。

注意 :在接下来的讨论中,我们将使用一个 示例 GitHub 库 和一个 Gitflow 扩展来演示工作流中的分支。

  1. Gitflow 将被安装和配置到您的系统中,并随时可以使用。您可以通过在命令提示符下键入git flow help来测试它。

在存储库中设置 Gitflow

当开始一个项目时,你不会有任何代码文件。没问题,只需创建一个带有空目录的 Git 存储库。完成后,您可以在系统中克隆您的存储库。在这个例子中,我们使用了一个示例 GitHub 存储库,但是这个过程适用于任何 Git 存储库。

使用 Windows 命令提示符克隆系统中的分支:

切换到以下目录:

  1. 初始化此存储库中的 Gitflow:
git clone https://github.com/bharatdwarkani/gitflow-example.git
  1. 您将收到一条消息,说明不存在分支,并提示您使用通用分支名称。如果不想更改默认分支名称,请按 enter 键继续。完成后,您将在存储库中初始化一个 Gitflow 扩展。

    注意 :每个开发人员都必须为他们在系统中克隆的任何存储库完成这个过程。它不限于新的存储库;它也可以用于现有的存储库。

cd gitflow-example
  1. 主分支和发展分支
git flow init

主分支和开发分支构成了 Git 中任何存储库的基础。主分支包含生产中的代码版本,而开发分支包含即将发布的版本。在命令提示符下执行以下命令,检查系统中的主分支。

将提示您输入用户名和密码;输入它们以继续。接下来,您需要将 develop 分支推送到远程存储库(即从您的系统与 GitHub 同步)。因为 develop 分支只在您的本地机器上,所以必须通过执行以下命令将它移动到远程存储库中。

现在您已经有了一个包含从本地机器上复制的 main 和 develop 分支的存储库。只有当您第一次从头开始一个项目时,才需要这样做;否则,您可以使用以下分支之一。

特征分支

git checkout main
git push -u origin main

特征分支从开发分支分离,并在特征完成后合并回开发分支。这个分支的常规命名以feature/*开始。这个分支主要由与团队合作的开发人员创建和使用。特性分支的目的是在一个项目中开发一个特性的小模块。

git checkout develop
git push origin develop

您可能想知道为什么开发人员不能直接从开发分支工作。为什么他们需要分支到一个功能分支?为了解释这一点,考虑这样一个场景:您正在开发一个特性,但是管理层决定放弃这个特性,因为它不再需要或者实现它的可行性降低了。

那时候,如果你直接在开发分支工作,会产生很多冲突,可能会破坏现有的代码。此外,为此,您需要手动删除或注释掉代码。

相反,如果您从一个单独的特性分支中分支出来,您可以悄悄地丢弃和删除那个分支,而不会影响开发分支。这不仅有助于开发需要反复试验技术的特性,而且通过使用单独的分支,您还可以在开发分支中获得额外的稳定性,因为来自特性分支的代码在合并到开发分支之前要经过几个级别的代码审查和质量评估。

一旦特性分支与开发分支合并,它的生命周期就结束了。如果多个开发人员或团队在同一个特性上工作,他们通过在一个共同的特性分支上工作更容易协作。

以下步骤显示了如何在 Windows 命令提示符下使用 Gitflow 扩展创建和发布功能分支。

克隆一个存储库:

启动功能分支(功能分支的名称将是功能的名称;我们在这个例子中使用的是feature1 )。

执行之后,feature1分支被创建,但是它只存在于您的系统中,在远程 GitHub 存储库中不可用。现在您可以继续您的开发,添加文件和修改代码。当您完成这个特性时,您可以将它提交到您的本地系统,稍后再将它推送到远程存储库。

完成后,可以检查新添加或修改的文件的更改状态。

  1. 以下命令将特征发布到远程存储库。
git clone https://github.com/bharatdwarkani/gitflow-example.git
cd gitflow-example
git checkout develop
git flow init
  1. 如果您签入远程存储库,将会创建一个名为feature/feature1的分支。
git flow feature start feature1

注意 :在命令提示符下,你使用的分支名称是feature1,但是 Gitflow 会自动添加一个命名前缀(feature/branch ) 作为约定。在 Git 命令中指定分支名称时,需要使用完整的分支名称(feature/feature1),但是在 Gitflow 命令中不需要指定通用前缀(feature/)。

  1. 一旦一个特性完成并且代码已经被检查,您可以通过发出下面的命令来完成您在一个分支中的工作。在执行时,代码将自动合并到开发分支,而特性分支将从远程存储库中删除。
git status
git add .
git commit -am "Your message"
  1. 如果需要删除一个分支,可以执行:git branch -d feature/feature1
git flow publish feature1
git push 

如果您签入远程存储库,将会创建一个名为feature/feature1的分支。

注意 :如果多个开发人员正在协作开发一个特性,他们需要按照前面的步骤进行克隆,但有一点需要注意:其中一个开发人员必须创建并发布一个特性分支,这个分支可能是空的,这样其他人就可以协同工作。如果一个新的开发人员需要工作,他或她可以通过修改下面的命令来遵循相同的过程。

  1. git flow feature track feature1 代替 git flow feature start feature1
git flow finish feature1
  1. 除此之外,还有一个分支叫做bugfix 它有一个类似于feature分支的工作流程,但是它是用来修复一个 bug 的。

发布分支

发布分支源自开发分支,并在发布完成后合并回开发和主分支。按照惯例,这个分支的命名以release/*开头。当版本化版本的功能完成并最终确定时,将创建并使用此分支。

为什么不能直接从 develop 分支发布?因为发布分支的唯一目的是从即将到来的版本中分离出一个最终的但是需要一些质量支持和稳定性的版本。如果我们从发布分支中分支出来,那么被指派为即将到来的发布开发特性并且不参与发布稳定性过程的其他开发人员可以继续开发,并且将他们的特性合并到开发分支中,而不需要等待或者影响当前的发布过程。发布分支有助于隔离即将到来的版本和当前版本的开发。

当项目的特定版本发布时,发布分支的生命周期就结束了。一旦这个分支合并到 develop 和 main 分支中,它就可以被删除。一旦你完成了这些,你就可以用一个特定的发布版本来标记一个主分支——比如说v1.0—来创建一个历史里程碑。

以下示例解释了如何在命令提示符下使用 Gitflow 扩展创建和发布发布分支。

启动一个发布分支。

提交新添加或修改的更改,并推送到远程存储库。

将更改合并到开发分支。

发布后,将变更合并到主分支。

-或者-

  1. Start a release branch.
git checkout develop
git pull
git flow release start release1
  1. 修补程序分支
git add .
git commit -am "Your message"
git flow publish release1
git push
  1. 修补程序分支是从主分支派生出来的,在完成后合并回开发和主分支。按照惯例,这个分支的名称以hotfix/*开头。这个分支是在产品的特定版本发布后创建和使用的,为产品版本提供关键的错误修复。
git checkout develop
git merge release/release1
  1. 我们这样做的原因是,当从开发分支分支出来时,您可能面临的一个问题是,当您处于当前版本的中间时,您的一些开发人员可能已经开始为即将到来的版本工作了。您的版本将包含下一版本的特性,这些特性还没有最终确定,但是您只需要提供当前版本的错误修复。您可以从主分支中分支出来,而不是从开发分支中分支出来,因为该分支只包含生产中代码的当前版本。这样,从主分支分出的分支不会影响产品的生产或开发版本。
git checkout release/release1
git pull
git flow release finish release1

一旦当前生产版本的关键修补程序发布并与主分支和开发分支合并,就可以删除修补程序分支。一旦你完成了这些,你就可以再次用发布的迭代版本来标记主分支;先说v1.1

git flow release finish -m "Your message" "release1"
git checkout main
git push --all origin

这个例子展示了如何在命令提示符下使用 Gitflow 扩展创建和发布hotfix1分支。

启动新的热修复分支,并在修改后提交更改。

将分支发布到远程存储库。

git flow publish hotfix1 将更改合并到远程存储库。

-或者-

注意 :所有以 git flow 开头的命令都是基于 git flow 扩展的。实际的 Git 命令中没有流关键字。它们只以“ git 开头。

  1. 启动新的热修复分支,并在修改后提交更改。
git checkout develop
git flow hotfix start hotfix1
git status
git add .
git commit -am "Your message"
  1. 使用 GitKraken 客户端简化 Gitflow
  2. 通过使用 Gitflow 扩展,Gitflow 模型有助于更好地管理和组织发布。感谢 Vincent Driessen 提出 Gitflow 并提供一个扩展来帮助简化企业级版本的管理工作流。
git flow hotfix finish hotfix1 

如果您选择完全接受 Gitflow order 的租户,您可以将它们与传说中的跨平台 GitKraken 客户端、一起使用,该客户端旨在帮助将 Git 转化为人类术语,以便开发人员可以更有信心地进行编码。

git flow hotfix finish -m "Your message" "hotfix1"
git status
git checkout main
git push --all origin

掌握 Git 的全部功能需要时间,所以你可能会从类似于《Git 简洁地》 和《GitHub 简洁地》 的书籍中受益。还可以考虑查看 GitKraken 的全面的 Git 教程视频库,包括初级、中级和高级 Git 概念。

GitKraken 客户端已经发展到可以应对新的挑战,它具有 GitKraken CLI 等高级功能,这是一种 Git 增强的终端体验,具有 Git 命令的自动完成和自动建议功能。

通过使用 Gitflow 扩展,Gitflow 模型有助于更好地管理和组织发布。感谢 Vincent Driessen 提出 Gitflow 并提供一个扩展来帮助简化企业级版本的管理工作流。

如果您选择完全接受 Gitflow order 的租户,您可以将它们与传说中的跨平台 GitKraken 客户端、一起使用,该客户端旨在帮助将 Git 转化为人类术语,以便开发人员可以更有信心地进行编码。

掌握 Git 的全部功能需要时间,所以你可能会从类似于《Git 简洁地》 和《GitHub 简洁地》 的书籍中受益。还可以考虑查看 GitKraken 的全面的 Git 教程视频库,包括初级、中级和高级 Git 概念。

GitKraken 客户端已经发展到可以应对新的挑战,它具有 GitKraken CLI 等高级功能,这是一种 Git 增强的终端体验,具有 Git 命令的自动完成和自动建议功能。

GitHub Actions for Azure |自动化 for Azure

原文:https://www.gitkraken.com/blog/github-actions-for-azure

这篇文章是由客座作者 Nahla Davies 写的。Nahla 自 2010 年以来一直在软件领域工作,自 2019 年以来一直是一名技术作家。她曾在一家拥有 5000 家公司的体验式品牌机构担任首席程序员,该机构的客户包括三星、时代华纳、网飞和索尼。

Microsoft Azure 在开发人员和组织中广受欢迎,因为它具有可伸缩性、灵活性和可定制性。微软没有与之对抗,而是通过提供一种新的方式来自动化开发和部署 Azure 的 GitHub Actions,拥抱开源运动。

GitHub Actions 是一个工具,允许团队自动化软件开发工作流,与 Azure 管道和您的定制需求一起工作。开发人员可以在他们的存储库中创建工作流,从 GitHub 到 Azure 构建、测试、打包、发布和部署任何项目,而无需手动输入。这个过程有助于使开发和交付更加智能和高效,以便您的团队可以专注于开发优秀的代码,而不是处理重复的手动任务。

GitHub Actions 还能做什么?具体是怎么运作的?本指南将回答这些问题以及更多问题。

GitHub 操作的核心元素

在开始使用 GitHub Actions for Azure 之前,尤其是如果你不熟悉后端工作流自动化,你应该熟悉以下 GitHub Actions 语法。

  • 工作流程
  • 事件
  • 乔布斯
  • 行动
  • 滑行装置

让我们更深入地了解一下这些元素的含义。

工作流程

工作流是运行一个或多个作业以简化测试、开发和交付的自定义自动化流程。它们是由存储库中的 YAML 文件定义的,只要被事件触发,这些文件就会运行。这些触发器可以是自动事件,也可以是手动触发器,甚至可以按照循环计划来定义。

每个存储库可以有多个工作流,为您的团队执行各种任务。一个工作流可以帮助构建和测试 pull 请求,另一个工作流可以在用户打开新问题时添加标签,而另一个工作流可以用于在发布自动可用时部署应用程序。

事件

当谈到 Azure 中的 GitHub 动作时,事件就是触发工作流运行的东西。事件可以是您在存储库中指定的任何活动,用于触发工作流中的一组作业。当您选择的一个事件发生时,您触发的活动将根据您的独特配置来自 GitHub。

有数不清的事件可以用来执行重要的工作流,例如当用户打开一个问题、创建一个新的“拉”请求或向存储库提交一个提交时。事件也可以是时间表的形式。当达到某个日期、时间或发展里程碑时,您计划的工作流将运行。

滑行装置

在我们深入讨论之前,讨论跑步者是很重要的。运行程序是运行触发的工作流的服务器,每个运行程序一次只运行一个作业。GitHub 为 Azure 提供了 runners,这样每个工作流都在一个干净的虚拟机中运行。

对于更复杂的配置,您可以利用 GitHub 提供的更大的滑道。或者,您也可以托管自己的跑步者来创建自定义配置。Runners 有点超出了本文的范围,但是它们在运行 GitHub 动作中起着至关重要的作用。

乔布斯

作业是指在同一运行器上执行的工作流中的步骤。每个作业描述一个要执行的 shell 脚本或一个在事件触发工作流时运行的操作。一旦事件通知工作流开始,它将根据您的配置开始运行每个作业。换句话说,每一步都依赖于另一步,因此它们将按照依赖关系的顺序执行。

默认情况下,作业并行运行,因此您必须配置每个作业的依赖关系,以便在正确的时间执行操作。例如,假设您正在处理多个没有依赖关系的构建作业。这些作业将同时并行运行。但是,如果您有一个依赖于构建作业的打包作业,它将在其依赖项完成时运行。

行动

现在,我们来谈谈行动。GitHub Actions 是帮助开发团队执行频繁重复任务的定制应用程序。与其他常见的工作流自动化不同,GitHub 动作可以执行复杂的任务,以简化您的构建和部署过程。您可以为定制的体验编写自己的操作,也可以从 GitHub Marketplace 中选择操作。

对于 Azure 环境,操作可以做的事情有许多种可能性。例如,您可以使用 Actions 从 GitHub 获取 git 库,或者为您独特的构建环境建立最佳工具链。您甚至可以使用 GitHub 操作进行管理,比如为您的云提供商设置认证协议。

为 Azure 使用 GitHub 操作

现在你已经知道了 GitHub 动作的基础,让我们讨论一下如何在 Azure 中有效地使用它。当谈到 Azure 的操作时,你只受到项目需求的限制。您的团队可以通过多种方式利用 Azure 环境中的自动化操作。

让我们来看看 GitHub Actions 与 Azure 配合使用的几种方式:

Actions

连接 GitHub Actions 和 Azure

将 GitHub Actions 连接到 Azure 所要做的就是使用一个服务主体。或者,您可以发布一个配置文件,通过 GitHub 连接到 Azure。每次使用 Azure 登录操作时,您都必须使用服务主体,但是您可以将它用于 Azure 的大多数操作,以简化您的任务。

从 Azure 到 GitHub 进行身份验证

您还可以使用 PowerShell 和 CLI 的 Azure 登录,在 GitHub 操作工作流中与您的 Azure 资源进行交互。有两种不同的方法可供选择。您可以通过带有秘密的服务主体或 OpenID Connect 进行身份验证。

让我们来看看 GitHub Actions 与 Azure 配合使用的几种方式:

将应用从 GitHub 部署到 Azure

通过应用服务部署中心,可以很容易地将应用从 GitHub 部署到 Azure。这种方法将根据您的 sack 自动生成一个工作流,并将其正确地提交到您的存储库中。或者,您可以使用手动工作流将应用程序从 GitHub 部署到 Azure。

将 GitHub Actions 连接到 Azure 所要做的就是使用一个服务主体。或者,您可以发布一个配置文件,通过 GitHub 连接到 Azure。每次使用 Azure 登录操作时,您都必须使用服务主体,但是您可以将它用于 Azure 的大多数操作,以简化您的任务。

将数据库从 GitHub 部署到 Azure

你也可以将数据库从 GitHub 部署到 Azure。可以使用操作将数据库部署到 Azure SQL、Azure MySQL 和 Azure Database for PostgreSQL。每个数据库都有自己的部署方法和操作,使部署过程变得快速而简单。

您还可以使用 PowerShell 和 CLI 的 Azure 登录,在 GitHub 操作工作流中与您的 Azure 资源进行交互。有两种不同的方法可供选择。您可以通过带有秘密的服务主体或 OpenID Connect 进行身份验证。

对 GitHub 操作使用变量替换

变量替换操作可用于替换配置和参数文件中的值。例如,您可以使用这些操作在工作流运行期间将类似于 GitHub secrets 的值插入到文件中。只要变量被定义为环境变量或者以其他方式可用,变量替换操作就可以在 Azure 上运行。

通过应用服务部署中心,可以很容易地将应用从 GitHub 部署到 Azure。这种方法将根据您的 sack 自动生成一个工作流,并将其正确地提交到您的存储库中。或者,您可以使用手动工作流将应用程序从 GitHub 部署到 Azure。

使用 GitHub 管理 Azure 策略

GitHub Actions 也为团队提供了各种管理 Azure 策略的方法。例如,您可以使用 GitHub 操作从 Azure 导出 Azure 策略,通过 GitHub 将 Azure 策略作为代码进行管理,甚至触发 Azure 合规操作来简化开发生命周期的每个阶段。

你也可以将数据库从 GitHub 部署到 Azure。可以使用操作将数据库部署到 Azure SQL、Azure MySQL 和 Azure Database for PostgreSQL。每个数据库都有自己的部署方法和操作,使部署过程变得快速而简单。

使用 GitHub Actions 和 Azure 构建自定义虚拟机映像

如果你想要一个真正定制的体验,你可以创建一个工作流来使用 GitHub Actions for Azure 构建一个虚拟机镜像。为了加快 CI/CD 流程,您可以使用工作流中的工件创建自定义虚拟机映像,这些工件可以分发到共享映像库中。

变量替换操作可用于替换配置和参数文件中的值。例如,您可以使用这些操作在工作流运行期间将类似于 GitHub secrets 的值插入到文件中。只要变量被定义为环境变量或者以其他方式可用,变量替换操作就可以在 Azure 上运行。

如何用 GitHub 动作定制你的 Azure 工作流

使用 GitHub Actions for Azure 的好处之一是工作流的可能性几乎是无限的。您可以查看 GitHub Marketplace,找到要添加到工作流中的操作,使用存储库中的操作,或者引用 Docker Hub 上的容器。

以下是如何找到并定制动作:

从 GitHub Marketplace 添加操作

如果你刚刚开始使用 GitHub Actions for Azure,你的第一站应该是 GitHub Marketplace。在工作流编辑器中工作时,导航到边栏以查找新操作。您可以搜索特定操作或浏览特色操作和类别。您还会看到一个星级,以便您可以只找到要添加到 Azure 工作流中的最佳操作。

向存储库添加操作

如果您的存储库中已经有了一组操作,您可以简单地将操作添加到您在工作流编辑器中正在处理的任何内容中。你所要做的就是用这些语法路径之一来引用这个动作:‌ {owner}/{repo}@{ref}./path/to/dir

如果您想要的动作是在工作流文件之外的公共存储库中定义的,请使用以下语法引用该动作:{owner}/{repo}@{ref}

以下是如何找到并定制动作:

引用 Docker Hub 上的容器

最后,您还可以添加一个容器动作到您的工作流中。如果您在发布到 Docker Hub 的 Docker 容器映像中定义了一个动作,您应该使用以下语法引用该动作:docker://{image}:{tag}

但是,在将任何操作引用到工作流文件之前,请确保在将代码引入到您的环境中之前验证代码是安全的。

将你的知识付诸行动

现在你已经有了一个关于 GitHub Actions for Azure 的速成班,是时候把它付诸实践了。您的团队有许多方法可以使用行动来加速开发和交付过程。首先看看我们在文章中提到的 GitHub Actions 对 Azure 的一些使用;然后,您可以开始定制自己的操作和工作流,以获得量身定制的 Azure 体验。

如果您的存储库中已经有了一组操作,您可以简单地将操作添加到您在工作流编辑器中正在处理的任何内容中。你所要做的就是用这些语法路径之一来引用这个动作:‌ {owner}/{repo}@{ref}./path/to/dir

如果您想要的动作是在工作流文件之外的公共存储库中定义的,请使用以下语法引用该动作:{owner}/{repo}@{ref}

引用 Docker Hub 上的容器

最后,您还可以添加一个容器动作到您的工作流中。如果您在发布到 Docker Hub 的 Docker 容器映像中定义了一个动作,您应该使用以下语法引用该动作:docker://{image}:{tag}

但是,在将任何操作引用到工作流文件之前,请确保在将代码引入到您的环境中之前验证代码是安全的。

将你的知识付诸行动

现在你已经有了一个关于 GitHub Actions for Azure 的速成班,是时候把它付诸实践了。您的团队有许多方法可以使用行动来加速开发和交付过程。首先看看我们在文章中提到的 GitHub Actions 对 Azure 的一些使用;然后,您可以开始定制自己的操作和工作流,以获得量身定制的 Azure 体验。

Now that you’ve had a crash course on GitHub Actions for Azure, it’s time to put it into practice. There are many ways that your teams can use Actions to speed up development and delivery processes. Start by checking out some of the uses for GitHub Actions for Azure we mentioned here in the article; then, you can start customizing your own actions and workflows for a tailor-made Azure experience.

GitHub 添加 SSH 密钥|如何给 GitHub 添加 SSH 密钥?

原文:https://www.gitkraken.com/learn/git/problems/github-add-ssh-key

如果你还不熟悉, SSH 或 secure shell 是一种网络协议,它允许你安全地加密你通过互联网从本地计算机推送到服务器的任何数据。

GitKraken 使得生成新的 SSH 密钥并将它们添加到 GitHub 的过程变得简单、安全和直观。

GitHub 如何添加 SSH 密钥

为什么要给 GitHub 添加 SSH 密钥?每次从 GitHub 存储库中推送和提取更改时,不需要使用用户名和密码,而是可以使用 SSH 密钥。

在 Git 中使用 SSH 密钥很方便,因为它们避免了记住复杂密码的需要,但是您可以使用非常长的安全密码来保护您的帐户。SSH 密钥的工作方式就像只有您拥有的实际物理密钥一样。

GitHub 在 GitKraken 中添加 SSH 密钥

如果您正在使用 GitKraken 的健壮的 GitHub 集成,您将能够从 GitHub 提供到您现有的 SSH 密钥对的路径,或者要求 GitKraken 为您生成一个新的 SSH 密钥对。

要开始向 GitHub 添加 SSH 密钥,您需要首先连接 GitKraken 的 GitHub 集成。您可以通过点击齿轮⚙️图标访问您的PreferencesIntegrationsGitHub来完成此操作。接下来,点击Connect to GitHub

这将打开您的默认浏览器到 GitHub.com,在那里您将完成 GitHub 集成过程。

在 GitKraken 中成功连接 GitHub 集成后,就可以在 GitKraken 中点击Generate SSH key and add to GitHub。几秒钟后,GitKraken 将自动生成一个新的 SSH 密钥,并将其添加到您的 GitHub.com 帐户中!

如果在 GitKraken 中没有使用 GitHub 集成会怎样?永远不要害怕;您仍然可以在 GitKraken 中使用 SSH 连接到 GitHub。为此,您将再次点击齿轮⚙️图标来访问您的PreferencesSSH。从这里,你可以浏览到你已经有的一个现有的 GitHub SSH 密钥,或者你可以点击Generate让 GitKraken 给 GitHub 添加一个 SSH 密钥。

为 GitHub 创建 SSH 密钥后,您需要手动将其添加到您的 GitHub.com 帐户中。要添加 SSH 密钥,您需要在浏览器上导航到 GitHub.com 并登录。接下来,点击你右上角的头像,进入SettingsSSH and GPG keysNew SSH key

接下来,您将从 GitKraken 复制您的公共 SSH 密钥,并粘贴到 GitHub 帐户中上面显示的Key字段中,以及在Title中最有意义的任何标题。

ProTip:可以在 GitKraken 中点击Copy file contents to clipboard按钮,快速方便地将整个 SSH 密钥复制到 GitHub 中。

TitleKey字段中添加信息后,点击 GitHub 中的Add SSH Key,完成将 SSH 密钥添加到 GitHub 的过程。就这么简单!

GitKraken 的安全 GitHub 集成使快速向 GitHub 添加 SSH 密钥以安全加密您的数据变得清晰而方便。

GitHub 在 CLI 中添加 SSH 密钥

要开始使用 CLI 向 GitHub 添加 SSH 密钥,您将打开您选择的终端,如 GitKraken CLI

接下来,您将使用以下命令,使用与您的 GitHub 帐户关联的电子邮件。

ssh-keygen -t rsa -b 4096 -C “you _email@example.com”

但是,如果您喜欢使用更新的Ed25519算法来添加 GitHub SSH 密钥,您可以使用:

ssh-keygen -t ed25519 -C “your_email@example.com”

然后 Git 会抛出几个提示。首先是选择文件位置。它应该是这样的:

Enter file in which to save the key (/c/Users/alexl/.ssh/id_rsa): 

从这里,您可以点击Enter来接受默认位置。或者,如果在默认位置已经有一个 SSH 密钥,系统会询问您是否要覆盖 GitHub 中使用的现有 SSH 密钥。

您将看到的下一个提示是输入与 GitHub 相关的 SSH 密钥的密码。它应该是这样的:

Enter passphrase (empty for no passphrase) 

您可以单击此处的Enter跳过添加密码短语。

几秒钟后,您将看到您的新 SSH 密钥已经生成!下面的例子是用用户alexl在 Windows 10 上给 GitHub 添加一个 SSH 密钥。

现在,您可以浏览到之前指定的文件位置,找到您的公共和私有 SSH 密钥。以下是 Windows 计算机上默认位置的一个示例:

生成 SSH 密钥后,您需要手动将 SSH 密钥添加到您的 GitHub.com 帐户中。你可以去 GitHub.com,登录,然后点击右上角的你的账户头像。这将带您到Settings,然后您可以导航到SSH and GPG keysNew SSH key

接下来,您将打开您的公共 SSH 密钥文件(本例中的.pub文件),突出显示所有文本,并将文本复制/粘贴到 GitHub 中上面显示的Key字段中。

最后,您将点击Add SSH Key来完成向 GitHub 添加 SSH 密钥的过程。

GitHub All In 程序| git kon 2022 | Demetris Chea tham,GitHub

原文:https://www.gitkraken.com/gitkon/github-all-in-program-demetris-cheatham

https://www.youtube.com/embed/HX4_Xii4bh0?feature=oembed

视频

2021 年,GitHub 推出了 All In ,这是一个专注于在开源领域推进多样性、包容性和公平性的社区。通过与更大的开源社区(包括企业合作伙伴、行业领袖、研究人员和基金会)携手合作,他们能够通过 GitHub All In 计划取得一些令人难以置信的成就:

  • 1,000 多名社区成员
  • 17 个创始合伙人
  • 7 个教育机构合作伙伴
  • 有 30 名学生的首届学生群体

GitHub All In 计划学生群组

GitHub All In 计划的第一批学生与历史上资源不足的大学合作,参加了为期 12 个月的试点课程。

GitHub 学生计划的目标是让学生接触开源软件,并提供一条途径来参与 GitHub All In 计划公司合作伙伴的实习计划。

在第一组学生中,超过 90%的人接受了实习机会。

GitHub All In Program 大学合作伙伴

为了确保该计划支持不同生活经历的学生,GitHub 与系主任和教授密切合作。他们不想排除那些因为负担不起住房而不得不花两个小时通勤到校园的学生,或者提供护理支持的学生,或者有全年体能训练要求的学生运动员。

通过与大学的合作,GitHub All In 计划能够为学生提供津贴、技术资源、更好的技术教育、职业发展等。

面向维护人员的 GitHub All In 程序

同样在 2021 年,GitHub 为维护者推出了All in,这是一项专注于为寻求促进社区多样性和包容性的维护者提供培训和技术支持的计划。

作为这个项目的一部分,GitHub 进行了维护者的倾听之旅,强调了开源社区解决影响包容性的持久主题的紧迫性。

参观的结果显示了维护者请求支持的关键领域,包括 DEI 资源和工具的集中存储库,以吸引具有不同背景的贡献者。

GitHub All In 计划的下一步是什么

GitHub 期待在他们的第一个 GitHub All In student 群组、维护者的听力之旅和开源 DEI 调查的成功基础上,继续拥抱开源中的多样性和包容性。

了解更多关于 GitHub All In program 的信息,以及您如何参与扩展开源的多样性、包容性和公平性。

GitKraken 客户端对于使用 GitHub 的开源开发者来说是完美的,它为 pull 请求提供了强大的 GitHub 集成。另外,它对公共存储库是免费的!

利用 GitHub Analytics 的力量改善团队

原文:https://www.gitkraken.com/gitkon/github-analytics

https://www.youtube.com/embed/grxnerhcZKw?feature=oembed

视频

在 2021 年 GitKon Git 大会上,康卡斯特杰出的工程师 Leslie Chapman 分享了她利用 GitHub 分析和使用数据扭转一个苦苦挣扎的团队的故事。

观察过程

在过去的 20 年里,Leslie 帮助 Comcast 为客户提供交互式解决方案,使他们能够通过遥控器与他们的有线电视盒进行交互。在 Comcast 内部,这被称为 X1 平台,目前为超过 3500 万客户提供服务。作为一名杰出的工程师,Leslie 的很大一部分职责是观察流程和系统,以便提出改进建议。她的目标是让同事们的工作更加轻松愉快,同时提高产品质量。

Leslie 目前的团队交付 Comcast 的 Xfinity 应用程序,作为专注于交付 Android、iOS 应用程序和其他领域的子团队,在两周的发布周期内工作。团队每隔一周在周五创建发布分支。一些从事产品工作的子团队在发布周的早期有一个早期的代码冻结,有时团队会一直进行修改,直到最后一刻。

当 Leslie 团队中的开发人员准备好 Git merge 时,他们提出一个 pull 请求,然后在一个代码评审 Slack 通道中链接到该 pull 请求。这使得整个团队都可以看到变更,而不仅仅是小团队,这有助于众包评审者及时地通过那些拉取请求。

当 Leslie 第一次加入这个团队时,监视这些 Slack 通道让她对代码有了很多了解,但也让她了解了团队是如何协作的。她注意到有些人只是粘贴 GitHub pull request 链接,而其他人也会围绕这些变化提供一些评论。一旦有人在 GitHub 上给了+1 分,表示同意公关,他们通常会在 Slack 频道上回复一个“同意”的表情符号。

在 GitKraken 客户端中,您不仅可以创建 GitHub pull 请求,您和您的团队还可以编辑 GitHub PRs,包括添加注释、关联构建状态、合并和批准 pull 请求,而无需离开该工具。

一些早期的预感

Leslie 马上注意到的一件事是,他们的 Android 存储库在 GitHub 中只需要一个+1。她立即将此作为危险信号提出。她发现,虽然团队只在 GitHub 中执行了+1,但还有一个口碑“+ 2”步骤需要完成,但在 GitHub 中是看不到的。

她一直和各个级别的工程师交谈,从初级到高级,看看他们喜欢和不喜欢他们的代码评审过程。初级工程师的一些反馈是,人们没有在评论中添加足够的评论。回头看看 Slack 通道,她意识到有些人在 Slack 通道中添加了很多上下文,但不是在 Git pull 请求本身中。

初级工程师还报告说,他们觉得没有时间查看拉动式请求中的反馈,因为他们获得批准的速度太快了。人们觉得在一个发布分支被砍掉的前一天让他们的 PRs 被批准只是一个疯狂的举动。

Leslie 听到的最有争议的反馈是关于“团队内”和“非团队内”的评审,其中一些人强烈认为评审应该只由他们工作团队中的人完成,认为他们应该是唯一被允许维护和支持代码的主题专家。其他人强烈地感觉到,让团队之外的人进行代码审查是很重要的,这允许他们对代码有新的看法,并了解另一个团队正在做的可能影响未来功能工作的事情。

莱斯利对如何改善这种情况有一些预感,但她所有的都是猜测,正如你可能知道的那样,工程师不会因为猜测而改变系统和流程。她需要数据来支持这些理论。幸运的是,GitHub 有一套 API,它们都有很好的文档记录,并且易于使用。

使用 Git 和 GitHub Analytics 回答问题

莱斯利有些问题需要很难回答:

  • 人们真的在我们的 android 回购中获得了+2 还是他们正在与+1 融合?
  • 平均代码评审真正开多久?
  • 在创建发布分支的前一天,我们会合并更多的内容吗?
  • 我们在代码审查中留下了多少评论?

深入 GitHub API 意味着 Leslie 能够遍历每个回购中的提交列表。她对提出拉取请求的时间和合并发生的时间之间的差值感兴趣,这让她了解到项目需要多长时间进行评审。通过遍历 Git 提交的列表,也很容易看到平均一个 pull 请求中有多少评论。

坦率地说,这不是一个完美的过程。这种调查方法不能洞察人们实际上花了多长时间进行审查,只能洞察在合并之前拉请求处于审查状态的时间。由于这只是一个小实验,她也没有减去正常工作时间,正常工作时间因团队而异,因为开发人员在不同时区的办公时间也不同。

这种方法的另一个警告是 Git cherry picks ,这在 Leslie 评估的工作流中很常见,通常花费很少的时间,并且在审查时需要更少的审查。这意味着精选可能会扭曲 GitHub 指标,如果考虑进去的话,显示评论花费的时间会更少。

GitKraken Client 是 Git 工具的完美范例,它已经发展到可以应对新的挑战,具有交互式拉请求管理、合并冲突检测和解决、深度链接等高级功能。

GitHub 分析显示了什么?

Leslie 能够确定绝大多数拉取请求在提出后的 24 小时内被合并,但也有一些在 30 分钟内被合并。总的来说,这看起来很健康,因为团队及时地结束了事情,GitHub 的数据似乎没有显示他们只是在审核上盖章。

然而,看看每周一天的评论就知道了不同的故事。周四是评论高峰,就在发行分支被砍掉之前。这是一个显著的峰值,大约占团队合并总数的 40%。这不是一幅美丽的画面。当她查看那些周四审查的关闭时间的增量时,它危险地倾向于在不到一个小时内完成大多数 PRs 审查。她觉得那不对劲。

她看到的最后一个数据点是关于评论的。团队平均每个拉取请求有两到三个评论。这是在考虑了很少有评论的樱桃选择之后。这可能意味着,如果初级开发人员没有机会审查反馈,反馈就会丢失。

GitHub Analytics 推动的变革

正式+2

她解决的第一件事是更新 Android repo,要求一个正式的“+2”,可以在 GitHub 中跟踪。因为没有办法通过数据证明人们坚持得到“+2”的口碑知识,这使得更容易说服团队需要这一正式步骤。每个人都同意安全总比后悔好。

The first thing she addressed was updating the Android repo to require a formal “+2” that could be tracked in GitHub. Because there was no way to prove through data that people were adhering to the word-of-mouth knowledge of getting a “+2,” this made it easier to convince the team that this formal step was needed. Everyone agreed it was better safe than sorry.

质量高于速度

GitHub 指标显示,在他们的发布周期结束时,事情很仓促,他们没有时间进行尽职调查。就团队文化而言,所有团队都进行了有意义的变革。鼓励所有开发人员在本周早些时候观察软代码冻结。从社会角度来说,所有的开发人员都清楚,坚持围绕质量的政策比在最后一分钟加入一些东西来适应两周的发布周期更重要。他们的短距离冲刺意味着不需要太长时间就能赶上下一辆发布车。

The GitHub metrics showed that at the end of their release cycles, things were being rushed and they didn’t have time for due diligence. Meaningful changes, in terms of team culture, were made across all of the squads. All devs were encouraged to observe a soft code freeze earlier in the week. Socially, it was made clear to all the developers that it’s more important to adhere to policies around quality over getting something in at the last minute just to fit within the two-week release cycle.  Their short sprints meant it wouldn’t take forever to catch the next release vehicle.

审核的代码所有者

下一个要解决的问题是标准化团队内部和团队外部的评审。为了解决这个问题,他们开始使用 Git 代码所有者文件。在这个工作流中,开发人员创建一个名为CODEOWNERS的文件,并将其提交到一个目录或 Git 库的基础中。这允许关于谁必须审查拉取请求的规则。

例如,对于某个存储库,有一个人员列表,至少需要列表中的一个人来批准 PR。您可以更细化,要求存储库中不同的包有特定的评审者。这确保了正确的主题专家(SME)审查给定的特性,但仍然允许不在批准者列表上的任何人也给予批准。这满足了两个阵营,那些想要团队内和团队间评审的人。

重复性

这种 GitHub 数据驱动的方法最棒的一点是,Leslie 可以在 6 个月内再次运行完全相同的脚本,并在 12 个月内再次运行,以查看她的团队是否在流程改进方面取得了有意义的进展。

Repeatability

Git 数据和职业发展

莱斯利在康卡斯特的另一个重要角色是指导。虽然这有许多不同的形式,每种关系也各不相同,但学员们通常都有一个共同点,那就是渴望获得一次出色的年终考核。好消息是,您可以使用 Git 和 Git repository 托管服务工具来实施一个解决方案,以跟踪您作为团队以及个人的个人和职业发展进度。

莱斯利的建议是,你应该在年终回顾和评估中尽可能彻底。大多数人几乎不记得他们自己在评估年开始时做了什么,所以你的经理,一个有十几个或更多员工的人,几乎不可能记住你一整年做了什么。提醒他们是你的工作。

虽然吹嘘自己有多棒可能会让人觉得恶心,但没人会为你这么做。通过告诉你的经理你有多棒来讲述你的故事,告诉他为什么你应该得到加薪或升职。虽然谈论你所做的超出你当前工作描述的事情是很好的,但底线是证明你确实在做你当前的工作描述。

Leslie’s advice is that you should be as thorough as possible in your end-of-year reviews and assessments. Most people can barely remember what they themselves did at the beginning of their review year, so there’s very little chance your manager, who has a dozen or more employees, will have committed to memory what you did all year. It’s your job to remind them.

使用 GitHub Analytics 进行年度评估

对于大多数工程师来说,做这项工作的基础就是代码。无论这意味着编写代码、审查代码并在发现问题时提出问题,还是其他特定于代码的工作,Git data 都可以提供帮助。进入你的 GitHub 账户,你可以点击右上角的图标,选择“你的个人资料”,就可以看到你今年或年复一年的贡献。

Using GitHub Analytics for Annual Reviews

For most engineers, that baseline of doing the job is all about code. Whether that means writing code, reviewing code and raising issues when you see them, or other code-specific work, Git data is here to help. Going into your GitHub account, you can click on your icon on the upper right corner and select “Your profile” to can see all sorts of insights into your contributions for this year, or year over year.

显示您的年度贡献的图表让您深入了解您完成了多少代码评审,或者您提交了多少代码,以及提交给了哪些存储库。您可以看到您已经启动了多少个拉取请求,提出了多少个问题。甚至还有历史数据,所以你可以看到你是否比往年做得更多或更少,以及你与你的共享库上的其他贡献者相比如何。

了解这些 GitHub 指标不仅可以让你向你的经理炫耀你可能是今年的最佳贡献者,还可以让你提前解释为什么你可能不是。例如,如果你今年休产假或陪产假,你的承诺可能会比往年少,这没关系。另外,不要忘记在年终评估中利用其他系统数据,比如吉拉等票务系统。

The graph showing your annual contribution grants you insight into how many code reviews you completed or how many commits you made and to what repositories. You can see how many pull requests you’ve started and how many issues you’ve raised. There’s even historical data so you can see if you’re doing more or less than previous years, and how you fare in relation to other contributors on your shared repositories.

说到吉拉……Git kraken 为吉拉开发的工具 Git Integration 将在吉拉和 Git 之间架起一座桥梁,在减少上下文切换的同时为您的团队成员提供更多的可见性。

使用 Git 工具& GitHub Analytics 讲述你的故事

Start a Free Trial

Git 最终是一个讲故事的工具。无论是您的代码故事,您的团队如何工作,或者您如何日复一日地工作,您的 Git 历史都是独一无二的。这取决于你去释放这个故事的力量,让这个世界和你的生活变得更好。

无论你如何驾驭 Git 的力量,GitKraken 工具如 GitKraken ClientGitLensGit Integration for 吉拉都可以帮助你掌握你的工作并跟踪你的进展。

Use Git Tools & GitHub Analytics to Tell Your Story

Git is ultimately a tool about storytelling. Whether it’s the story of your code, how your team worked, or how you did your job day to day, your Git history is uniquely yours. And it’s up to you to unlock the power of that story to make the world and your life better.

No matter how you harness the power of Git, GitKraken tools like GitKraken Client, GitLens, and Git Integration for Jira are there to help you keep on top of your work and track your progress.

如何删除一个 GitHub 存储库?

原文:https://www.gitkraken.com/learn/git/problems/github-delete-repository

一旦一个 Git 存储库从一个远程托管服务(比如 GitHub)被克隆到一台计算机上,本地机器上就会创建一个内容完全相同的副本。这个过程是通过 Git 克隆动作完成的。

理解这一点很重要,因为从本地机器上删除 GitHub 存储库并不会从 GitHub 上的远程服务器上删除 repo。那么,如何从 GitHub 中删除一个存储库呢?

了解为什么超过 200 万开发人员选择 GitKraken 来管理他们的 Git 存储库,并使使用 Git 更容易、更安全、更强大。

如何删除 GitHub 库

🚨警告🚨从 GitHub 中删除存储库是一种破坏性的行为。从 GitHub 中删除存储库后,不能保证您能够恢复它。

删除 GitHub 存储库的过程非常简单,但是只能在 GitHub 网站上完成。

首先,您将导航到您希望删除的 GitHub 存储库,并转到 repo 的Settings

接下来,您将转到Options并滚动到底部,直到看到Danger Zone部分。

接下来,点击Delete this repository按钮。

GitHub 随后会提示您确认删除资源库;该提示还将概述删除 GitHub 存储库的危险。

要确认 GitHub 存储库删除,您需要输入 GitHub 存储库的全名。

配合 GitKraken 使用 GitHub

GitKraken Git GUIGitKraken CLI 与 GitHub 进行了强大的集成,允许用户轻松安全地管理与远程 GitHub 库的连接。

GitKraken 的 GitHub 集成使您能够生成 SSH 密钥并将它们添加到 GitHub ,从 GitHub 克隆远程存储库,派生 GitHub 存储库,创建和管理 GitHub 拉请求,跟踪 GitHub 问题,等等。

GitKraken 与 GitHub 的深度集成实现了简化的工作流,用于生成 SSH 密钥、克隆和派生 GitHub repos、管理 GitHub pull 请求等等。

Learn More About Using GitKraken + GitHub

而且,正如我们前面提到的,你不能直接从 GitKraken 删除 GitHub 上的远程存储库;您只能通过您在 GitHub 网站上的 GitHub 帐户来完成此操作。然而,GitKraken 确实使从您的机器上删除本地 GitHub 库变得很容易。

如何用 GitKraken 删除 GitHub 库

要开始从 GitKraken 移除 GitHub 储存库的过程,首先要导航到 GitKraken UI 左上角的文件夹🗂图标。

然后浏览 repo 列表,直到找到想要从本地机器上删除的 GitHub 存储库。只需右击存储库并选择Delete repository

记住:在 GitKraken 中删除 GitHub 资源库只会删除本地副本。如果您想要完全删除 GitHub 存储库,您必须遵循本文前面概述的关于 GitHub 的步骤。

使用 Git 的体验从来没有这么好。无论您选择 Git GUI 还是终端,GitKraken 在每个角落都有有用的工具,让您在使用 Git 时更有效率。

GitHub 下载|如何从 GitHub 下载| Repos、文件夹和文件

原文:https://www.gitkraken.com/learn/git/github-download

可以下载 GitHub 吗?这个问题有几种不同的答案。

如果您有兴趣下载 GitHub Enterprise 供内部使用或安装在云中,请查看 GitHub Enterprise 文档

如果你正在寻找如何下载 GitHub Desktop,请查看【GitKraken Client 与 GitHub Desktop 的比较,然后下载符合你需求的。

最后,如果你来到这个页面是因为你想知道如何从 GitHub 下载一个文件,那么你来对地方了;我们将指导您如何做到这一点!

在我们开始之前,了解 GitHub 是什么很重要。GitHub 的核心是一个托管代码库的服务。它允许人们与那些 Git 远程仓库进行交互,从而在互联网上进行合作。

另一方面,Git 是源代码控制管理软件。你可以将 Git 存储库只存储在你的本地计算机上,除非你希望与其他人远程协作,否则你不需要将你的 repos 存放在 GitHub 这样的服务上。混淆 Git 和 GitHub 是很常见的,尤其是对这两个应用程序的新手来说。综上所述,Git 是免费下载的,它是一个你运行的软件,GitHub 是一个使用 Git 的在线服务。

如何从 GitHub 下载

在下载 GitHub 之前,我们建议的第一步是创建一个 GitHub 帐户,如果你还没有的话。使用 GitHub 网站上的提示,这个过程非常简单。

创建 GitHub 帐户后,使用下面的目录快速导航到描述 GitHub 下载情况的部分:

创建 GitHub 帐户后,使用下面的目录快速导航到描述 GitHub 下载情况的部分:

如何下载 GitHub 资源库

有了 GitHub 账户,你可以访问平台上的任何公共存储库,也可以访问你拥有必要权限的任何私有存储库。

要下载一个 GitHub 存储库,首先必须导航到 GitHub 中的存储库。如果您知道资源库的名称,您可以在 GitHub 用户界面最上方顶部导航左侧的搜索栏中输入名称。

或者,如果您有存储库的 URL,您可以将其复制并粘贴到浏览器中。

打开所需的存储库后,单击存储库内容右上角绿色Code按钮上的小箭头。从这里选择Download Zip。这将下载整个 GitHub 库作为一个压缩文件夹。

打开所需的存储库后,单击存储库内容右上角绿色Code按钮上的小箭头。从这里选择Download Zip。这将下载整个 GitHub 库作为一个压缩文件夹。

如何克隆 GitHub 存储库

或者,如果您试图将 GitHub 存储库克隆到您的本地机器上,您可以使用上图中列出的三个选项来完成:HTTPS、SSH 或使用 CLI

无论您选择哪种途径,使用 GitKraken Client 这样的 Git Client 来克隆 GitHub 存储库都是非常容易的,它不仅使克隆 GitHub repo 的过程变得直观,而且在您将它克隆到您的计算机上之后,还提供了与存储库交互的重要的可视上下文。了解如何用最流行的免费 Git GUI +终端为 GitHub 克隆 GitHub 库

无论您选择哪种途径,使用 GitKraken Client 这样的 Git Client 来克隆 GitHub 存储库都是非常容易的,它不仅使克隆 GitHub repo 的过程变得直观,而且在您将它克隆到您的计算机上之后,还提供了与存储库交互的重要的可视上下文。了解如何用最流行的免费 Git GUI +终端为 GitHub 克隆 GitHub 库

如何从 GitHub 下载文件

如果您只想从 GitHub 仓库下载一个文件,那么上面的过程可能太长了。要从 GitHub 下载文件,首先点击 repo 内容顶部的Go to file按钮。

如果您只想从 GitHub 仓库下载一个文件,那么上面的过程可能太长了。要从 GitHub 下载文件,首先点击 repo 内容顶部的Go to file按钮。

这将弹出一个页面,列出 GitHub 存储库中的所有文件。

这将弹出一个页面,列出 GitHub 存储库中的所有文件。

点击你想从 GitHub 下载的文件,打开单个文件。从这里,right click点击文件顶部的Raw按钮,选择Save Link As…,选择您计算机上想要保存文件的位置,然后选择Save

点击你想从 GitHub 下载的文件,打开单个文件。从这里,right click点击文件顶部的Raw按钮,选择Save Link As…,选择您计算机上想要保存文件的位置,然后选择Save

如何从 GitHub 下载文件

如何从 GitHub 存储库中下载多个文件取决于您的用例。如果您想要下载除了少数文件之外的大多数存储库,最好的选择是下载项目的 ZIP 文件,然后手动删除您不想要的文件。

相反,如果您只想从一个存储库中下载几个单独的文件,从 GitHub 下载它们的最简单方法是遵循上一节中的过程概述,并单独下载每个文件。

相反,如果您只想从一个存储库中下载几个单独的文件,从 GitHub 下载它们的最简单方法是遵循上一节中的过程概述,并单独下载每个文件。

如何从 GitHub 下载 CSV 文件

想从 GitHub 下载一个 CSV 吗?没问题!要从 GitHub 下载 CSV 文件,只需导航到您想要的存储库,选择 CSV 文件,点击文件顶部的Raw按钮,选择Save Link As…,选择您计算机上想要保存文件的位置,然后选择Save

如何从 GitHub 下载文件夹

如果你发现自己想从 GitHub 资源库下载一个文件夹,而不是整个资源库,你可以使用像https://download-directory.github.io/这样的工具。

要从 GitHub 下载一个文件夹,导航到你想要的库,选择你想要从 GitHub 下载的文件夹,copyURL,导航到https://download-directory.github.io/pasteURL 到文本框,点击enter

要从 GitHub 下载一个文件夹,导航到你想要的库,选择你想要从 GitHub 下载的文件夹,copyURL,导航到https://download-directory.github.io/pasteURL 到文本框,点击enter

使用包含大量文件和文件夹的 Git 存储库可能会让人感到困惑。GitKraken 客户端漂亮的可视化提交图使得使用这些存储库变得轻而易举。提交图允许您查看您的存储库是如何组织的,以及项目的高级视图。

开始你的 Git 知识

既然您已经习惯了从 GitHub 下载存储库和文件,那么您可以开始使用它们来提高您的 Git 技能。这些下载的文件是开始试验基本 Git 命令和操作的完美沙箱。别怕搞砸了,随时可以回去回购重新下载!如果您想快速掌握您的 Git 知识,并开始在工作中或开源项目中做出贡献,请查看 GitKraken Learn Git 库,其中包含教程视频、示例、定义等等!

开始你的 Git 知识

既然您已经习惯了从 GitHub 下载存储库和文件,那么您可以开始使用它们来提高您的 Git 技能。这些下载的文件是开始试验基本 Git 命令和操作的完美沙箱。别怕搞砸了,随时可以回去回购重新下载!如果您想快速掌握您的 Git 知识,并开始在工作中或开源项目中做出贡献,请查看 GitKraken Learn Git 库,其中包含教程视频、示例、定义等等!

让 GitHub 企业支持成为现实

原文:https://www.gitkraken.com/blog/github-enterprise-support

你要求的,所以我们在 GitKraken v1.9 中让 GitHub Enterprise 支持成为现实!这意味着有了 GitKraken Pro,您在 GitKraken 中了解和喜爱的所有酷 GitHub.com 集成,现在也可以为您的 GitHub 企业存储库所用。

想了解更多关于 GitHub 企业支持的信息吗?接着读下去!升级到 GitKraken Pro 后,您还可以体验所有其他酷功能

开发团队对集成带来的新问题进行了一系列潜在的解决方案,并提出了几个可行的解决方案。

选项

使 GitHub Enterprise 与我们的 GitHub.com 集成不同的一个原因是,我们不能依赖 GitKraken 的 API 服务器作为客户端和 GitKraken 试图与之交互的服务之间的中介。

GitKraken 使用 OAuth 与 GitHub.com 通信,这意味着该应用程序代表 GitKraken 请求用户允许在服务中为用户执行部分操作。这一切都是可行的,因为 GitKraken 可以向服务证明,它确实是为用户请求这些权限的人,通过使用“秘密”密钥,保存在 API 服务器上,而不是与应用程序本身共享。

在 GitHub Enterprise 的例子中,这种逻辑在某种程度上是不成立的,因为 API 服务器不能真正知道它可能需要认证的所有可能的 GitHub Enterprise 服务器。即使可以,也必须在每个 GitHub Enterprise 实例上生成一个“秘密”密钥。

GitKraken dev 团队针对潜在的 GitHub 企业集成所带来的新问题,研究了一系列潜在的解决方案,并提出了几个可行的解决方案:

The GitKraken dev team went through a litany of potential solutions for the new problems posed by the potential GitHub Enterprise integration and came up with a couple feasible solutions:

1。发布一个独立的 API 服务器。

一种想法是部署一个独立的 API 服务器,可以为每个 GitHub 企业实例设置,大概是由 GitHub 企业所有者的 IT 部门或负责维护 GitHub 企业实例的任何人设置。这里的缺点是,在用户端(或者至少是他们的 IT 部门)设置这样的东西需要大量的工作。

每个用户的 GitKraken 实例除了已经需要知道 GitHub 企业实例在哪里之外,还需要知道 API 服务器在哪里。我们还必须构建前面提到的独立 API 服务器,测试它,并为它制作文档。基本上,每个人都有很多工作要做。如果你问我,我会说这是非常不合逻辑的。

Each user’s GitKraken instance would also need to know where that API server is, in addition to already needing to know where the GitHub Enterprise instance is. We’d also have to build the aforementioned standalone API server, test it, and make documentation for it. Basically, it’d be a lot of work for everyone. Highly illogical if you ask me.

2。让 GitKraken 充当 API 服务器,并允许用户系统上的配置文件处理所需的配置。

这个想法有一些非常有趣的成分。这将通过允许在用户的系统上放置一个 JSON 配置文件(可能是由他们的 IT 部门)来实现,该文件将包含允许用户的 GitKraken 应用程序充当 API 服务器的必要信息。这实际上可能听起来比实际简单得多。

OAuth 的一个优点是它允许用户给应用程序权限来代表他们做事情,而不需要与应用程序共享他们的密码。只有当用户没有被强迫在完全由应用程序控制的地方输入他们的凭证时,这才真正起作用(几乎完全违背了 OAuth 的目的)。这意味着 GitKraken 需要将认证过程交给用户可以信任的外部应用程序(通常是他们的网络浏览器)。有趣的部分就在这一点上来了:当用户完成认证过程时,浏览器如何将信息传回 app?

有很多方法可以做到这一点,但是最优雅和有趣的方法(以我的拙见)是使用一个定制的协议处理器。我们实际上是告诉用户的系统,如果一个带有指定协议的 URL 被访问(比如gitkraken://)),GitKraken 应该被用来处理这个动作。

这将允许浏览器将身份验证过程生成的代码返回给 GitKraken,因此 OAuth 过程可以在应用程序中完成。

这个流程的过程很简单:用户(或者在更大范围内,用户的 IT 部门)将在 GitKraken 设置目录中添加一个配置文件,然后在应用程序中单击一个connect按钮,这与当前的 GitHub.com 集成方式非常相似。这种想法最适合大规模应用,因为 IT 部门愿意并且能够为用户实现流程自动化。

The process for this flow would simply be: the user (or on a larger scale, the user’s IT department) would add a single configuration file within the GitKraken settings directory, and then click a connect button in-app, in a fashion very similar to the current GitHub.com integration. This idea works best on a large scale where there’s an IT department willing and able to automate the process for the user.

3。使用个人访问令牌。

GitHub(实际上还有许多其他服务)允许您生成一个令牌,它可以被赋予与 OAuth 令牌相同的权限子集,并且可以以几乎相同的方式使用。一旦我们有了其中的一个令牌,就可以用它来代替 OAuth 令牌,我们可以通过 GitKraken 的 API 服务器执行身份验证过程来获得 OAuth 令牌。

它要求用户进行一些额外的配置,但是考虑到我们需要知道 GitHub Enterprise server 的位置,一些额外的配置是必要的,并且有一些方法可以使配置变得非常容易。

决定

IT 辅助配置途径(2)和个人访问令牌(3)是考虑最多的两个选项。我们最终决定将个人访问令牌作为该特性的一个很好的起点。

如果说使用 GitHub APIs 教会了我们什么的话,那就是它们非常擅长让很多事情变得非常简单。

这不仅是因为实现相对容易,还因为它不是基于这样的假设,即所有 GitHub Enterprise 用户都有一个 it 部门能够通过创建配置文件并将其注入到用户的 GitKraken 设置中来为他们自动化该过程。

个人访问令牌也不排除配置文件的使用,因此,如果对稍微简化的流程有很大的需求,我们可以在未来对更大的团队进行扩展。

使个人访问令牌尽可能简单的另一个重要部分是确保它需要尽可能少的用户交互。不幸的是,我们不得不把用户引导到一个有着太多选项的页面:

如果能通过为用户填写这个表单来简化这个过程,而不是让他们来回跑来跑去以确保他们拥有所有必要的范围,那就太好了。

我们找不到任何文档来支持可能有方法自动检查这些框的理论,但如果使用 GitHub APIs 教会了我们什么,那就是它们真的很擅长让许多事情变得非常简单,甚至在没有文档的情况下。

经过一点小小的改动,我们发现您可以选中这些框并指定一个描述默认值,只需传递几个查询字符串参数。谢谢 GitHub!

执行

一旦个人访问令牌到位,GitHub Enterprise 几乎就是 API 级别的 GitHub.com 的替代产品。说真的,我们用来处理获取和更新用户信息、存储库、拉请求和 SSH 密钥的包,只是在指向 GitHub 企业服务器而不是 GitHub.com 时,以及在给定个人访问令牌而不是 OAuth 令牌时才工作。太棒了。这意味着我们添加到 GitHub.com 的大多数未来集成点可能会免费自动在 GitHub Enterprise 中工作。

Execution

Once personal access tokens were in place, GitHub Enterprise was almost literally a drop-in replacement for GitHub.com at the API level. Seriously, the package that we use to handle fetching and updating user info, repositories, pull requests and SSH Keys, just worked when pointed at a GitHub Enterprise server, instead of GitHub.com, and when given a personal access token instead of an OAuth token. Which is awesome! It means most future integration points we add to GitHub.com will likely automatically work in GitHub Enterprise for free.

为团队使用 Git 和 GitHub

原文:https://www.gitkraken.com/gitkon/github-for-teams

https://www.youtube.com/embed/OozPdrrhpKg?feature=oembed

视频

Git 是什么?

回顾 Git 的历史,这个分布式版本控制系统是在 2005 年引入的,作为一种监控项目历史和随时间变化的方法。分布式版本控制系统与本地控制系统的不同之处在于,它们使从事项目工作的任何人都能够访问项目文件的相同副本,包括相同的版本和相同的历史。这种分布式模型使得 Git 成为团队一起工作和轻松协作的一个很好的工具。

协作不是一件新鲜事;早在 Git 引入之前,人们就已经开始合作了。因为团队合作和协作已经存在了很长时间,研究人员已经能够研究并确定如何有效地利用它们。

Collaboration is not a new thing; people have been collaborating long before Git was introduced. Because teamwork and collaboration have been around for so long, researchers have been able to study and identify how to utilize them effectively.

GitKraken Git 客户端提供了一套特定于团队的功能和优势,如灵活的许可管理、显示谁在处理哪个文件的团队视图,以及预测性合并冲突检测,以便您可以在问题发生前避免问题。

The GitKraken Git Client offers a suite of features and benefits specific for teams, like flexible license management, Team View that shows who is working on which file, and predictive merge conflict detection so you can avoid problems before they happen.

为什么团队合作很重要?

我们对如何促进个人、团体甚至公司的成功了解得越多,我们就越意识到协作和团队合作对实现目标至关重要。

最近,全球形势迫使我们将这些有效团队合作的原则转化为数字环境。自从疫情以来,远程工作已经变得越来越普遍,并且很可能将继续成为许多工作场所的主流。无论您是在家工作、在办公室工作、在大型团队工作还是在小型团队工作,Git 都有适合每个人的东西。

Recently, global circumstances have necessitated that we take those principles of effective teamwork and translate them into a digital environment. Remote work has become more and more common since the pandemic, and likely will continue to be a mainstay for many workplaces moving forward. Regardless of if you are working from home, in the office, on a huge team or small one, Git truly has something for everyone.

Git &通信

有效协作的一个关键方面是沟通。如果团队没有很好地沟通,他们就不能很好地合作,最终,这个团队就不能很好地向他们的客户交付他们的产品。

"编码是一项团队运动."

无论你是更喜欢体育运动的人还是喜欢电子竞技的人,你都会知道良好的团队合作是胜利的关键。通常情况下,合作良好的团队是沟通最好的团队。一个技术一般但沟通很好的团队打败一个技术一流但沟通很差的团队并不罕见。

Nat Friedman, GitHub CEO

假设您的组织有一个工程团队、一个销售团队、一个社区团队和一个管理团队。如果这些团队想要成功,他们应该在他们的组织内部和组织之间协同工作。如果所有这些团队只专注于他们自己的小事情,工程团队就会去构建东西,因为他们可以。销售团队会销售他们想要的任何东西,甚至可能不是工程团队正在构建的东西。社区人员和营销人员会出去对产品做出承诺,这些承诺可能是真的,也可能是假的。最后,一位经理问:“这到底是怎么回事?”所有人都知道他们自己的小泡泡里发生了什么。

没有人希望这种情况成为他们的现实。为了避免这种僵化的思维模式,每个人和团队都应该学会认识到部门之间存在的相互依赖的关系。

想象一下所有这些团队现在一起工作。开发人员开发出真正好的产品,营销人员精心打造一个信息灵通的市场,社区团队能够从用户那里收集有价值的想法和信息,销售人员能够开拓新的市场,经理们也非常高兴,因为每个人都赚了更多的钱。这是一种由沟通团队培养的复合成功。

如果你想现在就开始,Slack、微软团队、GitHub for teams、Zoom 等工具以及更多用于远程开发团队的工具有助于促进团队和公司内部的远程沟通。然而,不要走出去,采用一个中央沟通工具,只是假设你现在有效地沟通。相反,关注你能做些什么来培养一种重视协作和团队精神的文化,然后把交流工具作为一种资源来使用。

If you want to get started now, tools like Slack, Microsoft Teams, GitHub for teams, Zoom, and more tools for remote dev teams help facilitate remote communication within your teams and company. However, don’t go out there and adopt a central communication tool and just assume that you’re now communicating effectively. Rather, focus on what you can do to foster a culture that values collaboration and teamwork and then use the communication tool as a resource.

基本 Git 流程& Git 命令

这张图片展示了使用 GitHub 流模型的 Git 中的项目流,这是最受认可的 Git 分支策略之一。在顶部,您会发现主分支(这里显示为“主”)。这代表您当前正在进行的项目。当你想为项目创建一个新特性或者一个新版本时,你将创建一个 Git 分支

This image shows the flow of a project in Git using the GitHub flow model, one of the most recognized Git branching strategies. Across the top, you’ll find the main branch (shown here as “Master”). This represents the project that you’re currently working on. When you want to create a new feature for the project or a new version, you will create a Git branch.

在此阶段,您应该与您的团队讨论该特性,以及它如何在高层次上融入项目。一旦您和您的团队对您的 Git 分支感到满意,您就可以将它合并回主分支。通常,一旦你 Git 将你的特性分支合并回主分支,你将删除你的本地 Git 分支以保持项目的整洁。

有许多方法可以查看和修改项目的 Git 历史。方法之一是通过 Git 命令。Git 命令可用于添加文件、添加提交点、为文件创建消息以及查看项目历史。请注意,当您对远程存储库上的项目进行变更时,其他所有能够访问该存储库的人都可以看到这些变更。这真的很有帮助,因为它允许您和您的团队成员除了查看项目的整体状态之外,还可以查看其他人在做什么。

There are a number of ways to view and alter a project’s Git history. One of the ways to do that is via Git commands. Git commands can be used to add files, add commit points, create messages for your files, and see the project history. Be aware that when you make changes to a project on the remote repository, everyone else with access to that repo can see those changes. This can be really helpful as it allows you and your team members to view what everyone else is doing in addition to the project’s overall status.

有了 GitKraken Git 客户端,团队成员可以根据自己的选择高效地协作工作流——无论他们喜欢终端还是 GUI,还是 Mac、Linux 或 Windows。GitKraken 在开发人员已经在工作的地方与他们会面。

Git 命令

Git 入门

Git init:将现有目录转换成一个 Git 存储库

Git 克隆:将 Git 存储库克隆到您的本地机器上。

Git config:在 C L I 上配置你的用户名、电子邮件,甚至是你提交的颜色,这样你就可以很容易地分辨出什么是你的。

Git status:显示 Git repo 的状态和整个项目的状态。

Git clone: clones the Git repository to your local machine.

更改 Git 回购

Git add:将文件添加到包含准备提交的更改的 repo 中。

Git commit :提交您所做的更改

Changing a Git Repo

同步命令

Git remote:允许您创建和删除到其他存储库的连接。

Git fetch:将您的所有 Git 历史从远程 repo 下载到您的本地 repo。

Git checkout :允许你切换到一个特定的分支。

Git pull:将所有的更改从远程机器下载到本地机器。

Git push:将所有更改推送到远程。

Git checkout: allows you to switch to a particular branch.

工作和更改版本

Git branch:返回该 repo 中当前所有分支的列表。

Git merge:允许您将更改合并回主。

Working and Changing Versions

保持干净的 Git 历史记录

当使用 Git 进行协作时,保持事物整洁非常重要。一种方法是保存详细的提交历史。当你定期提交时,你给自己一个潜在错误的良好缓冲。每次提交时,把这个过程想象成为自己创造“保存点”会很有帮助。

创建保存点对于管理有效的工作流程至关重要。当创建这些点时,确保它们是具体的、及时的和可理解的。如果你犯了一个错误并且经常提交,修复这个错误就像恢复到一个旧版本一样简单,比如恢复一个 Git 提交

明确具体的承诺;你不想以数百个随机和不清楚的保存点结束。

When collaborating using Git, it’s important to keep things really tidy. One way to do this is by keeping a detailed commit history. When you commit regularly, you give yourself a good cushion for potential errors. It can be helpful to think of this process as creating “save points” for yourself each time you commit.

Creating save points is crucial to managing an effective workflow. When creating those points, be sure that they are specific, timely, and understandable. If you make an error and have been committing often, fixing the mistake is as easy as reverting to an older version, such as reverting a Git commit.

在上图中,你可以看到如果不使用自定义提交消息,GitHub 中的 Git 日志是什么样子的;它看起来像一团乱麻。拥有一堆默认文件名的文件:“不管文件名是什么,都要更新”,这使得理解每个提交代表什么几乎是不可能的。

另一方面,如果您花时间包含高质量的自定义提交消息,如下图所示,当您将来查看项目历史时,您可以为您和您的团队添加有用的上下文。

In the image above, you can see what a Git log looks like in GitHub if you don’t use custom commit messages; it looks like an absolute mess. Having a bunch of files with the default file name: “Update whatever the file name is,” makes understanding what each commit represents virtually impossible.

很容易看出区别。这不仅对你,而且对你的所有团队成员来说,都使你的项目工作更加清晰和容易。

您可能会注意到,一些提交消息旁边有省略号。这是一种很有用的方式,可以让您注意到该提交有更多的信息。这只是另一个可以帮助你的团队更清晰、更有效地协作的实践。

GitKraken Git 客户端提供的对项目历史的可见性将允许您看到您的团队中谁正在处理哪个文件,从而在整个过程中导致更好的协作和更少的合并冲突。

You might notice that some of the commit messages have ellipses next to them. This is a helpful way of noting that there’s even more information for that commit. This is just another practice that can help your team collaborate clearly and more effectively.

在一天结束时,您决定哪些实践对您和您的团队最有效。最重要的是,你实际上建立了一套标准实践,以及一种确保每个团队成员都遵循它们的方法。花时间分享想法、达成共识并保持相互负责的团队能够更快、更有效地工作,并最终构建更好的产品。

如果你想提升你团队的表现,看看 GitKraken 就知道了!GitKraken 为用户提供教育和 Git 培训资源,提高使用 Git 的团队的可见性,以及灵活的许可管理。使用 GitKraken 的团队最终会变得更加有组织、高效、协作和成功。

At the end of the day, you decide which practices work best for you and your team. What’s most important is that you actually establish a set of standard practices, as well as a way to ensure each team member is following them. Teams that take the time to share ideas, come to a consensus, and keep one another accountable are able to work faster, more effectively, and ultimately build better products.

If you’re looking to level up your team’s performance, look no further than GitKraken! GitKraken provides users with educational and Git training resources, improved visibility for teams using Git, and flexible license management. Teams that use GitKraken ultimately become more organized, efficient, collaborative, and successful using Git.

GitHub 如何派生|了解如何派生 GitHub 存储库

原文:https://www.gitkraken.com/learn/git/problems/github-how-to-fork

在 Git 中,派生存储库意味着在一个远程托管服务(比如 GitHub)上,在您的个人帐户下创建一个存储库的副本,无论是公开存储还是秘密存储。

例如,如果您要分叉 VS 代码 GitHub 库,新的副本将存储在https://github.com/<Your-github-account-name>/vscode-gitlens

派生存储库意味着您可以对代码进行任何想要的更改,而不会影响原始项目。您可以选择通过拉请求流程与原始回购共享这些更改。

新的分叉副本仍然连接到原始存储库,并被视为原始“上游”存储库的“下游”。如果需要,对原始上游存储库的任何更改都可以很容易地应用到下游存储库。

这个连接允许下游副本通过使用 GitHub pull 请求来建议对上游存储库进行更改。例如,如果您想要修复在一个存储库中发现的一个 bug,您应该分叉该存储库,修复您的副本上的问题,然后启动一个 pull 请求,请求上游存储库所有者将您提议的更改合并到原始存储库中。

有时候,一个存储库被分叉成充当你自己想法的起点,这在开源软件的世界里很常见。

GitKraken 与 GitHub 的强大集成使得克隆、派生、添加远程和管理拉请求变得快速而简单。此外,开发人员可以充分利用 GUI 和 CLI。

如何用 GitKraken CLI 插入 GitHub

使用 Git CLI 在 GitHub 中派生一个存储库:

首先,导航到您想要在 GitHub.com 上分叉的 Git 库

在那里,点击存储库的 GitHub 页面右上角的Fork按钮。

恭喜你。现在,您的 GitHub 帐户中有了一个存储库的副本。

在 GitHub 中使用分叉库

既然 fork 已经存在,您将希望确保您的存储库本地副本可以访问原始的和分叉的 repo。

首先,通过键入以下命令,使用 Git CLI 和 SSH 在您的本地机器上执行原始存储库的 Git 克隆:

git clone git@github.com:Axosoft/vscode-gitlens.git

这一步将把原始存储库设置为origin Git remote。

现在,通过键入以下命令,将分叉的 GitHub 存储库作为新的 Git remote 添加到本地:

git remote add GitHub-user-name git@github.com:GitHub-user-name/vscode-gitlens.git

记得在这两个地方都用你实际的 GitHub 用户帐户名替换GitHub-user-name

现在,您已经设置了一个本地存储库,其中有两个连接的远程存储库,即原始的 repo 和 GitHub 上的 fork。

从一个分叉的 GitHub 仓库中拉出

如果您想从分叉的 GitHub 存储库中提取更改,请键入:

git pull GitHub-user-name <branch-name>

如果要从原始存储库中获取并合并更改,请键入:

git pull origin <branch-name>

推送到分叉的 GitHub 库

您现在可以通过键入:
将更改推送到分叉的 GitHub 存储库

git push GitHub-user-name <branch-name>

如果允许访问,您可以通过键入以下内容将更改直接推送到原始存储库:

git push origin <branch-name>

使用 GitKraken,添加和管理分叉 GitHub 库的过程简单而直观,因此您可以快速设置并为您的项目做出贡献。我们知道你的时间很宝贵。

如何将 GitHub 与 GitKraken Git 客户端相结合

如果您想使用 GitKraken Git 客户端派生 GitHub,您将首先克隆您希望派生的 repo。

要开始克隆 GitHub repo,请导航至Repository ManagementClone。您可以使用 GitHub URL 进行克隆,并且可以选择要克隆到本地机器的哪个位置。

成功克隆 GitHub 存储库后,您可以在 GitKraken 的中央 UI 中的提交图左侧的远程面板中看到 repo。

接下来,右键单击遥控器并从上下文菜单中选择Fork and Add Remote

这就够了!为了验证您已经成功地分叉了 GitHub 存储库,您可以在左侧面板中的原始 remote 下方看到一个新的本地分叉。

GitHub 克隆 vs 分叉

虽然派生和克隆 GitHub 存储库都是原始存储库的副本,但重要的是要注意这些概念的主要区别。克隆存储库会创建存储库的本地副本,并自动在 GitHub 上设置一个到该存储库的 Git remote。如果这个项目属于其他人,您将不能将任何变更推回到原来的存储库中。另一方面,派生一个 GitHub 存储库会创建一个您自己的存储库的在线副本,可以作为远程使用。您可以根据需要推和拉这个存储库,除了您的副本之外,您还可以从您派生的原始回购中获取更改。

GitHub 分叉 vs 分支

用最简单的话来说,fork 是一种一次性复制整个存储库的方法,而 branch 是一种在存储库中工作的方法。

一个 Git 分支是一种在一个项目的同一个副本中安全地进行一组新的提交的方法,在您准备好之前不需要对主分支进行修改。实际上,分支只是一个指向提交的新指针,它会随着您所做的每个新提交而移动,并且只有在一个共同的祖先提交上进行提交时才会在图中出现分叉。

一个分支可以包含很多分支,你可以像更新主分支一样从上游更新每个分支。常见的做法是将新的工作放在一个特性分支中,并在尝试更新原始上游存储库时从该分支创建一个拉请求。

如何解除对 GitHub 库的封锁

GitHub 中的 Unforking 不是一个常见的操作,需要 GitHub 支持团队的直接协助。您需要访问 GitHub 支持请求页面并选择“附加、分离或重新路由分叉”选项。虚拟助手将指导您完成余下的过程。

如果你准备好让 GitHub 库的分叉过程变得更容易、更快、更具可见性和可控性,请下载 GitKraken Git 客户端 T1,它现在有 GUI 和 T2 CLI T3,今天就可以免费下载。

GitHub 页面重新设计| GitKon 2022 | Rizel Scarlett,GitHub

原文:https://www.gitkraken.com/gitkon/github-pages-rizel-scarlett

https://www.youtube.com/embed/CzJhgq9cvMY?feature=oembed

视频

这是 GitHub 开发者倡导者 Rizel Scarlett 写的一篇客座博文

我的父母出生在圭亚那,这个位于南美洲的国家受到了美洲印第安人、非洲人、印度人、中国人、英国人、葡萄牙人和荷兰人文化的影响。尽管有如此多的文化影响,圭亚那是南美洲唯一一个官方语言是英语的国家。然而,他们经常说一种叫做圭亚那克里奥尔语的英语方言。

我喜欢圭亚那文化的一切,包括音乐、食物和有趣的谚语。我妈妈总是说:“猴子 mek 他 pickney 直到他宠坏他们,”意思是“保持简单。不要加多了把事情搞砸了。”当我做饭时加了太多调料,或者我在一个艺术和工艺项目中加了太多亮片时,她会对我说这句话。我们在科技界也有类似的说法。这是首字母缩写:K.I.S.S .,代表“保持简单,笨蛋。”我同意这个缩写,但更喜欢省略“愚蠢”这个词

尽管科技行业鼓励我们保持简单,但我们真的遵循了自己的建议吗?当我反思 90 年代末到 21 世纪初的互联网和计算时,我对我曾经经历的简单感到怀旧。我记得我用过 Neopets,Millsberry,Limewire,AIM,The Doll Palace,我的场景炫目钉游戏,还有最重要的 Myspace。Myspace 提供了如此多的简单性,以至于鼓励 11 岁的我学习 HTML 和 CSS 作为自我表达的手段。

我怀念那些日子!自然,随着新工具和更快的 web 应用程序的发展,我们引入了更多的复杂性。科技行业已经从 HTML 和 CSS 发展到对 CSS 做出反应和调整。

用 Node.js 在后端写 JavaScript 不再是革命性的,令人惊讶;很常见。现在,我们有了更新、更快的 JavaScript 运行时,比如 Deno 和 Bun。虽然这些技术有趣、时尚,有时还很有帮助,但我想挑战你问自己这些问题:

  1. 我的项目需要这种复杂程度吗?
  2. 有我可以简化的地方吗?

当我第一次以开发者倡导者的身份加入 GitHub 时,我制作了一个网络应用,你可以通过名字搜索表情符号。为了构建它,我使用了以下技术:

  • Next.js
  • 尾翼 CSS
  • 普鲁米
  • AWS S3
  • Fuse.js
  • GitHub 的 API

事后看来,我并不需要使用所有这些技术来构建网站,尤其是因为它只做了一件事。相反,我可以通过使用 HTML、CSS、JavaScript 并将其托管在 GitHub 页面上来保持简单。

github pages-github 页面

GitHub Pages 是 GitHub 在 2008 年推出的首批产品之一,同年 GitHub 成立。它使开发者能够免费托管静态网站。GitHub Pages 是存储静态内容的强大选项,原因如下:

它是免费的。

它使协作变得容易。任何人都可以打开一个拉请求来更新站点。

您的存储库会与您对站点所做的任何更改同步。

  • 虽然 GitHub Pages 带有类似于https://YOUR_USER_NAME.github.io/的默认域名,但它支持自定义域名。
  • 它使用可定制的 GitHub 动作工作流进行构建和部署。
  • 您的存储库会与您对站点所做的任何更改同步。
  • 说了这么多,我意识到我没有充分利用 GitHub 页面,所以我开始探究为什么我停止使用它。
  • 它使用可定制的 GitHub 动作工作流进行构建和部署。

作为初级开发人员使用 GitHub Pages

当我还是一名初级开发人员时,我只使用 GitHub 页面来托管我的第一个作品集;那是我最后一次使用它。我的理由:GitHub 平台吓到了我这个新开发者,所以我避开了。

为了解决新开发人员可能会遇到的问题,我开发了一个 VS 代码扩展,可以在不离开 IDE 的情况下将您的网站部署到 GitHub 页面。我写了一篇关于如何安装和使用它的博客,如果你感兴趣的话,我还写了一篇关于我如何构建应用程序的博客。

作为初级开发人员使用 GitHub Pages

作为一名经验丰富的开发人员使用 GitHub Pages

我不再害怕使用 GitHub 了。我从 2018 年开始做开发者,对 GitHub 和各种 JavaScript 框架有了更多的熟悉。然而,GitHub Pages 以托管 HTML 或 Jekyll 支持的网站而闻名。

配置 GitHub 页面来托管 Next.js 或 Astro 站点是一件痛苦的事情。然而,最近,GitHub 通过 GitHub 动作使得在 GitHub 页面上托管任何静态框架或静态站点生成器变得更加容易。

作为一名经验丰富的开发人员使用 GitHub Pages

将任何静态站点生成器部署到 GitHub 页面

GitHub Pages 现在使用可定制的 GitHub 动作工作流来构建和部署代码,以便开发人员可以控制他们的创作框架和部署。

了解更多关于如何将任何静态站点生成器或前端框架部署到 GitHub 页面的信息。

将任何静态站点生成器部署到 GitHub 页面

使用 GitHub 页面的更多资源

以下是更多关于 GitHub 页面部署静态站点的入门资源:

如果您正在使用 GitHub 页面和 VS 代码来部署您的网站,请考虑将 GitLens 添加到您的工具箱中,以增强您的项目历史在 IDE 中的可见性。

以下是更多关于 GitHub 页面部署静态站点的入门资源:

如果您正在使用 GitHub 页面和 VS 代码来部署您的网站,请考虑将 GitLens 添加到您的工具箱中,以增强您的项目历史在 IDE 中的可见性。

Sign up for GitLens+ for free

GitHub 拉请求与 Glo 板集成

原文:https://www.gitkraken.com/blog/github-pull-request-integration-glo

自从用于任务和问题跟踪的 Glo 板问世以来,GitKraken 团队一直在不断增加健壮的特性,使开发人员更有效率。我们的新成员也不例外。GitKraken Glo Boards 现在支持将 GitHub pull 请求与 Glo 卡链接。

公关链接&Glo 板自动化!

https://www.youtube.com/embed/wTEZpKrwYWg?feature=oembed

视频

将 GitHub PRs 与 Glo 卡连接起来,简化您的工作流程。

此功能将允许用户检查拉取请求的状态,并根据拉取请求是已打开、关闭还是已合并,自动将卡移动到新列中。

将 GitHub 拉请求与 Glo 板集成

第一步是设置集成。登录 Glo Boards,然后点击 Glo UI 顶部的齿轮图标进入Pull Requests选项。然后点击Connect to GitHub按钮。

连接到 GitHub 后,选择要连接到 Glo 板的 repo。你可以从一个下拉菜单中选择你的 GitHub 托管的回购,你可以连接到你想要的任何数量的回购。

从这里,您可以规划您的自动化过程。选择当提取请求为以下情况时,您希望将卡移动到哪一列:

  • 开的
  • 关闭和合并
  • 关闭的
  • 合并

现在,您的集成已经准备就绪!

Now, your integration is ready to go!

跟踪 Glo 板中的拉取请求状态

设置集成后,您将需要开始将 Glo 卡链接到您的 GitHub pull 请求。通过访问卡的详细信息上的Pull Request部分来完成。此部分填充链接的拉取请求的下拉菜单;只需点击该列表中的一个拉取请求,即可将其链接到您当前正在查看的卡片。

将拉取请求链接到您的卡后,它将作为带有相应标签的项目出现在您的卡的Pull Request部分。标签将记录拉取请求的状态(即Open)。您还可以快速查看可用的拉式请求信息,如名称、ID 号、上次打开日期和构建状态。

点击 Glo 卡上的请求名称,在 GitHub 中打开它。

解除 Glo 卡的拉取请求是轻而易举的事情。只需点击右上角的X图标。

Unlinking a pull request from a Glo Card is a cinch. Simply click the X icon on the top right.

在 Glo 板中自动拉取请求

真正神奇的是:当 GitHub 中的一个 pull 请求状态被更新时,Glo 卡会根据您在初始集成时设置的映射自动前进到另一列。

没错。没有更多的时间浪费在搜索你的各种卡和拉请求,或手动重组你的 Glo 板。

That’s right. No more time lost searching through your various cards and pull requests, or manually reorganizing your Glo board.

创建拉取请求时链接 Glo 卡

当您在 GitKraken 中创建新的拉动请求时,您可以通过在 GitKraken 的 PR 模板的Glo Card字段中搜索 Glo 卡来将该卡链接到拉动请求。

设置了 GitHub 集成的主板上的 Glo 卡将首先出现在搜索结果中。

GitHub 中的 pull 请求描述将自动更新,以包含一个到该卡的链接。该链接将作为卡片的标题显示在描述中。

相当惊人,对吧?!

Pretty phenomenal, right?!

GitHub 拉取请求|如何创建、审核和批准

原文:https://www.gitkraken.com/learn/git/problems/github-pull-requests

在 Git 中,拉请求是一个涉及项目贡献者的事件,他请求存储库维护者审查他们希望合并到项目存储库中的代码。这个特性并不是 Git 本身内置的,而是由远程存储库托管服务控制的一个功能,比如 GitHub

GitTip:更像是视觉学习者?查看我们关于什么是 Git 中的拉请求的简短中级 Git 教程视频。

如何创建 GitHub 拉取请求

关于 Git pull 请求,需要记住的基本知识是它们依赖于分支。这意味着在您开始创建一个 pull 请求之前,您需要有一个包含您想要合并的变更的分支。

一旦您创建了一个包含您想要合并到项目主存储库中的更改的本地 Git 分支,您将想要 Git 将该分支推送到您的远程存储库中。

我们将使用著名的跨平台 GitKraken Git GUI 来查看创建和提交 GitHub pull 请求的过程,然后在 CLI 中查看该过程。

“GitKraken 有一个很好的用户界面来处理拉请求,并告诉你你在哪个分支,PR 指的是哪个分支(这是我经常出错的事情)。”–@ spaghettidba

你有什么 GitKraken 可以帮你克服的反复出现的错误吗?

如何使用 GitKraken 创建 GitHub pull 请求?

GitKraken 中的 GitHub 集成使得创建 GitHub 拉请求变得容易。

从左侧面板的PULL REQUESTS窗格中点击绿色的+按钮开始。

接下来,您将把想要合并的分支直接从中心图拖放到想要合并到的分支上。

了解更多关于使用拖放来推入 GitKraken 的信息。

GitKraken 中的拖放功能使得推和拉以及创建拉请求变得直观,同时节省了您宝贵的编码时间。

GitHub 拉取请求模板

如果这是一个新的本地分支,GitKraken 会询问您希望将更改推送到哪个远程分支。此时,您还将有机会在单击Create Pull Request按钮之前完成 GitHub pull 请求模板的字段,包括标题、描述、审阅者、受托人和标签。

GitHub 拉取请求草稿

您还可以看到,通过单击Submit as draft旁边的框,可以选择创建 GitHub pull 请求草稿。

此外,如果您喜欢直接在托管服务上编辑 GitHub pull 请求,您可以单击Continue editing on GitHub链接。

查看 GitHub 拉取请求

在 GitKraken 中创建 GitHub pull 请求后,您将能够从PULL REQUESTS窗格中查看 PR。点击单个 PR 将打开 GitKraken 针对 GitHub 的交互式拉式请求管理视图。

从这里,您可以查看您的 GitHub pull 请求,对您的 GitHub pull 请求进行额外的编辑,包括添加注释和关联构建状态和里程碑。您甚至可以在 GitKraken 的这个视图中直接合并和批准 GitHub pull 请求,并检出和测试 pull 请求分支。🤯

“新的 GitHub Pull 请求视图太棒了!👏加载速度比 GitHub 快!🔥"–杰克,GitKraken 用户

如何在命令行中创建 GitHub pull 请求?

现在,如果您正在命令行中工作,并且有一个本地分支,其中包含您希望推送到远程的更改,那么您将从使用以下命令执行 Git push 开始:

git push branch

或者,如果您的分支在远程存储库中还不存在,您可以在 Git 中设置分支的上游。

git push --set-upstream <branch-name> <branch-name>

现在您的本地分支已经被推送,您可以开始您的 GitHub pull 请求了。要开始这个过程,您将导航到 GitHub 存储库的主页,并选择包含您的更改的分支。

接下来你会打ContributeOpen pull request

您也可以导航到 GitHub pull requests 部分并点击New pull request

现在,在这一点上,您需要检查两件事情:

  • “基础”分支应该是您希望合并到的分支
  • “比较”分支是您想要合并的分支

现在,您可以在点击Create pull request按钮之前添加 GitHub pull 请求标题和描述了。

专业提示:如果您还没有准备好提交您的 PR,您可以通过从下拉菜单中选择Create draft pull request选项来创建一个 GitHub pull 请求草稿。

关于使用命令行创建 GitHub pull 请求的更多信息,您可以阅读关于创建 pull 请求的 GitHub 文档从 fork 创建 GitHub pull 请求

现在,使用 GitKraken Git GUI 这个过程不是简单多了吗?

GitHub SEO | git kon 2022 | Greg Bulmash,西雅图 CoderDojo

原文:https://www.gitkraken.com/gitkon/github-seo-greg-bulmash

https://www.youtube.com/embed/9R9K_isJulY?feature=oembed

视频

SEO,或搜索引擎优化,对一些人来说是一个肮脏的短语,但这通常是因为他们不明白让你的内容更容易找到和把它塞进人们的喉咙之间的区别。这可能是因为他们看到的 SEO 侧重于后者。

有一些实现 SEO 的方法实际上对读者是有帮助的,而不是恶意的。这里有一些技巧,可以让你在 GitHub 上的内容更容易被 GitHub SEO 发现。

如果你在 GitHub 上托管你的回购,考虑使用 GitKraken 客户端来增强你的项目历史的可见性,并且更有信心执行高级 Git 操作。

使用 GitHub 组织

例如,假设您有一个包含您个人项目的个人 GitHub ID,但是您也加入了一个志愿者团体。您可以为您的志愿者小组创建一个新的 GitHub 组织,而不是在您的个人帐户中为您的志愿者小组创建一个存储库。

GitHub 上的组织就像个人 id,但它们可以被更好地命名,因为它们不是个人句柄。而且你可以“拥有”不止一个。因为微软拥有 GitHub,所以让我们用他们著名的例子公司之一 Contoso 来进一步说明这一点。

假设您是 Contoso 的 OSS 社区经理,您需要分享一些指南和代码示例。您可以使用以下命名结构:

github.com/contoso (organization)

  |- Guides (repo)

|- Using_Contoso_Widgets (folder)

|- Samples (repo)

    |- Contoso_Widgets_SDK (folder)

但是,如果有人在 GitHub 上搜索,甚至在 GitHub 上的 Contoso 组织的顶层搜索,例如“Contoso Widgets ”,它可能不会注册任何结果,原因很简单,因为名称中没有包含“Widgets”和“Contoso”的存储库。

在这种情况下,您可能会收到一条消息:“我们找不到任何与搜索org:contoso contoso widgets.匹配的结果”

更好的策略是使用以下命名结构:

github.com/contoso-guides (organization)

|- Using_Contoso_Widgets (repo)

github.com/contoso-samples (organization)

  |- Contoso_Widgets_SDK (repo)

GitHub SEO 的好处

实现 GitHub SEO 最佳实践有一些快速的好处。

1:您现在在存储库名称中使用搜索词,而不是在子文件夹的名称中。这使得内容更容易找到,因为它会显示在主要搜索中。

2:谷歌的算法通过文件夹的深度对内容(在一定程度上)进行加权。

  • 把它放在四个文件夹的深度。
  • 把它放在三个文件夹的深度。

这不是一个巨大的差异,但谷歌将更快地索引内容,并认为它与“contoso widgets”更相关,从而使它更有可能出现在谷歌搜索结果的更高位置。

但是你可能会问:“如果客户不在一个组织下,他们如何找到从指南到 SDK 的路,反之亦然?”

这是一个很好的问题,但你可以很容易地通过链接自述文件到相关的回购协议来解决这个问题,而不仅仅是作为底部的一个要点。每当您在指南中提到 SDK 时,请链接到 SDK repo。

开始使用 GitHub SEO

如你所见,这些都不是黑帽 SEO 这不是打败竞争对手的一招。这些良好的实践有助于确保更多的人在 GitHub 上搜索您分享的内容时能够轻松找到它。所以下次你打算在 GitHub 上分享东西的时候,考虑在你的架构中使用组织。

将 GitHub repos 与 GitKraken Client 集成在一起再简单不过了,一旦完成,您将体验到强大的功能,如交互式拉请求管理、GitHub 问题连接等等。

GitKraken Pro 加入 GitHub 学生开发者包

原文:https://www.gitkraken.com/blog/github-student-pack

从旨在帮助软件开发人员集中精力编写代码的播放列表中进行选择。播放列表包括流行的音乐剧、视频游戏曲目、棕色噪音等等。

Bitbucket vs GitHub |如何选择

原文:https://www.gitkraken.com/blog/github-vs-bitbucket

Bitbucket 还是 GitHub?这些托管平台很受欢迎,因为它们为软件开发团队提供了创建、管理、跟踪和审查代码库的能力。它们是各种行业开发人员的基本工具,可以用于许多应用程序和项目。因此,如果您的团队正在从本地存储库中成长,那么可能是时候升级到更健壮的编码存储库平台了。

GitHub 和 Bitbucket 是为可伸缩的实现、小型团队和专业操作等而设计的。选择一个比另一个难,因为它们都有许多令人惊叹的功能。虽然有许多相似之处,但也有一些关键的不同之处需要考虑。

让我们来分析一下 GitHub 和 Bitbucket 的异同,这样你就可以为你的团队选择最佳方案。

GitHub 一言以蔽之

如果你是一名开发者,那么你肯定听说过 GitHub 。这是世界上最常用的开发平台之一。GitHub 在编码社区中拥有忠实的追随者,托管着数百万个存储库,并被其用户视为 Git 版本控制中心。该平台是最大的源代码主机,主要关注公共代码。您可以使用开源存储库来审查和托管代码、构建软件,甚至管理项目。

它是用 Erlang 和 Ruby 编写的,支持 200 多种编程语言,非常适合在各种环境中工作的开发人员。它还带有用于 Windows 或 Mac 的桌面客户端以及直接集成。一些应用程序集成包括 Azure,Amazon,Zendesk,Google Cloud,Code Climate 和 Heroku。

以下是他们为开发人员提供的一些编码工具的概述:

  • 动作-允许用户自动化任何工作流程
  • 包-使领导者能够托管和管理包
  • 安全性-允许用户查找功能并修复漏洞
  • 代码空间——帮助用户创建即时开发环境
  • 副驾驶-允许团队用人工智能写更好的代码
  • 代码审查——帮助管理代码变更
  • 问题-使团队能够计划和跟踪工作
  • 讨论——代码之外的协作空间

GitHub 的其他一些特性包括支持 Git 和 SVN 。你可以免费获得无限的公共存储库。

比特桶基础知识

Bitbucket 帮助团队管理版本控制,是另一个很好的存储库托管平台。它具有与 GitHub 相似的特性和优势,只是在一些地方有所不同。这个 Git 解决方案是用 Python 编写的,构建在 Django 上,这是快速编码项目的一个很好的组合。虽然没有 GitHub 那么受欢迎,但 Bitbucket 也有一批忠实的粉丝,他们坚信它适应不同商业环境的能力。

有了 Bitbucket,你可以很容易地从 Codeplex、Git、GoogleCode 和 SVN 等地方导入存储库。Bitbucket 提供了与吉拉、克鲁斯堡、詹金斯和竹子的直接集成。它还为 GitHub、Google、Twitter 和脸书等外部平台提供认证,并拥有与 Trello 高度集成的 Mac、Windows 和 Android 客户端。

这里有一些其他的特性,你可以通过 Bitbucket 来依赖:

  • 管道——让用户从测试到生产自动化他们的代码
  • 安全性-由 Atlassian Cloud 提供支持,确保用户数据的安全
  • 代码审查——使团队能够更快地发现错误并轻松合并
  • 云—提供 DevSecOps 集成和管理

Bitbucket 在特性上的不足,在丰富的集成上得到了弥补。无论您的编码和开发需求是什么,Bitbucket 可能都有适合您的解决方案或集成。

【Bitbucket 和 GitHub 的相似之处

Bitbucket 和 GitHub 都是优秀的开发工具,也是源代码仓库中最受欢迎的两个选择。现在我们已经分别介绍了每个托管平台,您可能会开始发现它们有多么相似。它们都提供公共和私有存储库选项,并且它们以非常相似的方式运行。

以下是 GitHub 和 Bitbucket 之间的一些一般相似之处:

  • 开发人员可以创建、管理和审查代码库。
  • 轻松提出拉取请求。
  • 满怀信心地进行代码评审。
  • 要求对所有用户进行双因素身份验证。
  • 附带行内编辑和降价支持。
  • 跟踪整个团队的绩效问题。

您可能已经认为这两个存储平台听起来非常相似,您可能是对的。这两个平台成为开发者最受欢迎的托管服务是有原因的。

GitHub 和 Bitbucket 的区别

虽然 GitHub 和 Bitbucket 对开发人员来说都是很棒的工具,但它们都有独特的特性,使它们最适合不同的编码环境。

让我们仔细看看 Bitbucket 和 GitHub 的主要区别。

用户界面

这两个平台之间最明显的区别之一是用户界面。Bitbucket 最近重新设计了它的界面,这样就可以更容易地通过一个方便的侧边栏和一个简单的仪表板找到你的路,清楚地展示你正在进行的工作。

位桶接口

GitHub 也有一个易于使用的界面,但它比 Bitbucket 的新外观稍欠精简。虽然界面没有那么光滑,但它仍然为开发人员提供了实用工具和导航快捷方式,使编码更容易。

GitHub 接口

另外,有传言说 GitHub 正在开发一个语音界面来与他们的副驾驶人工智能助手配合工作。

工具、扩展和自动化选项

GitHub 和 Bitbucket 都提供了各种应用程序、扩展和工具,为开发者增加了它们的功能。其中一个工具包括神奇的 GitKraken 客户端。无论您选择哪种工具, GitKraken Client 与这两种服务的集成使开发人员能够快速安全地管理他们的存储库。

Bitbucket 通过 Atlassian Marketplace 提供超过 2000 种应用程序,并与 Atlassian 产品具有跨产品兼容性。

GitHub marketplace 提供了许多应用和扩展来为他们的平台增加价值,但远没有 Bitbucket 那么多。虽然只有大约 100 个应用程序可供选择,但您也可以通过应用 GitHub 操作来提高工作效率。

超过 30%的组织使用自动化来提高内部处理速度和准确性,并且它很快成为所有类型企业的必需品。Bitbucket 管道提供了工作流自动化,但在自动化工具和资源方面,GitHub 比 Bitbucket 有优势。

GitHub 和 Bitbucket 都提供了各种应用程序、扩展和工具,为开发者增加了它们的功能。其中一个工具包括神奇的 GitKraken 客户端。无论您选择哪种工具, GitKraken Client 与这两种服务的集成使开发人员能够快速安全地管理他们的存储库。

接入供应

您可以使用 Bitbucket 或 GitHub 授予用户对所选分支的访问权限。这样,您可以配置权限来限制协作者和其他用户对存储库中所有内容的完全访问权限。在我们当前这个高水平网络攻击和复杂的威胁角色的时代,这是一个开发人员不可或缺的功能。

然而,这些平台中只有一个免费提供这个便利的特性:Bitbucket。您还可以通过 GitHub 在公共存储库上免费授予特定的访问权限而受益。然而,如果你想在私有存储库上强制执行某些访问规则,你需要一个付费的计划。

GitHub vs Bitbucket 定价

GitHub 和 Bitbucket 都允许用户在其平台上托管无限数量的公开回购。对于个人开发者来说,这可能意味着定价计划不会对他们选择利用哪种服务产生实质性影响。然而,对于需要存储私有存储库、管理席位或更密切地监控权限的大型开发团队来说,更密切地检查定价结构是值得的。

然而,这些平台中只有一个免费提供这个便利的特性:Bitbucket。您还可以通过 GitHub 在公共存储库上免费授予特定的访问权限而受益。然而,如果你想在私有存储库上强制执行某些访问规则,你需要一个付费的计划。

比特桶定价

Bitbucket 提供“免费”、“标准”和“高级”版本,按月付费。每一层的构建时间、文件存储和部署环境都会增加。此外,免费服务有五个用户限制,但标准层或高级层没有用户限制。Premium 层还提供了其他两个预告都没有的功能,包括强制合并检查、部署权限和 IP 允许列表。

GitHub 定价

GitHub 提供按年付费的“免费”、“团队”和“企业”等级。每个后续层级别都提供了新功能。企业级提供年度 SCO1、SCO2 和 type 2 报告,以及一次集中管理多个组织的能力。团队层最适合单一组织。此外,通过信用卡或 PayPal 支付的年度客户可以享受折扣价格。

【Bitbucket 和 GitHub 最大的区别

在你注册一个代码库托管平台之前,你必须考虑到你的团队主要是公开编码还是秘密编码。GitHub 和 Bitbucket 最大的区别在于,一个面向私有存储库,而另一个则更多地面向公共存储库。

哪个是哪个?Bitbucket 一般被企业开发者使用,而 GitHub 被开源开发者广泛使用。这并不意味着它们是这些用例的专属,而是每个平台都适合不同的编码专业。

你可以用开源代码用 Bitbucket 写专有软件,但是这里面有风险。你可以使用 GitHub 进行私人编码,但是它可以与共享代码和想法的开发者社区无缝协作。

开发人员仍然可以使用 Bitbucket 来托管开源存储库,并与他们的开发人员社区合作,但是如果您的目标是接触广大的开发人员,那么 GitHub 可能适合您。

简而言之,如果您正在为一个商业或企业组织开发,或者如果您的团队依赖于私有存储库,您可能想要考虑尝试一下 Bitbucket。如果你是为个人或小团队项目开发,考虑使用 GitHub。

哪个是哪个?Bitbucket 一般被企业开发者使用,而 GitHub 被开源开发者广泛使用。这并不意味着它们是这些用例的专属,而是每个平台都适合不同的编码专业。

Bitbucket vs. GitHub:哪个更好?

GitHub 和 Bitbucket 都是强大的产品,提供了大量的集成、简单的开发工具和在线支持社区。它们在形式和功能上非常相似,只有一些细微的区别。

为您的编码库选择最佳的托管平台可能会很棘手。开发人员的需求和这两个平台的特性有很多重叠。然而,Bitbucket 和 GitHub 各有独特的优势,使它们在某些开发团队中脱颖而出。

总之,GitHub 是一个流行的开源存储平台,非常适合可以与公众共享的项目,而 Bitbucket 是为他们的专有代码寻找安全位置的团队的一个很好的解决方案。

Bitbucket vs. GitHub:哪个更好?

无论您选择 GitHub 还是 Bitbucket,GitKraken 客户端与这些工具的集成都使得管理您的存储库变得更加容易和直观。

为您的编码库选择最佳的托管平台可能会很棘手。开发人员的需求和这两个平台的特性有很多重叠。然而,Bitbucket 和 GitHub 各有独特的优势,使它们在某些开发团队中脱颖而出。

总之,GitHub 是一个流行的开源存储平台,非常适合可以与公众共享的项目,而 Bitbucket 是为他们的专有代码寻找安全位置的团队的一个很好的解决方案。

无论您选择 GitHub 还是 Bitbucket,GitKraken 客户端与这些工具的集成都使得管理您的存储库变得更加容易和直观。

GitHub 集成|使用 GitHub 和 GitKraken

原文:https://www.gitkraken.com/git-client-integrations/github

将 GitKraken 与 GitHub 集成连接后,您将能够生成并添加 GitHub SSH 密钥。

导航到PreferencesSSH,然后点击 魔法 ✨ Generate SSH key and add to GitHub按钮。

GitKraken 使与 GitHub 的连接变得快速而简单,甚至让您直接从 GUI 登录到您的 GitHub 帐户。 登录 GitKraken 时,可以选择Sign in with GitHub按钮,输入凭证。这将自动连接您的 GitKraken 帐户到 GitHub 集成。

为了开始添加 GitHub 遥控器,你仍然需要 通过 GitHub 认证 GitKraken。不过不用担心,那个过程也一样简单! 只需导航至 GitKraken UI 的右上角,点击 gear ⚙️图标,即可进入您的 GitKraken 账户偏好设置,然后点击Integrations。从这里,你可以选择左边的GitHub,然后点击Connect to GitHub按钮。

GitKraken 允许 GitHub.com 或 GitHub 企业集成的用户从 GitHub 派生存储库。 要开始派生 GitHub 存储库,首先要在 GitKraken 中打开 GitHub 存储库。然后,点击左侧Remote面板的绿色+图标,选择GitHub.comGitHub Enterprise选项卡。 如果 GitKraken 在远程存储库上没有检测到任何现有的分支,Git GUI 将为您提供分支存储库的选项,然后将其添加为远程存储库。

点击Fork and Add Remote按钮,分叉 GitHub 库,在 GitKraken 的左侧面板中添加为 remote。

在 GitKraken 中添加 GitHub remote 的现有 fork 的过程非常类似。您将遵循如上所示的第一步,但是 GitKraken 将检测现有的分叉,从这里,您可以简单地单击Add this Remote按钮。

GitKraken 允许您通过将一个分支拖放到另一个 分支 上并选择Start a pull request...选项,轻松地直接在应用程序内创建 GitHub pull 请求。这将在 GitKraken 中打开一个 pull request 模板,在这里您可以向您的 PR 添加审核人、受托人和标签,然后 GitKraken 会将其传递给 GitHub。

GitKraken 还允许您直接在 Git 客户端创建和保存 GitHub pull 请求草案。只需选中 pull request 模板中Submit as draft旁边的复选框,就可以创建 GitHub draft pull request。

在 GitKraken 中,GitHub remote repo 和 GitHub Issues 集成共享同一个连接,在 导航 到PreferencesIntegrations后,您可以从ISSUES窗格中选择 GitHub 或 GitHub Enterprise。

在 GitKraken 中连接 GitHub 问题集成后,您的问题将出现在左侧面板中。将鼠标悬停在左侧面板中的任何问题上可获得预览,包括问题标题、描述、状态、标签、受托人和报告者。

要在 GitKraken 中创建一个新的 GitHub 问题,首先要点击左侧面板中问题跟踪器旁边的绿色+按钮。

GitKraken 提供的另一个伟大特性是能够创建与 GitHub 问题相关的 分支 。 这使您能够简化问题跟踪并直接开始工作,而无需在两种工具之间切换上下文。 您可以通过点击Create a branch for this issue按钮,直接从问题详细信息视图创建与问题相关联的分支。或者,您可以单击左侧面板中的某个问题来访问相同的选项。

宣布 GitKon 于 2022 年 10 月 11 日至 13 日|公开征集演讲人

原文:https://www.gitkraken.com/blog/gitkon-2022-announced

现在就计划加入我们的git kon 2022;10 月 11 日至 13 日将举行一场关于协作的免费虚拟技术会议!

创造合作的未来

我们举办了盛大的 GitKon 2021,这是我们的首次活动。我们有超过 4000 名注册者,数百人参加了我们关于 GitKon Discord 的现场讨论。如果你想重新观看或分享这些精彩的会议,你可以在我们的 GitKon 2021 页面上找到所有的演讲。

GitKraken 再次推出 GitKon,这是一个面向所有经验水平和背景的 Git 用户的 100%免费在线会议。今年,我们的主题是“创造合作的未来”在过去的几年里,我们目睹了团队改变他们的工作方式和项目协作方式,以适应这些混乱的时代。每个故事的核心是团队如何利用 Git 以及依赖于世界上最流行的版本控制系统的平台和服务。

我们再一次聚集了许多专业领域的思想领袖和专业人士,为您带来许多发人深省的会议。我们还将提供一个平台,与您的同行讨论和交流任何与 Git 和团队相关的想法!

较短的格式

我们从去年听到的反馈是,长时间的会议和长时间的工作让人不堪重负,有点疲惫。今年,我们尝试了一种稍微不同的更短的形式。

我们将保持会议简短,以抖音的方式,每次不超过 15 分钟。当我们增加第三天时,每天只有 3 个小时。我们希望每个人离开时都能感受到教育、活力和灵感。

我们把 GitKon 分成两部分。

开发者和团队 2 天。

开发团队领导和技术主管 1 天。

  • 开发者和团队 2 天。
  • GitKon 的每一天都有一个特定的焦点,让您和您的团队能够收听最相关的会议,并帮助您将 GitKon 纳入您的日程!活动结束后,我们也将提供点播服务,但我们邀请您现场参与对话,因为演讲者将在首播期间和之后在线回答 GitKon Discord 服务器上的问题。这些对话将不会被存档。

让我们仔细看看 GitKon 2022 的每一天我们都计划了什么!

GitKon 的每一天都有一个特定的焦点,让您和您的团队能够收听最相关的会议,并帮助您将 GitKon 纳入您的日程!活动结束后,我们也将提供点播服务,但我们邀请您现场参与对话,因为演讲者将在首播期间和之后在线回答 GitKon Discord 服务器上的问题。这些对话将不会被存档。

第一天:深入 Git 和平台

GitKon 2022 的第一天就是 Git 本身。这是邀请您的同事、朋友以及刚接触 Git 或者对深入研究版本控制最佳实践感兴趣的同事的理想日子。

天一会专题专题如:

Git 提示和技巧。

Git 内部和概念

  • 使用服务和框架的 Git

  • 第 2 天:开发人员和团队

  • GitKon 2022 的第二天将关注 DevOps 最佳实践和团队成员利用基于 Git 的工具更好地协作的故事。这一天将重点关注 DevOps 和 GitOps 的技术内容,以及团队如何利用基于 Git 的工作流在更加分散的工作环境中更好地协作的故事。

    第二天将围绕以下主题进行展示:

分布式团队协作

devo PS/gitop 最佳实践

每一步的安全性

  • 特定于计划/平台的讲座

  • devo PS/gitop 最佳实践

  • 第 3 天:领导和扩展组织

  • 在 GitKon 2022 的第三天,我们计划召集一些来自一些最大和发展最快的组织的思想领袖,向首席信息官、首席信息官、工程副总裁、技术总监和其他组织领导人发表演讲。这是一个和其他人一起面对成长中的团队的挑战的日子,在一些非常有趣的时刻。虽然每个人都被邀请参加 GitKon 2022 的所有三天,但这是一个关于管理和扩展企业团队的一天!

    第三天的主题将由著名的科技高管主讲:

建立/扩展高效团队的经验教训

开发人员生产力和 DORA 指标

领导团队&在混乱时期促进有效的团队合作

  • 新兴趋势

  • 在 GitKon 2022 演讲

  • 没有一些世界级的演讲者,我们无法让 GitKon 2022 发生!我们现在接受 GitKon 2022 演讲的会议提交材料!如果您觉得您对我们在此阐述的任何主题有所贡献,或者在头脑中有另一个符合“创造合作未来”主题的主题,我们邀请您申请发言

    请随意将征集演讲者转发给任何团队成员、团队领导或任何你认为会成为 GitKon 2022 优秀演讲者的人。

  • Emerging trends

期待一场精彩的在线活动

我们超级兴奋地向全世界宣布 GitKon 2022。我们希望你能帮助我们把这个消息传出去!只需几次点击,您就可以与您的社区共享 GitKon 2022 新闻:

没有一些世界级的演讲者,我们无法让 GitKon 2022 发生!我们现在接受 GitKon 2022 演讲的会议提交材料!如果您觉得您对我们在此阐述的任何主题有所贡献,或者在头脑中有另一个符合“创造合作未来”主题的主题,我们邀请您申请发言

请随意将征集演讲者转发给任何团队成员、团队领导或任何你认为会成为 GitKon 2022 优秀演讲者的人。

随着十月份的临近,我们将会公布更多的有趣和惊喜。现在你可以注册电子邮件更新,以便在GitKon.com 网站上了解 GitKon 2022 公告。

我们对 GitKon 2022 感到非常兴奋,迫不及待地想在这个独一无二的免费虚拟活动中见到您!

期待一场精彩的在线活动

我们超级兴奋地向全世界宣布 GitKon 2022。我们希望你能帮助我们把这个消息传出去!只需几次点击,您就可以与您的社区共享 GitKon 2022 新闻:

随着十月份的临近,我们将会公布更多的有趣和惊喜。现在你可以注册电子邮件更新,以便在GitKon.com 网站上了解 GitKon 2022 公告。

我们对 GitKon 2022 感到非常兴奋,迫不及待地想在这个独一无二的免费虚拟活动中见到您!

GitKon 2022 特色扬声器| GitHub、GitLab、微软等

原文:https://www.gitkraken.com/blog/gitkon-2022-featured-speakers

GitKon 是一个独特的虚拟技术会议,由 GitKraken 主办,Git kraken 是开发高质量 Git 工具的世界领导者。

这项活动已经是第二年了,但是有一些变化。今年,科技大会将于 10 月 11 日至 13 日举行,为期三天,每天有 12 场 15 分钟的会议。除了 GitKon keynote、Drupal 联合创始人兼首席技术官兼 Acquia 联合创始人 Dries Buytaert 之外,我们还有来自 GitHub、GitLab、Atlassian、微软、Visual Studio Code、Secure Code Warrior、Sourcegraph 等公司的令人难以置信的演讲者阵容。

最精彩的部分?Git 大会是完全免费的,对所有人开放。

不管你的经验水平如何,向这个领域的其他人学习可以拓展你的视野,改善你的工作流程。

Register for GitKon Free

马蒂亚斯·马杜:安全代码战士

马蒂亚斯·马杜(Matias Madou)博士是安全代码战士(Secure Code Warrior)的首席技术官和联合创始人,他帮助创建了这家公司,因为他意识到,如果你一开始就不教开发人员如何编写安全代码,那么将安全问题引入代码就太容易了。

他的 GitKon 2022 会议: 知识与行为:洞察开发人员的安全技能提升 ,灵感来自帮助激发安全代码战士的基本概念。Evans Data 最近的一项调查得出结论,67%的开发人员故意发布易受攻击的代码,只有 14%的人在编写软件时将安全性视为首要任务。

马蒂亚斯说:“我们已经知道,开发人员正在努力应对相互竞争的优先级、不可能的截止日期和增加的责任。“在当今灾难性数据泄露的世界中,我们需要打破坏习惯,根除糟糕的编码模式。”

与会者可以带着他们需要的工具离开,以分析他们作为开发人员的行为,或作为工程领导的团队的行为,并提供正确的资源以实现更好的安全结果。

德米特里斯·奇塔姆:吉图布

Demetris CheathamGitHub 的多元化、包容性和归属感战略高级总监,她领导着一项多元化和包容性战略,该战略主要关注四大支柱:人力资源、平台、慈善事业和政策。2021 年,她发起了 GitHub All In 开源社区,与整个开源社区的贡献者、维护者和领导者组织了一次广泛的倾听之旅,旨在更好地了解开发者未来的经历、挑战和机遇。

在她的 GitKon 2022 环节: 让我们开源多样性和包容性! ,Demetris 将讲述开源社区面临的一些与多样性和包容性相关的挑战。

德米特里斯说:“尽管投入了大量资源和资金,但许多相关的努力都是分散的,没有公开共享,只能解决部分挑战,并且缺乏真正的社区合作。”。“我们必须开始以不同的方式对待开源中的多样性,以确保我们产生不同的结果。”

与会者将学习如何利用相关数据来构建与开源中的多样性和包容性相关的现有研究和计划。

在她的 GitKon 2022 环节: 让我们开源多样性和包容性! ,Demetris 将讲述开源社区面临的一些与多样性和包容性相关的挑战。

Brigit Murtaugh: Visual Studio 代码

与会者将学习如何利用相关数据来构建与开源中的多样性和包容性相关的现有研究和计划。

Brigit Murtaugh 是 Visual Studio Code 团队的产品经理,她主要负责远程开发。自 2019 年从中佛罗里达大学毕业并获得计算机科学学士学位以来,她一直在微软从事开发者工具的工作。

在她的 GitKon 2022 会议: Dev Containers:在任何地方工作的一致环境 中,Brigit 将讨论开发容器如何提供功能齐全的环境,以确保您的项目拥有所需的工具和软件。

Brigit 解释说:“虽然容器在部署时一直被用来标准化应用程序,但容器可以用来支持许多不同的开发场景。“我很高兴向人们展示开发容器和规范带来的可能性。”

Brigit 将向与会者展示 Development Containers 规范,它使任何人都能够使用任何工具来配置一致的开发环境。该工具通过通用的开发特定设置、工具和配置丰富了现有的格式,同时还提供了一个简化的、非编排的单一容器选项,因此它们可以用作编码环境或用于持续集成和测试。

在本次会议结束时,Brigit 将教与会者如何开始使用 dev 容器和规范。

超越刘:来源图

Beyang LiuSourcegraph 的首席技术官和联合创始人,他将其描述为“有点像 Google + Netscape 的代码库和依赖图”贝扬在斯坦福大学学习计算机科学,在那里他在斯坦福人工智能和人机交互实验室进行研究,以了解什么是编译器。在加入 Sourcegraph 之前,Beyang 在 Palantir 工作,帮助一些最大的金融服务组织解决与大代码相关的问题。

在他的 GitKon 2022 会议: 一个开发人员对开发人员生产力的想法 中,Beyang 将谈论为什么我们应该专注于直接的开发人员体验,而不是听自称的“专家”兜售生产力工具。

“大多数开发人员生产力模型和专家没有看到开发人员实际上是如何工作的,忽略了开发人员日常工作流程的关键组成部分,”Beyang 说。“我期待着与 GitKon 的其他开发人员分享我对生产力的想法,并将这些模型与我们自己的体验联系起来。”

与会者将观看 Beyang 讲述我们如何开始使用直接开发人员经验和我们自己的心智模型来绘制实际上接近我们生活的世界的图片和图表。

露丝·贝拉:娜丝缇娃

Ruth Vela 是 Nextiva 的技术体验总监,这是一家软件公司,帮助销售、服务和营销团队实现更高的生产力并提高客户参与度。在 Nextiva,Ruth 负责技术体验项目,努力确保公司的全球技术专家团队拥有始终如一的积极体验和高度敬业的员工队伍。Ruth 还负责 Nextiva Mexico 的端到端运营,该公司的大部分研发工作都在墨西哥进行。

在她的 GitKon 2022 会议: TechEX:建立和支持远程工程团队的人性一面 中,Ruth 将谈论工程领导者可以建立的计划和框架,以实现其全球远程团队的成功协作,以及为什么作为一名工程师,选择一家了解并重视积极的远程体验的公司至关重要。

Ruth 说:“Nextiva 的技术体验计划是一个很好的例子,说明组织在远程员工体验方面是积极主动的。“我真的很高兴能分享我们所学到的东西,这样其他人就可以采用更好的实践,从而成为更快乐的工程师。”

与会者将获得改善远程面试流程、团队管理、选择合适的设备、改善员工体验、创建人才招聘品牌和建立技术社区的技巧。

布兰登·奥利里:GitLab

Brendan O'Leary 是 DevOps 平台 GitLab 的开发人员传道者,也是云计算原生计算基金会的董事会成员和多家初创公司的顾问。他热衷于软件开发和迭代过程,就像我们迭代代码一样快。与客户合作创造价值,激发了 Brendan 对 DevOps 和顺利实施 CI/CD 的热情。

在他的 GitKon 2022 会议: 平台的时代 中,Brendan 将讨论平台的演变。多年来,运营团队一直试图构建弹性计算平台供开发人员部署,而与此同时,开发人员正在拼凑工具,以确保代码的集成、构建、测试和安全。与此同时,我们已经看到 DevOps 行业正在走向 DevOps 平台时代,整合和扩展功能,使开发人员能够在代码上花费更多时间,在工具上花费更少时间。

“最终,平台并不是我们正在构建的东西,”Brendan 解释道。“套用《Halt and Fire》的话:‘平台不是重点。它们是让你接触到事物的东西。"

与会者有望了解如何成功利用 Kubernetes 和 DevOps 平台来更快地调整和发布代码。

安德鲁·潘克维丘斯:亚特兰蒂斯人

Andrew Pankevicius 是一位经验丰富的产品负责人,他有幸管理过大型跨职能团队,多次参与融资,并在澳大利亚、旧金山和东南亚建立了 SaaS 产品。作为吉拉 DevOps 在 Atlassian 的高级产品经理,Andrew 负责将吉拉软件的新 DevSecOps &发布管理解决方案推向市场。

在他的 GitKon 2022 会议中: 大规模开发运维:将您的产品组织从 1 人扩展到 100 人的真实情况 Andrew 将指导与会者完成重要的成长里程碑,从第一天的基础概念 DevSecOps,到跨职能的发布流程编排和开发运维工具链管理,同时扩展您的开发团队。

“随着组织规模的扩大,团队很快就会认识到这不仅仅是招聘,”Andrew 说。“更多的是关于你的团队的工具和开发实践如何改变、扩展和满足你的组织不断增长的需求。”

与会者将带着更大的信心去扩展他们的开发团队,同时保持 DevOps 的最佳实践和原则。

埃里克·阿莫迪奥

Eric Amodio 是 GitKraken 的 CTO,也是最流行的 VS 代码的 Git 扩展 GitLens 的创造者。他是一名企业家、创新者、领导者、架构师和全栈开发人员,他的热情在于构思新的想法,并通过代码将它们变为现实。Eric 热衷于挑战和解决复杂的问题,同时也确保接受挑战和设计解决方案时始终着眼于更大的图景——用户体验。他为自己能够只见树木不见森林,以及能够深入挖掘细节而自豪。他非常关注他所构建的产品的体验、架构和代码。

Eric 也是一个开源爱好者和维护者。何

开源;既建设又贡献,热爱开源运动中知识驱动的协作和共享。Eric 最喜欢的编辑器是 Visual Studio Code,他目前最喜欢的技术是 TypeScript、Node.js 和。网芯。

Eric 的 GitKon 2022 特别会议的信息即将发布-同时,请查看他在 GitKon 2021 的演讲: 为 VS 代码 构建 GitLens。

立即注册 GitKon 2022

如果这个演讲者阵容没有吸引你,我们甚至有更多的专家排队分享他们在 Git、团队协作、DevOps 等方面的专业知识,所有这些都是完全免费的。注册将于gitkon.com开始。

请继续关注来自亚马逊、雅虎!、新遗迹、GitHub、GitKraken 等等。

安德鲁·潘克维丘斯:亚特兰蒂斯人

去年的 GitKon tech 大会吸引了 4000 多名注册者,今年将会更大更好!不要错过。⬇️

Andrew Pankevicius 是一位经验丰富的产品负责人,他有幸管理过大型跨职能团队,多次参与融资,并在澳大利亚、旧金山和东南亚建立了 SaaS 产品。作为吉拉 DevOps 在 Atlassian 的高级产品经理,Andrew 负责将吉拉软件的新 DevSecOps &发布管理解决方案推向市场。

在他的 GitKon 2022 会议中: 大规模开发运维:将您的产品组织从 1 人扩展到 100 人的真实情况 Andrew 将指导与会者完成重要的成长里程碑,从第一天的基础概念 DevSecOps,到跨职能的发布流程编排和开发运维工具链管理,同时扩展您的开发团队。

“随着组织规模的扩大,团队很快就会认识到这不仅仅是招聘,”Andrew 说。“更多的是关于你的团队的工具和开发实践如何改变、扩展和满足你的组织不断增长的需求。”

与会者将带着更大的信心去扩展他们的开发团队,同时保持 DevOps 的最佳实践和原则。

埃里克·阿莫迪奥

Eric Amodio 是 GitKraken 的 CTO,也是最流行的 VS 代码的 Git 扩展 GitLens 的创造者。他是一名企业家、创新者、领导者、架构师和全栈开发人员,他的热情在于构思新的想法,并通过代码将它们变为现实。Eric 热衷于挑战和解决复杂的问题,同时也确保接受挑战和设计解决方案时始终着眼于更大的图景——用户体验。他为自己能够只见树木不见森林,以及能够深入挖掘细节而自豪。他非常关注他所构建的产品的体验、架构和代码。

Eric 也是一个开源爱好者和维护者。何

开源;既建设又贡献,热爱开源运动中知识驱动的协作和共享。Eric 最喜欢的编辑器是 Visual Studio Code,他目前最喜欢的技术是 TypeScript、Node.js 和。网芯。

Eric 的 GitKon 2022 特别会议的信息即将发布-同时,请查看他在 GitKon 2021 的演讲: 为 VS 代码 构建 GitLens。

立即注册 GitKon 2022

如果这个演讲者阵容没有吸引你,我们甚至有更多的专家排队分享他们在 Git、团队协作、DevOps 等方面的专业知识,所有这些都是完全免费的。注册将于gitkon.com开始。

请继续关注来自亚马逊、雅虎!、新遗迹、GitHub、GitKraken 等等。

If this speaker lineup didn’t entice you, we have even more experts lined up to share their expertise on Git, team collaboration, DevOps, and more, all completely FREE. Registration is open on gitkon.com.

去年的 GitKon tech 大会吸引了 4000 多名注册者,今年将会更大更好!不要错过。⬇️

Last year’s GitKon tech conference drew over 4,000 registrants, and this year is going to be even bigger and better! Don’t miss out. ⬇️

Register for GitKon Free Today

GitKon 2022 主题演讲:Drupal 创始人兼 Acquia CTO Dries Buytaert

原文:https://www.gitkraken.com/blog/gitkon-2022-keynote-dries-buytaert-drupal-acquia

全球 Git 社区的虚拟技术会议 GitKon 2022 的第一位主题演讲人已经宣布: Dries Buytaert ,Acquia 的联合创始人/首席技术官和 Drupal 的创始人。

他的会议:从宿舍到白宫 Drupal 如何成长并成为开源 web 体验的标准将讲述 Dries 如何通过拥抱开源最终获得商业成功的故事。

GitKon 汇集了开发人员、技术团队、经理、高管和思想领袖,他们对软件开发的热情和 Git 支持的团队协作将他们团结在一起。

“让人们在共同的激情下走到一起是 Drupal 的核心所在,”Dries 说。“GitKon 是分享我们通过拥抱开源社区进行扩展的故事的最佳场所。”

GitKon 完全免费参加,并在网上提供,主讲人来自 GitHub、GitLab、微软、亚马逊、Atlassian 等。

Register for GitKon Free

Drupal 是什么?

Drupal 是一个免费的开源网络内容管理系统,由 Dries Buytaert 于 2001 年创建,就在 Git T3 由 T2 创建的几年前。

最初,Drupal 是作为一个简单的留言板创建的,可以由 Dries 所在的大学社区轻松编辑和管理。Drupal 这个名字来源于荷兰语:' druppel,意为掉落。Drupal 很快流行起来,全世界的开发者社区都开始采用它。

Drupal 目前为全球数百万网站提供支持。虽然开放代码可以被任何人用于任何用例,但 Drupal 尤其受全球政府机构、大学和大型非营利组织的欢迎。每天都有数百万人依靠 Drupal 获取公共服务和关键信息。

Drupal 对编码人员如此有吸引力的主要原因之一是通过使用模块添加特性和功能的简单方法。Drupal 模块是通过可以添加到 Drupal 之上的代码项目独立产生和维护的。

这种模块化方法意味着您可以根据自己的需要修改 Drupal,而不需要“破解核心”,这使得核心代码库变得非常健壮和可靠。作为一个社区主导的项目,如果模块被认为对整个项目是有价值的和必要的,那么模块可以被添加到 Drupal 核心中。

Drupal 主题和安全性

这么多大型组织采用 Drupal 还有很多其他原因。这包括 Drupal 主题的直接性。虽然您可以从头开始,但有超过 2,800 个免费的社区贡献的 Drupal 主题可供使用,并根据您的需要进行修改。

Drupal 受欢迎的另一大原因是对安全性的关注。Drupal 安全团队以极快的速度向整个社区传达漏洞并提供安全补丁,增加了一层只能来自开放透明社区的信任。

Drupal vs Acquia

2007 年,Dries 共同创立了 Acquia,其使命是为 Drupal 项目提供商业支持。Acquia 还提供专业服务和附加产品,可以进一步扩展 Drupal 加上 Drupal 培训和认证

Acquia 的创建是为了提供补充 Drupal 的服务,使管理网站的开销最小化,并使开发者和团队更容易建立高质量的数字体验。这两种工具一起协同工作。

所以在对比 Drupal 和 Acquia 的时候,你可以把后者看成是前者的商业化配套工具。

2007 年,Dries 共同创立了 Acquia,其使命是为 Drupal 项目提供商业支持。Acquia 还提供专业服务和附加产品,可以进一步扩展 Drupal 加上 Drupal 培训和认证

为 Drupal 开发创造合作的未来

通过 Git 的力量分享团队合作、DevOps 和扩展组织的最佳实践是 GitKon 的核心使命。

社区是 GitKon 背后的驱动力,我们非常自豪地宣布 Dries 将成为今年 GitKon 的主题演讲人,并很高兴听到他分享他从扩展项目、公司和真正的全球社区中获得的经验。

无论你的背景或经验如何,GitKon 都可以帮助你向同行和思想领袖学习,发现新的方法和哲学,从而更聪明地工作,更有效率。

通过 Git 的力量分享团队合作、DevOps 和扩展组织的最佳实践是 GitKon 的核心使命。

立即注册 GitKon 全球 Git 大会

GitKon 2022 是一个你不想错过的活动。 GitKon 注册现已开放,请在 2022 年 10 月 11 日至 13 日期间免费预订!

立即注册 GitKon 全球 Git 大会

GitKon 2022 是一个你不想错过的活动。 GitKon 注册现已开放,请在 2022 年 10 月 11 日至 13 日期间免费预订!

GitKon 2022:开发运维、团队协作、开发人员技能等

原文:https://www.gitkraken.com/blog/gitkon-2022-session-topics

如果你没有听说过 GitKon,GitKraken 主办的虚拟技术会议,你可能会错过 Git 社区今年最重要的教育活动之一。

GitKon 2022 是第二届年度活动,将比去年更大、更好。我们将一天的内容扩展到了三天,时间更短,只有 15 分钟,并为团队和项目负责人增加了更多的主题。但就像去年一样,我们的演讲者阵容首屈一指,专家来自 GitHub、GitLab、微软和 VS Code、Sourcegraph 等公司。

你可以了解更多关于 GitKon 2022 专题演讲人的信息,或者继续阅读,看看你还能从谁那里听到什么,以及我们将在今年的活动中深入探讨什么话题。

注册参加 GitKon 2022,聆听来自 GitHub、GitLab、微软、Atlassian 等的专家讨论新兴话题、趋势和技巧,让您的开发技能更上一层楼。

Register for GitKon Free

DevOps: DORA、GitHub 页面、Git 钩子等等

几年来,DevOps 一直是软件开发领域的热门话题,并且在这段时间里有了显著的发展。DevOps 这个术语已经包含了各种各样的策略和框架,比如持续集成、持续交付、DevSecOps、GitOps 等等。

GitHub: GitHub 页面重新想象

Rizel Scarlett 是 GitHub 的开发者倡导者,在业余时间,她还兼职 G{Code} House 的负责人,这是一个旨在教授有色人种妇女和有色人种非二进制代码的组织。Rizel 相信利用脆弱、诚实和善良作为教育早期职业开发人员的手段。

在她的 GitKon 2022 会议中: GitHub Pages Reimagined:无需离开您的 IDE 部署您的第一个网站,Rizel 将讲述她如何为 Visual Studio 代码构建一个扩展,使用户只需点击几下按钮,就可以直接从 VS 代码向 GitHub 页面发布他们的第一个网站。

“从购买域名到管理 CI/CD,发布您的第一个网站可能是一个很高的准入门槛,”Rizel 解释说。“我期待着向 GitKon 与会者展示一个更简单的流程,使用他们已经熟悉的工具。”

从 CI 到 AI

Eran Yahav 是 Tabnine 的首席技术官,Tabnine 是一家提供人工智能辅助开发工作流的软件公司。Eran 还是以色列 Technion 的计算机科学教授,他的研究兴趣包括程序综合、代码的机器学习、程序分析和程序验证。Eran 喜欢长跑,虽然他还没有赢得任何奖牌,但他至少在尝试中中暑过一次。

在他的 GitKon 2022 会议: 从 CI 到 AI:您组织中的 AI 层 中,Eran 将向与会者传授使用 AI 工具和培训定制模型的最佳实践,以释放您代码库中的丰富信息。

“近年来,我们已经看到在软件开发中使用人工智能的爆炸式增长,”Eran 说。“我很高兴与 GitKon 与会者分享使用人工智能提高开发团队生产力的机遇和挑战。”

彼得·佩扎里斯,新遗迹:DevOps 工作流程中断

彼得·佩扎里斯是软件公司 New Relic 的战略和开发工具高级副总裁(SVP),该公司开发基于云的解决方案,帮助网络和应用程序所有者跟踪性能。Peter 是协作和社交网络领域公认的专家,开创了实时消息传递中几个当今最常用的功能。彼得创建并领导了几家技术公司,包括 CodeStream、Glip、Multiply.com 和 Commissioner.com,最后一家是首批在线幻想体育平台之一,于 1999 年被 CBS 收购。

在他的 GitKon 2022 环节:devo PS 工作流程被打破。以下是修复方法。 ,Peter 将讲述如何为 DevOps 创造更好的发展道路,让开发者、运营工程师、团队和组织等获得更好的体验和结果。

"现代的 DevOps 有很多不一致的地方,低效的沟通,以及断裂的工具链."彼得哀叹道。“我们需要结束这些挑战,以便开发人员能够编写和运行出色的代码,并做出基于数据的明智决策。”

Hezheng Yin,Merico:在 15 分钟或更短时间内实现 DORA

Hezheng Yin 是 Merico 的首席技术官和联合创始人,Merico 是一家为开发人员和团队提供代码贡献分析的软件公司,他领导着全球工程和研究团队。Hezheng 获得了清华大学的学士学位,是应用技术改进软件开发的先驱,目前担任 Apache DevLake 的维护者。

在他的 GitKon 2022 会议: 在 15 分钟或更短时间内实施 DORA中,和政将展示一种快速而实用的方法来实施 DORA 指标和其他生产力措施,以指导社区和团队。

“我将向与会者传授可行的技术和解决方案,为他们的团队带来更多透明度,”何正说。这包括数据收集、数据分析和使用 DORA metrics 创建仪表板

DJ 施林,雅虎!:你能走多远就走多远…用 Git 钩子

DJ Schleen 是 DevOps 的先驱和安全倡导者,他为希望将安全集成到其 DevOps 实践中的组织提供思想领导。DJ 来自从业者背景,擅长构建渐进式应用程序安全程序,在 DevOps 环境中实现安全自动化,以及打破阻碍更安全软件交付的组织孤岛。

在他的 GitKon 2022 会议中: 尽你所能走得更远——与 Git 挂钩 集成,DJ 将向与会者介绍本地操作管道、Git 挂钩,以及如何使用这两者在代码到达远程存储库之前中断提交以解决安全、构建和质量问题。

DJ 指出:“在 DevOps 和 DevSecOps 中,人们经常谈论向左移动,以确保当出现合并冲突、构建中断或生产问题时,反馈能够返回给开发人员。“开发人员可以通过与 Git 挂钩集成来确保他们尽可能走得更远,我期待着与 GitKon 与会者分享这一见解。”

Nitish Garg,Oscar Health: CI 挑战大型 Monorepos

Nitish Garg 作为一名软件工程师在 Oscar Health 工作了四年,构建和维护开发工具,在此之前,他曾在彭博工作。

在他的 GitKon 2022 会议: 大型 Monorepos 的 CI 挑战 中,Nitish 将向与会者展示如何解决与在 Git 中使用大型 monorepos 的持续集成相关的三个主要挑战:

1.计算请求中已更改的测试

2.在远程 CI 服务器上缓存大型 monorepos

3.缓存您的 monorepo 中定义的相关第三方

亚当卡尔普,学习 A-Z:包无处不在!它们是你的了!

Adam Culp 是 Learning A-Z 的高级首席软件工程师,该组织为 K-6 教师和学生创建基于研究的资源。他热衷于使用 PHP 进行开发,为许多开源项目做出了贡献,并组织了 SunshinePHP 开发者大会以及南佛罗里达 PHP 和 Python 用户组(SoFloPHP,SoFloPy)。

在他的 GitKon 2022 会话: 包无处不在!它们是你的了! ,Adam 将向与会者展示如何通过在 GitHub 上创建他们自己的包来使部署变得更容易,这些包稍后将由公共包和依赖管理器使用。

“现代基于 web 的应用程序很复杂,开发人员经常陷入用全栈框架创建单一代码库的陷阱,”Adam 解释道。“许多开发人员不知道的是,他们可以通过使用定制包,以最小的努力轻松避免这些复杂的怪物。”

定制包可以放在任何有 Git 的地方,许多服务提供商提供了方便的 Git 包存储库,Adam 将在本次会议中对此进行回顾。

Harsh Bardhan Mishra,LocalStack:构建自动化持续集成

Harsh Bardhan Mishra 是一名开源工程师,在一个云服务模拟器 LocalStack 工作,这个模拟器可以在几秒钟内创建一个测试环境,拥有真实 AWS 环境的所有功能。Harsh 一直是各种谷歌开源项目的一部分,并为许多项目做出了贡献,如 SciPy、MetaCall 和 Moja Global,这是 Linux 基金会下的一个合作项目,通过开发开创性的软件来支持雄心勃勃的气候行动。

在他的 GitKon 2022 会议: 为您的云构建自动化持续集成工作流&无服务器应用 中,Harsh 将展示 LocalStack 在本地测试和集成方面的强大功能,并展示 CI runner 如何启动 LocalStack 并执行测试套件,最终使团队能够削减成本并更加自信地发布。

Harsh 解释说:“由于各种云服务提供商占据主导地位,全球的工程团队正在努力优化云开发、测试和部署,并使这些工作流更加高效。“使用 LocalStack,您可以在几秒钟内启动本地测试环境,并获得与真实 AWS 环境相同的功能。我期待着在会议上与与会者分享这一工具。”

我们的两位 GitKon 2022 专题演讲人也将谈论 DevOps:git lab 的开发者福音传道者 Brendan O'Leary 将发表演讲: 平台时代 ,Atlassian 的吉拉 devo PS 高级产品经理 Andrew Pankevicius 将发表演讲: 规模化的 devo PS——ot 如何将您的产品组织从 1 人扩展到 100 人

安全性:保护代码秘密和减少漏洞

我们已经看到软件开发越来越关注安全性,特别是 Git,因为相关的违规事件继续以更快的速度发生。对现代开发团队来说,评估系统或产品的安全性至关重要。

奥德丽·龙,微软公司:亲近你的敌人,保守你的秘密

Audrey Long 是微软商业软件工程团队的高级安全软件工程师,商业软件工程团队是一个全球工程组织,直接与公司合作解决技术挑战。对奥黛丽来说,安全就像解决一个难题,但具有现实生活的影响,她喜欢打破这些难题。她拥有国防部机密许可和约翰霍普金斯大学的网络安全理学硕士学位。

在她的 GitKon 2022 会议: 让你的敌人靠近,让你的秘密靠近 中,奥黛丽将讨论流行的开源工具:Yelp Detect Secrets,并将展示她如何包装该工具以用于 Azure。与会者将学习如何获取结果并立即将它们导出到他们的 backlog 中,并开始使用这个扩展来防止对代码的不必要的访问。

“黑客可以利用懒惰的开发者,”奥黛丽警告说。“他们中的许多人没有意识到恶意对手可以使用检测机密工具快速找到他们代码库中的机密。对于担心在代码中意外留下凭据的人来说,这个会话会很有帮助。

Checkmarx:无缝添加安全性

詹姆斯·布罗特索斯是应用安全平台 Checkmarx 的产品和开发者宣传主管。James 在网络协议和内核开发方面拥有 15 年的经验,喜欢参加物联网黑客马拉松,关注物联网技术&的发展趋势。

在他的 GitKon 2022 会议: 在开发人员 SDLC 中无缝添加安全性中,James 将阐述开发人员为什么应该关注安全漏洞,他们可以在 SDLC(软件开发生命周期)中的什么地方识别它们,以及如何最好地解决它们。与会者将学习如何防止将来引入安全漏洞的最佳实践。

我们的特邀演讲者之一 Matias Madou 是 Secure Code Warrior 的首席技术官和联合创始人,他在意识到如果不首先教给开发人员最佳安全实践,安全代码问题是多么常见之后,帮助创建了这家公司。在他的讲座中, 知识与行为:洞察开发人员的安全技能提升 ,他将回顾大多数开发人员常见的一些不良安全习惯,以及如何轻松打破它们。

团队协作和开发人员体验

在我们生活的这个遥远的世界里,我们协作和交流的方式,以及我们选择使用的工具,从来没有像现在这样备受关注。此外,让开发人员和其他团队成员感觉参与到新的工作环境中,可以对绩效质量和团队效率产生重大影响。

GitHub 的米歇尔·曼纳林:打造梦之队

Michelle“Mish Mannering”Mannering 是 GitHub 的开发者倡导者,她通过黑客马拉松、在活动中发言和在 Twitch 上直播来创造独特的体验并与 GitHub 开发者社区互动。她是几家科技公司的创始人,也是一位富有同情心的领导者,对推动创业文化和开创墨尔本电子竞技行业有着浓厚的兴趣。

在她的 GitKon 2022 会议: 建立梦之队 中,Michelle 将向与会者展示为什么建立开发人员和非开发人员能够更好地合作的团队非常重要,以及如何鼓励跨部门合作。

“协作非常重要,但这也不是什么新鲜事,”Michelle 说。“随着工作的未来继续朝着这种软技能发展,建立终极梦之队并在整个组织中有效工作变得越来越具有挑战性。”

GitClear 的 Bill Harding:用 Git 数据提高开发人员的满意度

GitHub 和 GitLab 开发工具 GitClear 的首席执行官兼开发人员比尔·哈丁(Bill Harding)提供代码分析,他是通过领导开发《纳尼亚传奇》(Narnia)和《指环王》(Lord of the Rings)等 Gameboy 游戏起家的。在那里,他建立了一个 Rails 网站,并在 2010 年发展成为 Bonanza.com,一个拥有 4 万名活跃卖家、销售 3000 万件商品的在线市场。领导快速发展的开发团队的经历让 Bill 第一次看到了为快速发展的开发团队保持良好的工作环境的挑战。

在他的 GitKon 2022 会议中,Git 数据可以提高开发幸福感的 3 种方式 ,Bill 将探讨如何使用数据来创建可视化进度,减少不必要的会议,并帮助新团队成员发现他们的优势。

“我将向 GitKon 与会者展示三个可行的想法,利用 Git 数据,使用免费工具优化开发人员的快乐,”Bill 承诺。"这可以带来更开明的团队和更快乐的工作环境."

肖娜·奥尼尔,《危险的代码:拆除项目筒仓》

Shawna O'Neal 是一名经验丰富的 web 开发人员,也是她自己的公司的创始人之一:dogy Code T1,一家现代 web 开发公司。当她不沉迷于代码时,你可以发现她给她的客户提供优化项目工作流程的建议。她的技术专长包括 PHP 开发、API 集成、内容管理系统和技术性 SEO。

在她的 GitKon 2022 会议: 拆除项目筒仓 中,Shawna 将着眼于大多数团队采用的“装配线”,它如何导致有问题的沟通筒仓,以及关注点的分离在哪里可以分解为脱节的工作和草率的结果。

“现代网络和软件项目已经达到了需要更多资源来完成工作的复杂程度,”Shawna 解释道。"这包括人:设计、制定策略、构建、测试和管理其他人的人."

那么,当我们有很多人,有不同的关注点,都在做同一件事情时,会发生什么呢?与会者将学习如何解决项目冗余、不匹配的期望和无尽的 QA 管道,并将带着易于采用的工具、心态和技术离开,这些工具、心态和技术甚至可以帮助远程团队顺利地协同工作。

朱恩·乔,泽普林:用数据构建设计系统

June Cho 是 Zeplin 软件公司的一名开发人员,该公司为不同领域的团队成员提供包容性的工作空间,比如产品经理、UX 设计师、作家等等。在 Zeplin,June 专注于将设计与开发联系起来,并帮助团队实现设计的承诺。

在他的 GitKon 2022 会议: 用数据 构建设计系统中,June 将提供实用的技巧和灵感,介绍如何利用数据来改进设计系统并推动采用。

“今天,工程师花很多时间在设计系统中构建组件,但只有少数人真正使用它们,”June 说。“就像我们如何衡量产品和功能以进行改进一样,需要有一种方法来衡量设计系统的影响和使用,以便我们能够做出明智的决策。”

露丝·奇斯利,阿夸:所以你有一个社区…现在呢?

Ruth Cheesley 是 Acquia 的 Mautic 项目负责人,支持构建和维护世界上第一个开源营销自动化平台的社区。她是一名开源倡导者,拥有超过 18 年的使用和参与许多不同项目的经验。露丝喜欢猫和跑步,住在英格兰东部。

在她的 GitKon 2022 会议中, 你已经有了一个社区…现在呢? ,Ruth 将探讨在扩展社区时面临的一些关键挑战,以及建立成功项目的顶级技巧。

Ruth 解释说:“在开源世界中发展和扩大社区并非没有挑战。“随着项目开始获得动力,通常需要更多的贡献者,但这可能会使建立工作流和流程以授权社区成员承担更多责任变得困难。”

项目维护人员将学习如何关注社区健康,即使他们要处理一百万个其他优先事项。

生活规范团队:写下来——拥抱不完美

首席执行官迪伦·席曼和首席技术官内曼贾·托希奇是生活规范的联合创始人。Dylan 是一名企业家,在 JavaScript 和 TypeScript 社区工作了 20 多年,是 Dojo 框架和早期 Dojo 工具包的共同创建者。Nemanja 是一位专注的软件工匠,对将想法转化为产品充满热情,是持续交付范式的狂热追随者,也是领域驱动设计的粉丝。

在他们的 GitKon 2022 会议中: 只是写下来:拥抱不完美 ,迪伦和内曼贾将分享他们只是写下事情并获得早期反馈的经验,而不是等待完善一些事情后再与他人分享。

迪伦说:“当我们把事情写下来并迅速与他人分享时,事情完成的几率会成倍增加。”。“但人们经常对不完美充满怀疑,但在分享之前花时间和精力来完善会延迟早期和经常合作的好处。”

Dylan 和 Nemanja 还将解释他们对工具和流程的失望如何导致他们创建了 Livign Spec,这是一个鼓励协作规范的平台,这些规范存在于我们创建的产品的生命周期中。

萨拉(施密特)Fruy,Linqia:我从管理远程团队中学到了什么

Sarah Fruy 是 Linqia 公司的营销副总裁,负责从品牌和产品营销到需求挖掘的一切事务。Sarah 是一名 ScrumMaster 和认证的敏捷营销人员,在在线广告、数字媒体和网站运营方面拥有超过 15 年的经验,并拥有康奈尔约翰逊管理研究生院的营销战略和数字营销认证。

在她的 GitKon 2022 会议: 远程课程:我在管理远程团队 中学到的东西中,Sarah 将讲述管理会议、与同事沟通以及在混乱时期成为领导者的最佳实践。

“在过去的几年里,成为一名优秀的经理意味着什么已经发生了很大的变化,”Sarah 说。“不仅办公室的动态发生了变化,员工对工作的态度也发生了变化。你和你的团队在一起的时间需要计划周全,有目的性。”

史蒂夫·佩雷拉,可见价值流咨询:流程工程

Steve Periera 是Visible Value Stream Consulting的首席执行官和创始人,该公司提供协作制图研讨会,以帮助团队实现一致性、绩效和流程。史蒂夫痴迷于让技术人性化,并利用它来提供持续的价值。在过去的 20 年里,史蒂夫的重点是分享测绘技术,以指导雄心勃勃和奋斗的团队。

在他的 GitKon 2022 会议: 流程工程——提高速度、质量和快乐 中,Steve 将介绍流程工程的四种强大的映射技术和模型,它们可以建立清晰度、一致性和信心:结果、价值流、依赖性和能力。

“很难腾出时间进行真正的创新和改进,很难知道什么时候进行自动化,也很难让团队中的每个人都团结起来实现下一个绩效目标,”Steve 说。“我很高兴能教 GitKon 的与会者如何发现隐藏的见解,以创建一个强大的行动路线图来改善他们团队的工作流程。”

我们的两位主讲人还将讨论与团队协作、社区和协作相关的主题。Nextiva 全球技术体验总监 Ruth Vela 将介绍: TechEX:构建和启用远程工程团队的人性一面;多元化、包容性和归属战略总监 Demetris Cheatham 将介绍: 让我们开源多元化和包容性!

开发人员技能:工具、技巧和经验教训

软件开发领域在不断发展,这使得开发人员必须紧跟新兴趋势、工具和技术,以保持他们的技能处于最前沿。GitKon 对所有技能水平的开发人员来说都是一个增长知识和增强工具集的好机会。

微软:VS 代码中隐藏的宝石

Reynald Adolphe 是微软的高级开发人员。在他的职业生涯中,Reynald 在各种大小咨询公司工作,从一名. NET/Java 开发人员发展成为一名全栈程序员。Renald 喜欢制作在线课程,参加现场会议活动,并创作喜剧。他创作并制作了一档名为“代码厨房”的节目:这是一档由流行科技演讲者、音乐家和喜剧演员主演的科技脱口秀节目。

在他的 GitKon 2022 会议:Visual Studio 代码中隐藏的宝石 中,Reynald 将回顾 Visual Studio 代码中的一些他认为是“隐藏的宝石”的功能,并且相信大多数用户都没有意识到。

Mark Parmenter,Amazon:从 AWS 迁移中吸取的教训

Mark Parmenter 是亚马逊的一名软件开发工程师,热衷于创建软件解决方案。他在两家公司领导了成功的 AWS 迁移,并拥有良好的记录,包括创办了自己的软件咨询公司。

在他的 GitKon 2022 会议: 从机柜到云:从 AWS 迁移中吸取的经验教训 s 中,Mark 将向与会者介绍他们可以用来使云迁移更顺利、使其基础设施更强大的工具和策略,并在此过程中做出明智的决策。

“如果您正在考虑将您的基础架构迁移到云,您可能正在寻找更智能、更快速、更便宜的方法,”Mark 建议道。“我真的很高兴能帮助 GitKon 与会者发现云迁移可以带来的意想不到的好处。”

麻省理工学院斯隆管理学院迈克尔·迈尔斯:删除你的代码

迈克·迈尔斯是麻省理工学院斯隆管理学院的网络开发总监,他领导着学校数字资产的开发、维护和增长,以及支持它们的开发团队。他也是播客“向上发展”的主持人,该播客关注职业发展和作为开发人员的非技术方面。

在他的 GitKon 2022 sesion, 删除你的代码 中,Mike 将解释从代码库中删除旧代码的好处,如何自信地这样做,以及如何最好地利用 Git 库来跟踪和恢复删除的代码。

“删除代码感觉是永久的、绝对的、难以撤销的,”Mike 解释道。“开发人员通常认为注释掉代码更简单,因此如果需要,可以恢复代码。但这样做会让团队中的每个人在未来都感到头疼。”

GitHub 的 derrick Stolee:Git 内部——数据库视角

Derrick Stolee 是 GitHub 的首席软件工程师,他在 Git 中从事性能和规模方面的工作已经超过五年了。他最大的贡献包括提交图文件、可达性算法、锥模式稀疏校验以及稀疏索引。作为一名前教育工作者,Stolee 仍然喜欢尽可能地教用户新的 Git 技巧。

在他的 GitKon 2022 主题: Git 内部:一个数据库视角 中,Stolee 将为与会者提供学习 Git 数据库内部的机会,这样你就可以将 Git 的使用提升到一个新的水平。

Stolee 指出:“对于大多数用户来说,Git 对象数据库的内部工作方式可能是一个谜。”“将数据库整合到您的基础设施中通常需要了解数据库的内部结构,如表索引、查询计划和分片。Git 中也存在类似的功能,学习如何使用它们将真正增强你的 Git 工作流程。”

Apache APISIX 的 Nicolas Frä nkel:用 Git 更新你的开发者简历

Nicolas Frä nkel 是一名开发商代言人,在为多个行业的各种客户提供咨询方面拥有超过 15 年的经验,包括电信、银行、保险、零售和公共部门。Nicolas 热衷于 Java/Java EE、Spring 技术、富互联网应用程序、测试、CI/CD 和 DevOps,他在业余时间主持培训课程并撰写书籍。

在他的 GitKon 2022 会议中: 用 Git、GitHub 和 GitHub Actions 更新你的开发者简历,Nicolas 将向与会者展示如何用 GitHub Actions 等自动化工具更新他们的 GitHub 个人资料。

有人说过,GitHub 是开发者的 CV;只要快速浏览一下某人的承诺历史,就能告诉招聘人员他们需要知道的一切。但是如果你的公司不在公共的 GitHub repo 中发布他们的源代码呢?GitHub 最近允许开发者定制他们的个人资料,所以即使你的提交历史是白色多于绿色,你也可以为潜在雇主提供一个很好的切入点。

“保持你的 GitHub 个人资料上的数据最新可能会感觉很麻烦,就像其他任何事情一样,结果只会和你付出的努力一样好,”Nicolas 说。“我很高兴与 GitKon 的与会者分享,这可以通过最少的努力和自动化工具的帮助来实现。

Greg Bulmash,Seattle CoderDojo: SEO 和公开回购中的可发现性

格雷格·布尔马什是西雅图 CoderDojo 的创始人,早在“博客”这个词被创造出来之前,他就开始写博客了。Greg 在三大洲的开发者大会上发表了演讲,内容涉及从教孩子编程到数字身份管理,再到亚马逊 Alexa 开发者工具,他甚至在 YouTube 上有一个关于递归的插图童话

在他的 GitKon 2022 会议: SEO 和公开回购的可发现性 中,Greg 将向与会者介绍将良好的 SEO 实践应用于 Git 回购的基础知识,包括外部搜索引擎和 GitHub 的内部搜索,以便客户可以找到他们需要的内容。

“许多人不知道他们可以使用公共 Git repos 做一些事情,比如与第三方开发者共享代码片段和演示应用,”Greg 解释道。“向 GitKon 与会者展示他们如何利用公共 Git 存储库和 GitHub 搜索的隐藏优势将是一件非常棒的事情。”

Tomas Reimers,Graphite:堆叠拉动式需求

Tomas Reimers 是 Graphite 的联合创始人,Graphite 是一家为快速发展的团队重新构建代码审查的公司,同时从谷歌、脸书、微软和其他公司的内部工具中获得灵感。在创办 Graphite 之前,Tomas 是脸书公司的一名软件工程师,从事移动产品基础设施的工作,并为全公司 1000 多名开发人员提供服务,这些开发人员正在开发搜索、新闻订阅、诚信、购物等产品。托马斯热衷于为开发人员服务,寻找加快软件开发速度的方法。

在他的 GitKon 2022 专题讲座: 堆叠 PRs:如何成为一名 10x 工程师 中,托马斯将谈到为什么开发人员应该将“堆叠”视为一个工作流,如何使其变得更简单,以及使您能够立即入门的工具。

“堆叠”是一个工作流程,它涉及到开发人员从以前的功能分支分支出来,而不是一个主干。

“这种方法的优点是,您可以在构建新的相关功能时避免阻塞,并且可以编写更小的拉式请求,从而加快审查周期并减少合并冲突,”Tomas 解释道。“但是尽管有好处,许多人还是避免使用它,因为原生 Git 缺乏对这种策略的内置支持。我将向与会者展示如何克服这一障碍,这样他们也可以将堆叠作为一种工作流程策略。”

我们的两位主讲人还将讨论与提升开发人员知识和技能相关的主题。Sourcegraph 首席技术官兼联合创始人 Beyang Liu 将介绍: 一个开发人员对开发人员生产力的想法 ,微软 VS 代码团队产品经理 Brigit Murtaugh 将介绍: 开发容器:一个在任何地方工作的一致环境

gitkraken 会话

作为活动主持人,GitKraken 很高兴为内部团队成员举办三场特别会议:Eric Amodio,VS Code git lens 的 CTO 和创建者;贾斯汀·罗伯茨,产品总监;创意总监曼宁·费舍尔;和产品总监 Jeff Schinella。

作为活动主持人,GitKraken 很高兴为内部团队成员举办三场特别会议:Eric Amodio,VS Code git lens 的 CTO 和创建者;贾斯汀·罗伯茨,产品总监;创意总监曼宁·费舍尔;和产品总监 Jeff Schinella。

Jeff Schinella:多快才算太快——周期时间和生产量

Jeff Schinella:多快才算太快——周期时间和生产量

在 Jeff 的 GitKon 环节: 多快才算太快?关于周期时间&吞吐量 ,Jeff 将探讨开发人员如何利用周期时间和吞吐量指标来开始提出正确的问题,并做出最佳更改,以加快审查和合并代码更改的时间。

在 Jeff 的 GitKon 环节: 多快才算太快?关于周期时间&吞吐量 ,Jeff 将探讨开发人员如何利用周期时间和吞吐量指标来开始提出正确的问题,并做出最佳更改,以加快审查和合并代码更改的时间。

与埃里克·阿莫迪奥的对话:从开发者到企业家再到技术高管

与埃里克·阿莫迪奥的对话:从开发者到企业家再到技术高管

在 GitKon 2022 特别会议中: 从开发人员到企业家再到技术高管:与 GitLens 创始人兼 git krakenT3 首席技术官 Eric Amodio 的对话,Appfire 高级编辑兼作家 Kerry O'Shea Gorgone 将与 Eric 坐下来进行炉边谈话,讨论他从开发人员到企业家再到技术高管的历程。

与会者可以期待听到宝贵的见解,了解如何将“夜晚和周末”开源项目转变为安装量超过 1500 万的应用程序,被收购,并努力同时发展免费和付费用户及客户群。

与会者可以期待听到宝贵的见解,了解如何将“夜晚和周末”开源项目转变为安装量超过 1500 万的应用程序,被收购,并努力同时发展免费和付费用户及客户群。

贾斯汀·罗伯茨和曼宁·费希尔:设计就是差异

贾斯汀·罗伯茨和曼宁·费希尔:设计就是差异

GitKraken 的创意总监 Manning Fisher 和 GitKraken 客户端的产品总监 Justin Roberts 不知疲倦地工作,以确保 GitKraken 工具是专门构建的,并将开发人员体验(DX)放在首位。这意味着研究、设计、衡量和优化每个功能、每个流程和每个视图。

在本次 GitKon 2022 专题讲座中: 设计与众不同:为什么 UX &的用户界面对于创造卓越的开发者体验至关重要贾斯汀和费舍尔将分享为什么设计对于赢得今天使用 GitKraken 工具的 2000 多万开发者的心至关重要。他们将讨论什么是“伟大的设计”,为开发人员受众构建产品的机遇和挑战,并讨论在一个痴迷于数据、衡量一切并期待快速回报的时代,创造力是否还有空间。

与会者可以期待享受充满激情的讨论和激烈的辩论,其中充满了他们钦佩并受到启发的专注于发展的品牌的例子。

立即注册 GitKon 2022

我们希望这些会议能够激励您加入我们于 10 月 11 日至 13 日举办的 GitKon 2022,为期三天的内容来自世界顶级科技公司的专家,全部免费。

立即注册 GitKon 2022

立即将 GitKon 列入您的日程表,确保您不会错过涵盖开发运维、协作、开发技能、安全等内容的 30 多场专家会议。

立即将 GitKon 列入您的日程表,确保您不会错过涵盖开发运维、协作、开发技能、安全等内容的 30 多场专家会议。

Register for GitKon Free

GitKon 时间表-充分利用这个免费的 Git 会议

原文:https://www.gitkraken.com/blog/gitkon-git-conference-schedule

GitKon 将于 2021 年 9 月 22 日至 23 日举行,我们很高兴公布 2021 年 GitKon 的官方时间表

每天都有精彩的主题会议、世界级专家的演讲和小组讨论,这些都将激励您更好地利用 Git 来更好地协作和提高工作效率。查看 GitKon 的时间表,在你的日历上做上标记,这样你就不会错过任何一个非凡的学习机会。

我们希望帮助每个人从这个独特的 Git 会议中获得最大收益,因此我们收集了一些关于如何最好地体验 GitKon 的想法:

每个人的 Git 会议

GitKon Sessions 页面上,您将找到所有按主题组织的 Git 专题会议。

  • GitKon 主题演讲Netlify的首席执行官马特·比尔曼和GitHub的产品经理爱德华·汤姆森将作为 2021 年 GitKon 的主题演讲嘉宾,他负责监督 npm 并维护 libgit2。无论您的经验水平或关注领域如何,您都不想错过这些 GitKon 主题演讲!

  • Git 用户和团队体验–Git 成为行业标准版本控制的原因之一是它使团队能够高效协作。微软的 Johannes Schindelin(Git for Windows 的维护者)、Comcast 的 Leslie Chapman 和 GitHub 的 Michelle Mannering 将发表 Git 用户和团队体验演讲,深入探讨 Git 协作的好处,以及我们如何将它们扩展到开发团队和软件项目之外。

  • 非开发人员使用 Git——虽然大多数人认为 Git 只适用于软件开发,但它可以用于很多方面。来自 Codecademy 的佐伊·巴克曼,来自 GitCoin 的凯文·奥沃基,以及来自 DIA 设计协会的施巧灵·沙克里安,将为 Git 如何触及源代码版本之外的领域提供一些启示。

  • DevOps 和 Git——现代开发团队依赖持续集成和持续部署,或 CI/CD 管道。GitLab 的 Brendan O'Leary 和 CircleCI 的 Angel Rivera 将深入探讨 DevOps 的最佳实践和概念,这些实践和概念将有助于任何团队更快地推进代码,从而提高工作效率。

  • 使用服务和框架的 Git–Git 如此强大是因为它可以用于如此广泛的项目。来自 Learning A-Z 的 Adam Culp、来自 BigBrassBand 的 Adam Wride 和来自 Storyblok 的 Facundo Giuliani 将展示一些由 Git 实现的特定和独特的用例。

  • Git 提示和技巧——虽然每场演讲都将充满关于使用 Git 的精彩信息,但我们知道有些人希望收听关于他们如何更好地利用工具本身的演讲。来自 Ursatile 的 Dylan Beattie 是 RockStar 语言的创始人,他将对 Git 能够释放的力量给出一些很好的见解。

  • GitKon 专家组——我们非常自豪地举办两场 GitKon 专家组讨论
    准备好享受来自尤弥尔、Enova、LinearB、Cyral 和 Kanopi 工作室的演讲者的“Git 提示和技巧,我希望我能早点知道”。我们还有一个非常特别的 GitKon 小组:“与 GitKraken 产品团队的 Q & A”,这是一个听取制作 GitKraken 的团队意见的绝佳而难得的机会!

对于所有经验等级

在每一个 GitKon 会话列表中,我们都添加了标签来帮助识别该演讲主要针对的 Git 体验水平。我们鼓励每个人都参加所有的会议,但是要知道在你收听之前知道你将进入什么是有帮助的。即使你是一个真正的初学者或者从未接触过 Git,你也一定会从这些 GitKon 会议中有所收获。

无论 GitKon 会议是针对“所有人(针对每个人的一般信息)”、“中级”还是“高级(针对想要深入研究的专家)”,每个人都会受到启发,并对如何使用 Git 有一个全新的看法。

在社交上分享这次 Git 大会

我们使用标签 #GitKon 来描述所有与这个令人难以置信的技术会议相关的事情。不要害怕告诉世界你在 Git 会议期间感到兴奋的事情,比如你学到了什么新的 Git 技巧和诀窍。

在 Git 大会期间,我们将使用#GitKon 标签展示热门推文。一定要关注 @GitKraken 这样才不会错过什么!。

渴望分享?每个 GitKon 会话页面都有几个预填充的社交帖子,随时可用!只需点击推特或脸书的图标。

加入关于不和的 GitKon 对话

如果没有与其他与会者、演讲者和主持人进行交流的能力,任何开发者大会都不能称之为真正的开发者大会。由于 GitKon 是一个在线技术会议,我们采用了最流行和最强大的聊天工具之一: Discord

我们将在 Git 大会前给所有注册的 GitKon 与会者发电子邮件,发出官方服务器的不和谐邀请。虽然您可以通过浏览器使用 Discord,但我们建议下载桌面客户端,以获得最佳的整体体验。

如果您还没有注册参加 GitKon Git 会议,请尽快注册以确保您可以访问!

问演讲者你的 Git 问题

在每次 GitKon 主题演讲和会议之后,我们将与演讲者进行现场问答。在每场演讲中,我们将通过 Discord 回答与会者的问题,我们的 GitKon 主持人将选择最重要的问题与演讲者进行讨论。

GitKon 演讲者和小组成员计划在演讲期间登录 Discord 与观众互动。这是与 Git 社区的其他人分享您的知识和资源的好方法!

今天注册参加全球 Git 大会

在这个独一无二的虚拟开发者大会上,我们很高兴有这么多出色的 GitKon 演讲者,代表了这么多的焦点领域。我们的目标是团结所有的 Git 用户互相联系和学习。我们希望您能加入进来,了解更多关于利用世界上最流行的版本控制系统的信息。立即注册!👇

参加 GitKon 免费|全球 Git 大会

原文:https://www.gitkraken.com/blog/gitkon-global-git-conference

加入我们的首届 GitKon:虚拟 Git 会议将于 2021 年 9 月 22 日至 23 日举行:立即注册

GitKon 是为希望探索新高度和世界上最流行的版本控制系统所能实现的可能性的 Git 用户准备的。我们说的是开发人员、学者、学生和任何其他人,他们不仅因为使用了一个极其强大的工具而团结在一起,还因为他们相信通过它,生产力、协作和进步,正如我们所知,能够并将会达到新的高度。

聆听来自同行、行业领袖和杰出演讲者的话题,从 Git 的非开发人员使用到复杂的 DevOps 工作流和最佳实践。参与关于创新性 Git 使用和相关问题的小组讨论,为未来的创新铺平道路!

Git 的未来会如何?

GitKon 是您开拓 Git 新用途和策略并将其应用于您的领域的机会。做一名先锋意味着开辟道路,创造新事物。

数百年前,成为一名拓荒者意味着在恶劣的环境中徒步旅行,食物供应有限,如果你了解俄勒冈小径,这意味着你很可能会死于痢疾。那些是平原拓荒者。如今,你可以在有空调的舒适的工作空间里,用你的墨西哥卷饼和别致的键盘武装自己,成为你所在行业的先锋。

虽然创业带来的舒适肯定已经发生了变化,但去别人没去过的地方、为后来者寻找改进策略的重要性同样崇高和重要。现在,如果你准备完善你已经拥有的 Git 技能,挑战你对 Git 真正能做什么的看法,并与一些最具创新精神的技术人员合作,创造一个更美好的未来,那么 GitKon 就是你的选择!

向 Git 大会发言人学习

GitKon 是一个才华横溢的人的聚会。来自不同背景和行业的演讲者被选中就您可能感兴趣的话题发言,包括 DevOps、GitOps 等等!我们的每一位业界资深演讲者都提供了各种最佳实践、独特的观点,并分享了通过 Git 实现合作和成功的更美好未来的愿景。

我们特别激动地宣布主讲人马特·比尔曼。Matt 是 Netlify 的首席执行官和联合创始人,Netlify 是发展最快的网络开发平台之一。他还因创造了“Jamstack”这个术语而闻名

来自 Matt 和其他 GitKon 演讲者的演讲将激励与会者从 Git 新手用户到经验丰富的开发人员重新想象 Git 的潜力。了解最新的 GitKon 公告,包括发布时的演讲者更新。

虚拟 Git 会议联网

想象一下数百名来自不同背景、有不同想法的创意人员的价值,他们每个人都有助于彼此对 Git 工具和功能的理解和熟练程度。每一位 GitKon 参与者都将获得丰富的知识、支持、解决问题和建立关系网的机会。由于其全球规模,GitKon 提供了独特的机会,不仅与不同领域的 Git 用户,而且与来自世界各地的 Git 用户一起参与小组讨论。准备好分享你最好的技巧和诀窍,并准备好带着更多的东西离开。

让你的 Git 技能更上一层楼

Git 是一个工具。工具的好坏取决于使用它的人。这就是为什么 GitKon 旨在为其与会者提供成为更熟练用户所需的资源和知识。这就是 Git 先锋与平原先锋完全不同的地方。当老派先锋使用基本工具完成基本任务时,Git 先锋使用无限复杂的工具和资源,其潜力仅受用户范围和创造力的限制。GitKon 是灵感的催化剂,是您改变行业的想法的起点。那么你会选择什么?

Drupal 创始人 Dries Buytaert 将在 GitKon 2022 上发表主题演讲

原文:https://www.gitkraken.com/press/gitkon-keynote-dries-buytaert

亚利桑那州斯科茨代尔,2022 年 8 月 25 日——Git kon,一个独特的 抖音风格的虚拟科技大会 ,将于 2022 年 10 月 11-13 日在 GitKraken 由全球领先的软件开发人员顶级 Git 工具 主办。去年的 首届 GitKon 吸引了超过 4000 名全球注册者。GitKon 2022 将把来自 GitHub、GitLab、微软、Atlassian 等的思想领袖带到虚拟舞台,讨论 Git、DevOps 最佳实践、分布式团队协作、开发人员生产力、新兴趋势等!

GitKon 2022 的主题是 创造一个合作的未来 ,与会者可以期待听到 Drupal 创始人兼 Acquia 联合创始人/首席技术官 keynote Dries Buytaert 讲述如何通过开源社区的合作最终实现 Drupal 的成功和 Acquia 的使命。Dries 将分享他的故事: 从宿舍到白宫 Drupal 如何成长并成为开源 web 体验的标准

Drupal 成立于 2001 年,是一个免费的开源 web 内容管理系统,已经发展成为一个行业标准工具。虽然 Drupal 最初是作为一个简单的留言板创建的,可以由 Dries 的大学社区轻松编辑和管理,但它很快受到开发人员的欢迎,目前为全球数百万个网站提供支持。现在,作为 Acquia 的首席技术官,Dries 热衷于分享他的开源商业故事。

“让人们在共同的激情下走到一起是 Drupal 工作的核心。Dries 说:“GitKon 是通过拥抱开源社区来分享 Drupal 和 Acquia 的故事 的绝佳场所。“我很高兴能够将学到的经验传递给 GitKon 的更多团队,让他们知道他们也可以通过支持开源来实现企业成功。”

GitKraken 首席执行官 Matt Johnston 是 Acquia 收购 Mautic 后 Dries 的前同事,ma utic 是一家开源营销自动化领导者,Johnston 是其首席执行官。Johnston 说:“我认识 Dries 已经有十年了,很高兴能与他直接合作开发 Acquia 的营销云解决方案。“他能够平衡 Drupal 和 Acquia 的需求,同时扩展两者,这是一个罕见的壮举。Dries 的演讲将是 GitKon 与会者了解开源创新的绝佳机会。"

任何有兴趣参加 GitKon 并聆听 Dries 演讲的人可以在:【www.gitkon.com】了解详情并免费注册。

关于 GitKraken: GitKraken 提供了一套顶级的 Git 工具,帮助数百万开发人员每天都有更高的工作效率——世界各地的团队也能更紧密地合作。无论开发人员在哪里,无论他们在哪里编码,无论是在他们的 IDE 中,在他们的桌面上,还是在他们的问题跟踪系统中,我们的产品都能满足他们。来自全球 100,000 家公司的 1500 多万开发人员依靠 GitKraken 的工具让 Git 为他们工作。更多信息请点击 www.gitkraken.com

宣布 GitKon 主题演讲:Matt Biilmann Netlify 首席执行官

原文:https://www.gitkraken.com/blog/gitkon-keynote-netlify-ceo

面向所有 Git 用户的虚拟会议 GitKon 2021 的第一位主题演讲人已经宣布:马特·比尔曼,Netlify 首席执行官兼联合创始人。

GitKon 旨在将各种背景的人聚集在一起,相互学习,扩展我们对 Git 使用的知识。这包括 GitOps 和 DevOps,它们都非常依赖于正确的版本控制和变更管理。

什么是 Netlify?

Matt 看到了基于 Git 的 web 应用和服务工作流的兴起。认识到开发人员想要的工作方式导致了一个平台的创建,以满足不断增长的需求。

今天,他的公司 Netlify 正在帮助任何拥有 Git 库的人轻松地构建和部署他们的代码到一个非常稳定的平台,同时学习许多最佳实践。Netlify 有一个令人惊讶的免费层,让任何人都可以投入并测试他们的想法,这反过来有助于通过降低进入他们平台的门槛来增强整整一代开发者的能力。反过来,这有助于推动代码、服务和思想向前发展,就在短短几年前,这似乎还是一个遥远的未来。

马蒂亚斯(Matt)比尔曼是 Netlify 的首席执行官,Netlify 是他在 2014 年联合创立的公司,如今是发展最快的网络开发平台之一。30 多年来,他一直在构建开发人员工具、内容管理系统和 web 基础设施,并因创造了术语“Jamstack”而闻名。Matt 是开放源代码的积极参与者,他已经用十几种语言在堆栈的各个层为著名的项目做出了贡献。马特在丹麦长大,在那里他被培养成一名音乐家和音乐记者。

什么是 Jamstack?

对于那些不熟悉这个术语的人来说,Jamstack 指的是一种利用 CDN 提供的预建页面的 web 应用架构。这种方法的主要目标是更好的性能、更高的安全性、更容易扩展,以及更好的整体开发人员体验。这个名字最初来自于 JavaScript、API 和 Markdown 开发者采用的主流技术栈。Jamstack 架构有许多好处,包括更好的性能和更高的安全性。由于这些网站是预先构建的,并从缓存的图像中提供服务,它们以闪电般的速度加载,所以你不需要等待页面被构建。由于通常没有底层数据库或服务器代码可以被黑客攻击,Jamstack 站点的扩展更加便宜和容易,因为 cdn 已经是分布式的,可以服务成千上万的请求,而不需要提供额外的服务器和数据库资源。许多受欢迎的网站,如网飞、耐克和 Smashing Magazine,今天都在利用这种架构。

更好的合作,创造更美好的世界

为人们赋能是 GitKon 背后的真正驱动力。不仅仅是为了学习一些很酷的技巧和诀窍,尽管会有很多,而是为了启发每个参与者对协作的理解。所有这一切的核心思想是,团体和团队可以一起做许多精彩的事情;通过利用更好的工具、流程、工作流程和想法,我们可以更快地完成任务,获得更好的结果,同时尽可能做到透明。

无论你的背景或经历如何,GitKon 都可以帮助你相互学习,发现新的方法和理念,帮助每个人更聪明地工作,更有效率。

更好的合作,创造更美好的世界

立即注册参加全球 Git 大会

马特将带来他对自己旅程的独特视角,以及他眼中的 GitOps 和 DevOps 世界的走向。这是一个你不想错过的活动。 GitKon 与会者注册现已开放,请保留您的免费门票,以确保您从 2021 年 9 月 22 日至 23 日举行的这一独特的虚拟活动中获得最大收益。

立即注册参加全球 Git 大会

马特将带来他对自己旅程的独特视角,以及他眼中的 GitOps 和 DevOps 世界的走向。这是一个你不想错过的活动。 GitKon 与会者注册现已开放,请保留您的免费门票,以确保您从 2021 年 9 月 22 日至 23 日举行的这一独特的虚拟活动中获得最大收益。

宣布 GitKon 主题演讲人:npm 和 GitHub 的 Ed Thomson

原文:https://www.gitkraken.com/blog/gitkon-keynote-speaker-npm

我们很自豪地宣布我们的第二位 GitKon 主题演讲人: Edward Thomson ,GitHub NPM 的产品经理,libgit2 的维护者。

GitKon 是一个免费的虚拟 Git 会议,旨在将来自不同背景和关注领域的人们聚集在一起,相互学习。不管他们使用什么样的服务和框架,GitKon 的参与者都因为他们对 Git 的热爱以及 Git 如何帮助他们提高工作效率而团结在一起。

libgit2

Edward 维护着一个项目,该项目运行在世界上许多服务和工具下,包括名为 libgit2GitKraken Git GUI 。这是一个流行的用于与 Git 交互的开源库,但是它是完全独立的,这意味着不需要在 Git CLI 软件上安装它。

该项目将自己描述为“Git 核心方法的一个可移植的纯 C 实现,作为一个具有可靠 API 的可重入可链接库提供,允许您用任何支持 C 绑定的语言编写本地速度的定制 Git 应用程序。”

如果你曾经停下来想一想,像 GitHubGitLabAzure DevOps 这样的 Git 托管提供商,除了很多本地工具之外,并不进行 CLI 调用。将请求解析成 CLI 命令、执行命令,然后将文本输出重新解析回产品或平台的用户界面,这将非常慢。相反,libgit2 用于支持这些请求,从而加快整个过程。每当你点击“合并拉取请求”时,这个软件就会执行 Git 合并

libgit2 还允许开发者插入自己的函数,GitKraken 就是这样使用 NodeGit 和 libgit2 实现“撤销”和“重做”的。

如果你曾经停下来想一想,像 GitHubGitLabAzure DevOps 这样的 Git 托管提供商,除了很多本地工具之外,并不进行 CLI 调用。将请求解析成 CLI 命令、执行命令,然后将文本输出重新解析回产品或平台的用户界面,这将非常慢。相反,libgit2 用于支持这些请求,从而加快整个过程。每当你点击“合并拉取请求”时,这个软件就会执行 Git 合并

“谢谢@GitKraken 的撤销功能,不小心丢弃了我所有的更改,但现在它们又回来了:D”–

可以想象,将 Git 工作的协议翻译成 libgit2 并不是一件容易的事情。Edward 对全球团队如何制定代码以及他们在维护代码时面临的挑战提出了独特的见解。这是一项特别困难的任务,因为 Git CLI 团队从未停止更新该软件的功能。

GitHub 动作

除了他在这个项目上的工作涉及到互联网的方方面面,Edward 还是 GitHub 的一名产品经理。他是 2018 年将 GitHub Actions 带入生活的团队的一员,现在,爱德华负责监督 npm。

GitHub Actions 允许 GitHub 做的不仅仅是处理源代码管理托管。动作最初旨在让开发人员自动执行常见的代码任务,比如在启动拉请求时自动添加标签。虽然 GitHub 长期以来一直支持 webhooks 的概念——它们是等待特定事件触发动作的监听器——但开发人员需要自己设置和管理任何由 webhooks 触发的所需应用程序。

随着 GitHub Actions 的引入,这些应用程序可以在 GitHub 虚拟环境中运行,使 GitHub 成为开发人员真正完整的平台,无论您选择什么语言或框架。该项目一直在发展,现在是开发人员进行持续集成的最流行的方法之一。

npm

最近,Edward 开始监督 JavaScript 包之家 npm,自从 npm 于 2020 年被 GitHub 收购后,他就一直在从事这个项目。

对于可能不熟悉这项技术的人来说,npm 代表“节点包管理器”,它是节点生态系统中所有可用软件包集合的注册表。该团队还负责维护 npm 命令行界面本身。对于开发 JavaScript 应用程序的开发人员来说,这意味着他们可以通过调用包名来安装数千个包。

例如,如果您想安装 ESLint,这是一个非常流行的静态代码分析工具,用于识别 JavaScript 代码中的问题模式,您只需要在终端 install npm 中键入npm install eslint。npm 帮助加速了许多项目和产品的开发,比如 GitKraken 本身。

Edward 正带头通过投资注册管理机构基础设施和平台来改善核心体验并更好地与机构群体互动,从而使 npm 变得更好。你可以在 GitHub 博客上阅读更多关于他目前升级 npm 安全性的工作。

对于可能不熟悉这项技术的人来说,npm 代表“节点包管理器”,它是节点生态系统中所有可用软件包集合的注册表。该团队还负责维护 npm 命令行界面本身。对于开发 JavaScript 应用程序的开发人员来说,这意味着他们可以通过调用包名来安装数千个包。

团结在 Git 的旗帜下

GitKon 就是让人们聚在一起互相学习。我们肯定会学到一些很酷的技巧和诀窍,但最终希望每个人都能带着更大的感激离开,不管我们的专业领域如何,我们都有很多共同点。任何人对 Git 的热爱背后都有一种团队合作的热情,这种热情赋予了我们力量。

除了任何单一的平台或代码方法,我们相信每个开发人员都有帮助塑造他们周围世界的愿望。通过共同探索新的方法和理念,我们可以更聪明地工作,更有成效。通过分享我们的经验,我们希望拓宽对合作意义的理解。我们知道像 Edward 这样的演讲者会激励你,但我们也希望你能来参加 GitKon,分享你的想法和经历。我们知道,作为团体和团队,我们可以一起做很多精彩的事情。通过利用更好的工具、流程、工作流程和想法,我们可以更快地完成工作,获得更好的结果,并尽可能保持透明。

团结在 Git 的旗帜下

注册免费虚拟 Git 大会 Git kon

GitKon 2021 团队非常高兴有 Edward 作为主题演讲人,他不仅代表 libgit2,还代表 GitHub,GitHub 是目前全球超过 90%的开发人员使用的平台!

你不想错过这个独特的虚拟事件。与会者注册已开放,请保留您的免费门票,以确保您不会错过 2021 年 9 月 22 日至 23 日举行的这一令人难以置信的活动。

注册免费虚拟 Git 大会 Git kon

GitKon 2021 团队非常高兴有 Edward 作为主题演讲人,他不仅代表 libgit2,还代表 GitHub,GitHub 是目前全球超过 90%的开发人员使用的平台!

你不想错过这个独特的虚拟事件。与会者注册已开放,请保留您的免费门票,以确保您不会错过 2021 年 9 月 22 日至 23 日举行的这一令人难以置信的活动。

宣布 GitKon Speakers 2021 |免费虚拟 Git 会议

原文:https://www.gitkraken.com/blog/gitkon-speaker-announcement

GitKon 将于 2021 年 9 月 22 日至 23 日举行,当您听到我们出色的扬声器阵容时,您会想要预订您的座位!

我们聚集了一些来自不同背景和行业的世界级演讲者和思想领袖,为您带来 Git 主题的灵感,包括 DevOps、团队工作流、Git 技巧和诀窍等!我们的每一位业界资深演讲者都提供了各种最佳实践、独特的观点,并分享了通过 Git 实现合作和成功的更美好未来的愿景。


莱斯利·查普曼是康卡斯特杰出的软件工程师。她是 X1 Comcast 平台的技术负责人之一,该平台为超过 3500 万客户提供服务。她热衷于鼓励年轻女性进入科技领域,并花大量时间在教授女性编程的组织中做志愿者。

Leslie 的演讲“利用 Git 的力量来改善你的团队和你自己”将带你了解她是如何使用 Git 来分析她的团队的流程并加以改善的。她还将谈到个人贡献者如何使用 GitHub 的分析来量化他们对团队的贡献,以进行壮观的年终评估!

我们非常兴奋能听到像 Leslie 这样的专家谈论这样一个高度相关的话题;在 GitKraken,我们也相信团队协作的进步将有助于指引 Git 的未来。


Brendan O'Leary 是 GitLab 的高级开发人员。作为一名开源爱好者,Dylan 喜欢在会议小组、meetups、投稿文章和博客上分享他关于前沿技术的工作。

在 Brendan 的演讲“探索 DORA Mapping DevOps 绩效”中,您将了解到 DORA 4 指标及其在大大小小的组织中决定整体团队绩效的重要性。

我们迫不及待地想看到这个关于提高团队绩效的相关谈话,因为这一直是 GitKraken 团队在我们产品每次迭代中的主要关注点。


Mike Miles 是麻省理工学院斯隆管理学院的网站开发总监,他领导学校数字资产的开发、维护和增长,以及支持这些资产的开发团队。他还是播客《向上发展的主持人,该播客关注职业发展和作为开发人员的非技术方面。

在他的会议“如何使用 Git 标签和语义版本管理来管理发布”中,他将关注如何轻松管理和交流代码发布中的变更,因为这是使用 Git 管理代码库的团队和项目取得长期成功的基础。他认为使用一个标准的版本控制系统,比如语义版本控制,并且知道如何容易地用一个合适的版本号标记一个 git 存储库,可以帮助团队容易地管理他们不断增长的产品。

我们知道 GitKon 的观众会喜欢了解麻省理工学院的团队是如何让他们的魔术发生的!


Adam 是 Amazon Web Services 的云应用程序架构师,热衷于开发 Web 应用程序,也是开源的贡献者。Adam 是 SunshinePHP 和南佛罗里达用户组(soflo PP 和 SoFloPy)的组织者。我们很荣幸让他代表 GitKon 的 PHP 社区。

Adam 的演讲“GitHub Actions for automated CI/CD deployment to a AWS contained stack”将教您如何可预测地大规模供应应用程序,同时在整个过程中提供高度的可见性,以及“git push”部署到 Amazon Elastic Container Service(Amazon ECS)中的容器。

GitKraken 知道我们的许多用户正在利用先进的 DevOps 技术。我们也认识到,随着那些 DevOps 实践成为规范,您的工具需要发展。点击这里查看我们的客户最喜欢的工具之一:pull request view。


Dylan Beattie 是一名顾问、软件开发人员,Rockstar 编程语言的创造者,他在世界各地表演了以软件为主题的经典摇滚歌曲模仿,如 Dylan Beattie 和 Linebreakers。作为总部位于伦敦的独立咨询公司 Ursatile 的主管,Dylan 专门帮助组织弥合软件开发和商业战略之间的知识差距。

收听 Dylan 的演讲," Repos,Riffs,and Rockstar "了解我们可以使用分布式修订控制来管理代码库和项目的一些奇怪而奇妙的方式,讨论我们如何在其他领域应用 Git 的思想和模式,甚至可能是一两个音乐惊喜。

我们知道人们利用 git 的方式有很多,我们很高兴他能把他的观点带给围绕 Git 的开发人员和非开发人员。


Angel 是 CircleCI 的高级开发人员。他在私营、公共和军事部门拥有丰富的经验,他的技术经验包括军事/太空升降机操作、软件开发、SRE/DevOps 工程。他在国防和联邦部门也有丰富的经验,如承包信息系统安全和管理。

天使的演讲," Gitinuous Delivery "将教你如何通过实现 Git-Continuous Delivery 以及开发人员可以实现的策略来增加你的发布周期,以便更好地理解 Git 和 CI/CD 工具组合并从中获得价值。

我们很高兴让 Angel 将他在 DevOps 方面的专业知识带给 GitKon 的观众。快速有效地发布代码已经并将继续成为任何开发人员的主要追求,这个演讲一定会为您提供关于如何开始实施更好的代码交付实践的有价值的见解。


我们迫不及待地希望您加入我们的 GitKon

我们很高兴宣布第一轮演讲者,并将很快宣布下一轮演讲者和小组成员。如果您想了解 DevOps、Git 最佳实践、改进您的代码发布流程、了解最新的行业趋势等等,GitKon 可以满足您的需求。点击此处了解更多演讲者公告和 GitKon 更新,不要忘记注册。👇

GitKraken 赢得 2022 年 Stratus 云计算奖

原文:https://www.gitkraken.com/press/gitkraken-2022-stratus-award

亚利桑那州斯科茨代尔,2022 年 9 月 27 日—商业智能集团刚刚宣布 GitKraken 因软件即服务类别中的云计算而荣获 2022 Stratus 奖 。商业智能小组试图确定提供利用云技术的独特解决方案的公司、产品和人员。

GitKraken 是全球首屈一指的面向软件开发者的 Git 工具 ,包括 GitKraken 客户端 ,全球最受欢迎的 Git 客户端,同时提供 GUI 和 CLIGit lens for VS Code,VS Code Marketplace 上下载量最多的 Git 扩展;以及针对吉拉 的 Git 集成,这是 Atlassian Marketplace 上评级最高的 Git 应用。

GitKraken 首席执行官 Matt Johnston 表示:“为了赢得这个奖项,我们必须展示 GitKraken 如何将我们的产品与竞争对手区分开来,我们如何为开发人员和团队解决问题,以及我们过去一年的努力成果。“最重要的是,我们的产品设计和强大的技术人才使我们能够创造让用户满意的功能,并为组织节省时间和资金。”

商业智能集团首席提名官 Maria Jimenez 表示:“GitKraken 处于云计算的最前沿,帮助推动云计算领域的实用创新。“云现在是社会结构的一部分,我们很高兴我们的志愿者评委能够帮助推广所有这些创新服务、组织和高管。”

GitKraken 首席执行官马特·约翰逊继续说道:“在我们公司发展的早期阶段就获得这一成就的认可真是令人激动。“我们的团队很快就会为我们的产品推出许多令人兴奋的创新解决方案,我迫不及待地想看看世界的反应。”

关于 GitKraken : GitKraken 提供了一套顶级的 Git 工具,帮助数百万开发人员每天都有更高的工作效率——世界各地的团队也能更紧密地合作。我们的产品为开发人员服务,无论他们在哪里,无论他们在哪里编码,无论是在他们的 IDE 中,在他们的桌面上,还是在他们的问题跟踪系统中。来自全球 100,000 家公司的 1000 多万开发人员依靠 Gitkraken 的工具让 Git 为他们工作。更多信息请点击 www.gitkraken.com

关于商业智能集团: 商业智能集团成立的使命是在商业世界中发现真正的人才和卓越的表现。与其他行业和 商业奖项项目 不同,商业高管——那些有经验和知识的人——评判这些项目。该组织专有的独特评分系统有选择地衡量多个业务领域的绩效,然后奖励那些成就高于同行的公司。

GitKraken 为吉拉收购 Git 集成

原文:https://www.gitkraken.com/blog/gitkraken-acquires-git-integration-jira-bigbrassband

GitKraken 一直致力于让软件开发人员和敏捷开发团队更高效地使用 Git,作为这一使命的一部分,我们今天很高兴地宣布,我们将为北海巨妖家族带来另一款 Git 协作工具:BigBrassBand 的吉拉 Git Integration】。

超过 10,000 家公司的超过 360 万用户依靠 Git Integration for 吉拉将 Git 回购数据与吉拉问题相集成。吉拉 Git Integration 是一款企业级吉拉插件,可解决将回购数据与性能、可扩展性、身份验证、权限范围和可见性等问题相结合时的关键问题,从而为管理吉拉问题提供更加无缝的体验。

吉拉 Git Integration 是最受欢迎的付费 Atlassian Marketplace 应用程序,用于集成 Git 和吉拉 DevOps 工作流。此次收购汇集了全球 85,000 家公司的 600 多万 Git 用户,并将为围绕 Git 的开发人员和 DevOps 团队开启令人兴奋的可能性。

“开发者喜欢 GitKraken,因为它让 Git 对他们的开发团队来说更简单、更快速、更强大,”GitKraken 首席执行官 Wayne Williams 说。“收购吉拉 Git Integration 使我们能够进一步提高数百万同时利用 Git 和吉拉的公司的 Git 生产率。我们期待继续扩展和增强这两款产品的功能。”

吉拉 Git 集成将 Git 数据和工作流结合到吉拉团队的项目和面向问题的上下文中,而 GitKraken 在高度可视化和直观的 Git 环境中向开发人员呈现吉拉问题和项目。通过将 GitKraken Git Client 与 Git Integration for 吉拉相结合,使用 Git 和吉拉的团队现在可以在多个开发人员工作区之间无缝切换,同时保持对他们所需的所有 Git 回购信息和操作的访问。

吉拉 Git 集成

吉拉 Git 集成通过在吉拉云、吉拉数据中心和吉拉服务器上的吉拉问题和项目的上下文中提供 Git 存储库信息,如提交、分支、拉请求和标签,帮助开发团队弥合问题跟踪和 Git 之间的差距。它允许开发团队将任何 Git 存储库集成到 Atlassian 的吉拉平台中,包括那些由 GitHub、GitLab、Azure DevOps、AWS CodeCommit、Bitbucket 和 Gerrit 等流行服务托管的存储库。

自 2012 年在 Atlassian Marketplace 推出以来,吉拉的 Git Integration 一直受到客户的高度评价和评论。 BigBrassBand 与 Atlassian 密切合作,支持最新版本的吉拉,以满足 Atlassian 市场的最高标准。BigBrassBand 是白金级 Atlassian Marketplace 合作伙伴,经过云强化和数据中心认证,最近通过在 2021 年 7 月完成 SOC2 安全审计,进一步投资于可靠性和安全性。

GitKraken 的 Git 客户端也将吉拉用户与 Git 连接起来,但是是在专用 Git 工作区的上下文中。GitKraken 的吉拉集成使吉拉云和吉拉服务器用户能够查看、创建、编辑、过滤,甚至创建与吉拉问题相关的分支。收购 BigBrassBand 为吉拉提供的 Git 集成意味着,GitKraken 的吉拉用户将有可能使用 Git。

吉拉 Git 集成的未来

当被问及此次收购时,BigBrassBand 首席执行官 Adam Wride 表示:“团队在很大程度上依赖 Git 来管理软件开发的所有方面,而 Git Integration for America 为吉拉的所有利益相关者提供了可见性、问责制和自动化,无论技术诀窍如何。加入 GitKraken 团队将使我们能够为个人开发人员提供更好的 Git 生产力,同时与团队合作实现他们的目标。”

GitKraken 团队非常高兴 BigBrassBand 加入我们的行列,并将继续专注于支持吉拉客户的 Git 集成。事实上,今天,GitKraken 和 Git Integration for 吉拉都为开发人员、测试人员、产品经理和项目经理发布了新的特性。这些新版本支持桌面客户端和吉拉之间的无缝双向转换。

  • 为吉拉发布的最新 Git 集成为吉拉云服务器数据中心现在提供了提交、分支和标签的“深度链接”,可以直接在 GitKraken 中打开它们。
  • GitKraken v8 版本提供了在吉拉 Git 集成中打开与吉拉问题相关的提交和文件差异的能力,支持两种工具之间的快速转换。

这两个领先工具的联手意味着 Git 驱动的开发的未来将继续变得更快、更容易、更强大。开发人员和敏捷 DevOps 团队可以期待他们使用 GitKraken 和 Git Integration for 吉拉的经验继续改进,从而实现更高的 Git 生产率。

体验前所未有的 Git 生产力!

GitLens,VS 代码的#1 Git 扩展,由 GitKraken 收购

原文:https://www.gitkraken.com/blog/gitkraken-acquires-gitlens-for-visual-studio-code

从旨在帮助软件开发人员集中精力编写代码的播放列表中进行选择。播放列表包括流行的音乐剧、视频游戏曲目、棕色噪音等等。

GitKraken 加强领导团队并发展关键能力

原文:https://www.gitkraken.com/press/gitkraken-adds-two-developer-tools-veterans-to-key-roles

亚利桑那州斯科茨代尔,2023 年 2 月 10 日——Git kraken,领先的 Git 工具 供应商,今天宣布增加两名经验证的高管,Vikram Ghosh 担任首席增长官,Jeremy Castile 担任产品营销副总裁。这两项增加紧随该公司出色的 2022 年之后,GitKraken 超过了顶线增长目标,并进一步提高了本已强劲的盈利能力。

作为首席增长官,Ghosh 将负责收入、客户和合作伙伴生态系统的增长工作。他是微软的元老,他的团队围绕 Azure 面向合作伙伴的功能构建了最初的架构。在微软之后,他在 DevOps 担任了四年的品类领导、厨师,领导业务发展度过了高速增长的岁月,并成功退出。他最近在 Secure Code Warrior 担任战略联盟的 SVP。

首席执行官 Matt Johnston 表示:“Vikram 在扩大产品导向型增长方面的经验与 GitKraken 的现状完全吻合,他与其他开发工具领导者建立强大合作关系的过往记录将有助于推动我们未来的增长。“他为公司带来了解决问题的精英,这将对我们所有的客户和合作伙伴产生积极影响。我们对维克拉姆加入基特克拉肯感到无比兴奋。”

Castile 接管了一个产品营销部门,该部门负责为公司的三个产品 GitKraken Client、吉拉 Git Integration 和 GitLens 嵌入和传递价值。最近,Jeremy 在 Docker 领导产品和联盟营销,在此之前,他在 New Relic 担任主要产品营销人员。

Johnston 说:“要更好地了解每天依赖 Git 和 GitKraken 产品的数百万开发人员,产品营销是主要的互动点。“Jeremy 的技术敏锐度和对快速变化的受众的经验将有助于推进我们业务的这一战略部分,并确保 GitKraken 继续将开发人员放在第一位。”

关于 GitKraken: GitKraken 提供了一套顶级的 Git 工具,帮助数百万开发人员每天都有更高的工作效率——世界各地的团队也能更紧密地合作。我们的产品为开发人员服务,无论他们在哪里,无论他们在哪里编码,无论是在他们的 IDE 中,在他们的桌面上,还是在他们的问题跟踪系统中。来自全球 100,000 家公司的 2000 多万开发人员依靠 GitKraken 的工具让 Git 为他们工作。更多信息请点击

GitKraken 大使计划:下一代

原文:https://www.gitkraken.com/blog/gitkraken-ambassador-program-next-generation

早在 2019 年,我们就向世界介绍了第一批 GitKraken 大使。从那以后,我们继续发展和扩大该计划。我们的许多大使专注于当地的现场活动,如聚会,以传播他们对 GitKraken 的热爱。不幸的是,2020 年和 2021 年的现实意味着这些活动已经被搁置,我们不得不重新思考我们大使计划的这一部分。

幸运的是,我们的大使社区富有弹性和创造力,这使我们能够重塑使命,更好地服务于在线和真正的全球社区。我们已经更新了 GitKraken 大使计划,专注于围绕 GitKraken 如何帮助他们解决问题来创建和共享内容。正如您将在下面的重点内容中看到的,我们的大使有许多不同的背景,每个人都为使命带来了独特的视角。

当我们宣布这一变化时,我们看到许多新的申请人渴望与世界分享他们对内容创作和 GitKraken 的热爱。经过仔细的筛选,我们加入了许多新的大使,使全球 GitKraken 大使总数超过 150 人!

你对 Git,GitKraken,和与他人分享你的知识有热情吗?你听起来很适合成为 GitKraken 大使!🚀

Learn More & Apply

这些新的超级英雄来自各行各业,包括大学教授、研究科学家、产品经理、首席信息官等等。我们很自豪有这样一个多元化和真正的全球社区帮助我们在世界各地传播 GitKraken 的爱!

GitKraken 大使项目聚焦

虽然我们很想关注每一位新大使,但在这篇文章中,我们只关注其中的几个。请继续阅读,了解更多关于他们的故事,并关注我们的社交媒体,看看我们下一个关注的是谁。

兰斯·麦卡锡

地点:美国马萨诸塞州

社交媒体: 推特

兰斯是一名开发人员,他专门研究。但是他参与了从 Hololens 到 bash 脚本的所有工作。白天,Lance 是 Progress Software 的美国技术支持经理,负责 Telerik 和 Kendo UI 等开发工具。在业余时间,你可以发现他在社区中帮助开发人员(为此,微软连续 9 年授予他 MVP 奖),带着家庭实验室设备外出,并维护他的个人应用程序。

内容聚焦 : 在 GitKraken 中拉请求

“GitKraken 类似于一个魔法工具箱,里面包含的工具比你想象的要多😎有了 GitKraken,我能够使用一种直观而强大的用户体验来处理我所有的源代码控制、项目规划、问题调查/解决和 CI-CD 需求。”

何塞·路易斯·冈萨雷斯·桑切斯

地点:马德里莱甘内斯

社交媒体 : 推特

José拥有软件开发博士学位。他非常热衷于教授开发网络/移动应用的艺术,并乐于学习和尝试新技术——他在自己的网站上写道。在科技之外,他喜欢打网球,也喜欢用吉他演奏摇滚乐。

内容聚焦:git kraken super per para tus proyectos(git kraken super power for your project)

我喜欢 GitKraken,它是在我的课堂上教授和使用 Git 并提高生产率的完美工具。这是非常强大和有用的。有了董事会和时间表,他们是一个不可战胜的团队。

艾莎·伊夫蒂哈尔

地点:巴基斯坦卡拉奇

社交媒体 : 推特

Ayesha 是一名软件工程师,是一名 Flutter 开发人员,当然对开源充满热情。她在媒体上分享她的知识。

内容聚焦 : 怪怪及其用途

我最喜欢 GitKraken 的一点是它的可行性和易用性。这使得管理我的 Git 工作流变得非常容易。

好消息

地点:澳大利亚维多利亚

社交媒体 : 推特

Beau 是一名全栈 Swift 开发顾问,《Swift 中的模拟》一书的作者,独立开发者和 YouTube 内容创作者。

内容聚焦:iOS 开发者十大软件工具

Content Spotlight: Top 10 Software Tools for iOS Developers

首选工具:GitKraken 的用户界面/UX 远胜于其他任何东西。你可以看出它的设计对细节非常用心。

Tool of Choice: The UI/UX of GitKraken is far above anything else out there. You can tell that it’s designed with a lot of care and attention to detail.

凯西·理查兹

地点:美国密苏里州

社交媒体 : 推特

Cathy 热衷于让技术包容所有人&让每个人都能使用,她努力创造出所有级别的程序员都容易理解的内容。除了作为软件工程师的兴趣,Cathy 还涉足各种制作,从 3D 打印到树脂浇注。她在 Instagram 上是最活跃的,她在那里分享正在进行的项目的更新,以及她对每件事情都有所了解的追求。

内容聚焦 : 简介反应选择 pt。1 附带视频简介反应选择!

Content Spotlight: Intro to React Select pt. 1 with an accompanying video Intro to React Select!

无论您是 Git 新手还是经验丰富的专家,GitKraken 都是可视化代码更改的完美方式。

GitKraken is a perfect way to visualize code changes, whether you’re new to Git or a seasoned pro.

特奥多尔·加西亚

Teodoro Garcia

地点:美国德克萨斯州

社交媒体 : 推特

一个前公立学校老师,通过 Linux 终端看到了软件工程的光芒。特奥多罗转行进入技术领域,希望帮助其他人学习如何编码和发现有用的工具。

内容聚焦 : 用 GitKraken vs 终端克隆知识库!

Content Spotlight: Cloning a repository with GitKraken vs the Terminal!

每当我错误地合并到错误的分支时,Gitkraken 是帮助我摆脱困境的最佳工具。由于它的简单性和可视化用户界面,它真的是一个救生员,节省了我很多时间。

Gitkraken is the best tool for helping get out of a pinch whenever I mistakenly merge into the wrong branch. It really is a life saver and has saved me a whole lot of time due to its simplicity and visual UI.

杜安谢特提

地点:马耳他 Qormi

社交媒体 : Instagram

Duane 是一名来自马耳他小岛的热情的 web 开发人员,他喜欢学习和尝试新技术,同时在社交媒体上分享他的知识和经验。他总是在公开场合创造一些产品或项目,因为这会激励其他人也这样做。

内容聚焦 : 我如何在 2021 年建立我的 Jamstack 博客

Content Spotlight: How I built my Jamstack Blog in 2021

我喜欢使用 GitKraken,因为它使 Git 不仅更简单,而且更强大,无需记住一堆命令。

I enjoy using GitKraken because it makes Git not just easier, but more powerful, without having to remember a bunch of commands.

塔玛拉智者

地点:比利时安特卫普

社交媒体 : 推特

Tamara Wijsman 是一名来自比利时的软件工程师。她喜欢 Spring Cloud (Java)和 Angular (TypeScript),也对技术、AI、科学、安全、个人生产力和健康感兴趣。

内容聚焦 : 简单易用的 Git 与 GitKraken 协同工作

Content SpotlightSimple User-Friendly Git Work with GitKraken

GitKraken 是我的首选工具,因为您可以轻松地管理许多 Git 存储库,而无需太多努力。

GitKraken is my tool of choice because you can easily manage many Git repositories without much effort.

加入 GitKraken 大使计划

你热衷于使用 Git 进行版本控制吗?你喜欢使用 GitKraken 并愿意帮助我们传播这个消息吗?你对创造和分享技术内容有热情吗?

如果你刚才回答了所有的问题,那么你听起来是加入我们成长中的 GitKraken 大使社区的最佳人选!了解更多关于 GitKraken 大使计划的信息,包括所有的福利,如免费 GitKraken Pro 许可证和限量版衬衫。

If you just said yes to all of those questions, then you sound like the perfect fit to join our growing community of GitKraken Ambassadors! Learn more about the GitKraken Ambassador program, including all the sweet perks, like a free GitKraken Pro License and a limited edition shirt.

亲眼看看为什么这么多了不起的开发人员自愿花费他们的时间和精力来支持 GitKraken,并爱上了最强大的 Git GUI。

See for yourself why so many amazing developers volunteer their time and efforts to advocate for GitKraken and fall in the love with the most powerful Git GUI for yourself.

Axosoft 与 AnnieCannons 合作

原文:https://www.gitkraken.com/blog/gitkraken-anniecannons-partnership

AnnieCannons 是一个帮助人口贩卖受害者开始计算机编程生涯的非营利组织。

2017 年全球奴隶制指数估计有 4580 万人处于现代奴隶制中。(请注意:人口贩运统计数据很难精确确定。当人口贩运的受害者能够摆脱奴役并过渡到新的生活时,他们获得工作技能是至关重要的,这将创造他们所需的经济独立和安全,以免再次受到掠夺者的伤害。

不幸的是,向新职业过渡的个人的工作培训机会通常假定有一定水平的才能。AnnieCannons 正在通过提供一种就业培训模式来解决这一问题,在这种模式下,学生可以在像技术这样具有挑战性的领域发挥他们的最大潜力。

关于 AnnieCannons

这家总部位于旧金山的非营利组织的使命是“将人口贩运的幸存者转变为软件专业人士,以维持一生不受剥削。”联合创始人兼执行董事劳拉·哈克尼(Laura Hackney)称之为“学生支持加”的编码训练营该组织通过帮助寻找稳定的住房、医疗保健、儿童保育以及灵活适应学生群体独特需求的环境,为全体学生制定了课程。

课程从金融知识的基础开始。然后,学生在“数字基础”方面打下基础学生们继续完成类似于其他编码训练营的严格课程。通过填补学生在技术知识方面的空白,通过提供他们生活中需要的必要服务,这是可能的。

对于课程的每个阶段,编码学生都有一个技能检查。通过技能测试意味着学生可以在该技术水平上获得就业资格。随着学生获得更复杂的技术技能,这使得他们在经济上变得越来越有能力和独立。AnnieCannons 为学生提供工作项目和专业的办公环境,以及他们成功进行每个项目所需的背景知识。

支持

许多组织帮助制定了 AnnieCannons 课程。行业合作伙伴通过开发个人理财、互联网基础设施和质量保证课程做出了贡献。课程也有一部分是内部开发的。AnnieCannons 欢迎社区参与。

Axosoft 是 AnnieCannons 第二届课程黑客马拉松的骄傲支持者,该活动于 12 月 2 日周六举行。社区将有机会通过贡献和扩展 Python、数据库/数据科学导论和项目管理等领域的课程来支持组织。

作为项目第二阶段的一部分,AnnieCannons 的学生在使用命令行和 Git 模块时,还将了解我们的跨平台 Git GUI 客户端。GitKraken 可供学生和非营利组织免费使用,对于学习 Git 的人来说,它是一个很好的资源。

AnnieCannons students are also introduced to our cross-platform Git GUI client while working on their Command Line and Git module as part of Phase II of the program. GitKraken is free for students and nonprofits to use, and it’s a great resource for those learning Git.

打破循环

AnnieCannons 的毕业生获得高水平的技术技能,并能够在经济上养活自己,打破了人类剥削的循环。之后,毕业生们继续开发软件,解决那些使人口贩卖成为可能的问题,为结束人类奴役做出贡献。

AnnieCannons graduates acquire high-level technical skills and are able to support themselves financially, breaking the cycle of human exploitation. Afterwards, the graduates go on to build software that combats the issues that make human trafficking possible—contributing to the fight to end human slavery.

GitKraken 宣布为吉拉软件开发开发工具:为吉拉开发 CI/CD

原文:https://www.gitkraken.com/press/gitkraken-announces-ci-cd-for-jira

亚利桑那州斯科茨代尔,2022 年 9 月 8 日——Git kraken,为软件开发人员开发 Git 工具 的全球领先开发商,将在 Atlassian Marketplace 上推出一款针对吉拉软件的免费 DevOps 工具。作为首批为现有市场应用程序引入免费扩展的白金合作伙伴之一,GitKraken 在此次发布中被定位为 Git 和吉拉软件工具创新产品开发的领导者。

吉拉 的 Git 集成已经是 Atlassian Marketplace 上最受欢迎的付费应用程序,可以与吉拉软件一起使用 Git。这个新的扩展, CI/CD for 吉拉 ,将使吉拉用户能够直接在吉拉软件中查看构建和部署数据,减少上下文切换和错误,同时提高生产力和增强开发人员体验。

Atlassian 合作伙伴生态系统的技术客户经理 Ankush "Sunny" Manaktala 表示:“我们非常高兴看到白金合作伙伴推出免费扩展来支持付费市场应用。“如果这种模式成功地为吉拉的 Git 集成带来更多收入,我们真的可以看到这一战略彻底改变了市场。”

吉拉 Git Integration 为来自全球 10,000 家公司的 360 多万用户提供服务,虽然它已经提供了直接从吉拉软件查看宝贵的 Git 数据的能力,但吉拉 CI/CD 进一步提高了数据的可访问性。关于吉拉软件问题的构建和部署数据的增加将扩展重要的 DevOps 信息对项目中每个人的可见性。

GitKraken 的规划解决方案总经理兼吉拉 Git Integration 的创建者 Adam Wride 解释道:“吉拉的 CI/CD 不仅可以增加更多团队成员对构建和部署状态的了解,吉拉软件问题缺乏此类数据实际上可以作为一个早期预警系统,在某个功能可能面临无法发布的风险时提醒人们。”。

GitKraken 首席执行官 Matt Johnston 表示:“这个免费的吉拉软件扩展使我们能够与拥有高级 DevOps 工作流的团队分享吉拉 Git 集成的强大功能。“GitKraken 为 100,000 多家组织提供服务,其中近一半现在利用现代 DevOps 方法来加快创新步伐。”

要为吉拉 安装 CI/CD,请访问 Atlassian Marketplace。要享受吉拉扩展的 CI/CD 提供的功能,您必须安装 吉拉 Git 集成

关于 GitKraken: GitKraken 提供了一套顶级的 Git 工具,帮助数百万开发人员每天都有更高的工作效率——世界各地的团队也能更紧密地合作。我们的产品为开发人员服务,无论他们在哪里,无论他们在哪里编码,无论是在他们的 IDE 中,在他们的桌面上,还是在他们的问题跟踪系统中。来自全球 100,000 家公司的 1000 多万开发人员依靠 GitKraken 的工具让 Git 为他们工作。更多信息请点击

GitKraken 在 10 月技术大会上推出免费 Git 认证

原文:https://www.gitkraken.com/press/gitkraken-announces-free-git-certification

亚利桑那州斯科茨代尔,2022 年 10 月 4 日——Git kraken,全球领先的面向软件开发者的 premier Git 工具 刚刚宣布,将在本月该组织的Git kon tech conference上推出免费 Git 认证。

GitKon 是一个独特的虚拟会议,将于 2022 年 10 月 11 日至 13 日举行。去年的首届活动吸引了 4000 多名全球注册者。今年的会议将有 36 场会议,来自知名科技公司的 39 位专家发言,如 GitHub、GitLab、微软和 VS Code、Atlassian、亚马逊等。

超过 90%的软件开发团队依赖 Git 进行版本控制,所以无论参与者是希望提升他们的技能还是他们管理的团队成员的技能,这都是一个投资未来的免费机会。其他类似的课程通常要花费开发者 100 美元以上。GitKraken 的 Git 认证基础价值 70 美元,但将对 GitKon 与会者完全免费。

GitKraken 首席执行官 Matt Johnston 表示:“作为一个组织,GitKraken 五年来一直致力于通过提供免费教育材料来扩大 Git 教育。“现在,作为这一使命的延伸,我们通过提供 Git 认证,为已经免费参加的活动增加了重要价值。”

要获得认证,学生需要完成一门自定进度的在线课程,包括 60 多节课和一个多小时的视频教程内容。课程将涵盖常见的 Git 命令和操作,如分支、合并和重定基、分叉、拉请求,以及情景工具,如 stashing、cherry picking、squashing、使用 Git 钩子等等。最后一步是完成一项考试,以测试在整个课程中学到的知识。

GitKraken 招聘团队的负责人 Sydney Edman 说:“作为一名技术招聘人员,我总是在寻找候选人在个人发展上投入更多的方法。“我鼓励所有 GitKon 与会者将这一 Git 认证添加到他们的简历和 LinkedIn 个人资料中。”

任何有兴趣参加 GitKon 并为自己的专业作品集添加免费 Git 认证的人都可以在:【www.gitkon.com】免费注册。

关于 GitKraken: GitKraken 提供了一套顶级的 Git 工具,帮助数百万开发者提高工作效率,让世界各地的更多团队更紧密地合作。无论开发人员在哪里,无论他们在哪里编码,无论是在他们的 IDE 中,在他们的桌面上,还是在他们的问题跟踪系统中,我们的产品都能满足他们。来自全球 100,000 家公司的 1500 多万开发人员依靠 Gitkraken 让 Git 为他们工作。更多信息请点击 www.gitkraken.com

为什么团队选择 GitKraken + Azure DevOps |白皮书

原文:https://www.gitkraken.com/pdfs/gitkraken-azure-devops-whitepaper

GitKraken Azure DevOps 白皮书

GitKraken 板:看板工作流程中的自动化任务跟踪

原文:https://www.gitkraken.com/blog/gitkraken-boards-column-automation

项目管理和问题跟踪是成功开发团队的基础。此外,支持自动化的任务跟踪工具有助于最大化生产力、组织和协作。

集成和自动化越来越重要,允许更少的上下文切换,并提供跨平台执行和跟踪任务的能力。

2020 DevOps Report

在这个版本中,我们请来了霍格沃茨的一些帮助,向 GitKraken 游戏板介绍一些真正的魔法特性。我们为您带来:色谱柱自动化。

https://www.youtube.com/embed/000TzLiPkg8?feature=oembed

视频

【GitKraken 板的列自动化

Hermoine 的努力得到了回报。

用户现在能够为看板板上的列创建自动化操作。当卡片移入、移出或在列中创建时,或者当卡片在列中停留一定时间时,可以触发自动操作。

列的自动化操作包括:

  • 添加标签、受托人、里程碑和截止日期
  • 删除标签、受托人、里程碑和截止日期
  • 将卡片移动到列的顶部或底部
  • 存档卡片

GitKraken 电路板的免费许可证中包含每列一个自定义自动化。升级到 GitKraken Boards Pro,每列最多可进行 10 次自定义自动操作。

升级到 GitKraken Boards Pro

Upgrade to GitKraken Boards Pro

设置自动操作

通过点按栏标题旁边的⚡️icon ( 或哈利的伤疤图标)来访问栏的自动化设置。

在这里,您可以自定义所选列的操作。

GitKraken Boards 支持网站上了解更多关于开始使用和管理自动列操作的信息。

Learn more about getting started with and managing your automated column actions on the GitKraken Boards Support Site.

自动化色谱柱操作以增强您的工作流程

我们直接从邓布利多的剧本中拿走了这些。以下是一些建议行动,可以考虑在您的专栏中实施:

为已经在您的In Progress栏中超过 X 天的卡片添加一个Stale标签。

  1. 在卡片移入测试栏后,自动将 QA 团队成员分配给卡片。
  2. 在卡片放在你的Done栏中一定的天数后将其存档。
  3. 当一张卡进入你的In Progress栏时,提前 X 天设置一个自动到期日。
  4. When a card enters your In Progress column, set an automatic due date for X days in advance.

自动执行 GitHub Pull 请求的 Git 操作

这是给你的,海格。我们知道你有多爱那些章鱼。🐙😸

除了自动化的列操作之外,GitKraken Boards 还为已经设置了与 GitHub Actions 集成的用户提供了自动化的 Git 操作。

现在,您可以根据卡的拉取请求合并到哪个分支来指定将卡移动到棋盘上的哪个位置。

通过 GitHub Pull Requests 与 GitKraken 板的集成,您还可以自动将卡推进到不同的列,检查 PR 和构建状态,等等。

Through the GitHub Pull Requests integration with GitKraken Boards, you can also auto-advance cards to different columns, check PR and build status, and more.

更新电路板设置面板

多比好心地帮我们把东西收拾了一下。 🧹 史考吉菲!

我们更新了Board Settings面板上的几个部分名称:

以前的Pull Requests现在是Connected Repositories。在这里你可以管理你的 GitHub 同步板的设置。

我们增加了一个Automation部分。这将带您进入Automation门户。

We have added an Automation section. This will take you to the Automation portal.

【GitKraken 板的拖放动作

是勒维奥萨…不是勒维奥萨。🙄

此次发布还宣布了 GitKraken 板的新拖放功能!现在,您可以将标签或里程碑从右侧面板拖放到卡片上进行应用,也可以将纸板用户从顶部面板拖放到卡片上进行分配。

Also announced in this release is new drag-and-drop functionality for GitKraken Boards! You can now drag-and-drop a label or milestone from the right panel onto a card to apply it, and can drag-and-drop board users from the top panel onto a card to assign.

通过自动化操作最大化生产力

使用 GitKraken 板在任务跟踪中实施自动化操作将从您的工作流程中删除不必要的步骤,进一步优化您的生产力并降低出错风险。

Implementing automated actions into your task tracking with GitKraken Boards will remove unneeded steps from your workflow, further optimizing your productivity and reducing the risk for error.

GitKraken 板:现在与 Trello 进口商

原文:https://www.gitkraken.com/blog/gitkraken-boards-trello-importer

GitKraken Boards 的最新版本是一个里程碑,包括一个 Trello 导入器,让用户能够将带有完整卡片细节的 Trello boards 复制到 GitKraken Boards,以及对主屏幕的彻底改造,包括 board starter 模板。

GitKraken 板:现在与 Trello 进口商合作!

https://www.youtube.com/embed/1gGo95Exhso?feature=oembed

视频

带纸板模板的主屏幕

🏡我们知道隔离让你在家里呆的时间比你想象的要长,所以我们想给你带来额外的款待,用 GitKraken 板做了一个新的主屏幕。

您现在会在顶部导航栏中看到一个Home按钮。主屏幕提供了从头创建新板的简单途径。

或者,您可以利用其中一个可用的入门板模板:

  • 启动看板
  • 每周任务
  • 冲刺/发布周期
  • 产品路线图
  • 产品积压

电路板模板下方是Connect to GitHub部分。

GitKraken 板+ GitHub 集成:

GitKraken Boards + GitHub Integrations:

主屏幕的右侧提供了一个Recent Boards部分,显示了您最近访问的五个董事会,您将看到每个组织的一个部分,列出了您尚未加入的建议组织董事会。此外,还有一个Resources部分列出了关于 GitKraken 板的有用资源的快速链接。

The right side of the Home Screen offers a section for Recent Boards which shows your five most recently visited boards, and you will see a section for each of your organizations, listing suggested org boards to join for which you are not yet a part of. Furthermore, there’s a Resources section listing quick links to helpful resources about GitKraken Boards.

用于 GitKraken 电路板的 Trello 导入工具

最后,但肯定不是最不重要的,GitKraken 板的主屏幕包括一个全新的 Trello 导入工具部分。

在主屏幕上,点击 Trello 徽标旁边的Import开始 OAuth 连接。

建立连接后,您可以选择要将哪个 Trello 板导入 GitKraken 板。此外,您可以选择要复制的卡片字段。

一旦导入 GitKraken 董事会,您还将有机会邀请任何 Trello 董事会成员成为董事会成员,以便他们可以继续与您合作。如果您的团队成员还没有 GitKraken Boards 帐户,他们将被邀请通过电子邮件注册。如果他们这样做了,他们会在 GitKraken 公告板上收到通知。

导入完成后,可能需要几分钟的时间,这取决于您要复制的数据量,您的新纸板将在 GitKraken 纸板中打开,除了您选择的任何纸板栏外,还会显示 Trello 纸板中的所有栏和纸板。

很不错,对吧?

去特雷罗的更好方法

无论您是从零开始创建一个新的发行板,从我们的入门模板中获得一点灵感,还是导入一个 Trello 板,您一定会喜欢 GitKraken 板的最新更新。

**A Better Way to Trello **

Whether you’re starting a new issue board from scratch, taking a little inspiration from one of our starter templates, or importing a Trello board, you’re sure to enjoy the latest updates to GitKraken Boards.

GitKraken CLI 预览| GitKraken 命令行功能

原文:https://www.gitkraken.com/gitkon/gitkraken-cli-preview

https://www.youtube.com/embed/WgLSyk-iSgc?feature=oembed

视频

用于 Windows、Mac、& Linux 的传奇式跨平台 GitKraken 客户端提供的高级功能之一是 GitKraken CLI,这是一种开箱即用的终端优先体验,具有 Git 命令的自动完成和自动建议功能,以及您的存储库的可视化。

一些 GitKraken 客户的历史

在深入 GitKraken CLI 本身之前,让我们先来看一下 GitKraken Client 作为 Git 生产力工具的发展历史。在团队开始开发 GitKraken 客户端之前,整个团队在使用 Git 时效率低下。没有多少人是在命令行上使用 Git 的专家,大多数人不得不记住或保留最常见的 Git 命令的手写列表。当时,大多数人只是简单地循环这些命令,直到他们遇到问题,然后不得不去问他们团队或在线的 Git 专家。高级 Git 用户经常被打断,以帮助新开发人员进行设置,解决困难的合并冲突,或者指导某人完成复杂的 Git 基础改造

使用 GitKraken 的 learn Git 资源,包括初学者、中级和高级概念的教程和指南,减轻加入 Git 的痛苦。

Learn Git with GitKraken

GitKraken 团队注意到,仅仅让 Git 在某些操作系统上工作就浪费了大量时间。虽然市场上有一些工具在某种程度上有所帮助,但没有任何高质量的、真正跨平台的 Git 客户端能够在 Windows、Mac 和 Linux 上正常、一致地工作。大多数现有的接口都不直观,所以 GitKraken 开发人员做了任何明智的开发团队都会做的事情:我们决定构建自己的 Git 客户端。

构建 GitKraken 客户端早期的指导原则很简单:“构建一个不烂的 Git 客户端。”这是一个相当低的门槛,但我们希望制作一个 Git 工具,它易于设置,对于 Git 新手来说很直观,对于 Git 专家来说足够强大,同时看起来非常好。GitKraken 团队主要依靠吸引人的设计和令人惊叹的用户体验来吸引用户使用 GitKraken 客户端,同时致力于与竞争对手的功能对等。正是这种对清晰可视化 g it 的持续关注,并通过直观的 UI 使其更易访问,帮助 GitKraken Client 成为当今世界上最受欢迎的 Git 客户端。

GitKraken Client 是 Git 工具的完美范例,它已经发展到可以应对新的挑战,具有交互式拉请求管理、合并冲突检测和解决、深度链接等高级功能。

进入 GitKraken CLI

专注于为 Git 制作最好的 GUI 或图形用户界面,导致我们有时采取某种反 CLI 的立场。虽然 GUI 相对于命令行界面的优势对某些人来说似乎是显而易见的,但是有相当多的开发人员已经学会并习惯于每天只使用 CLI。在我们帮助所有开发人员更有效地使用 Git 的持续努力中,我们试图更好地理解为什么开发人员使用 Git CLI,希望解决与在命令行上使用 Git 相关的最常见的痛点。GitKraken CLI 是大量研究和采访开发人员的结果,这些开发人员更喜欢使用命令行而不是 GUI 来使用 Git。

在内部测试和私有 alpha 测试之后,GitKraken CLI 在 GitKraken 客户端 8.0 版本中作为预览版发布。

端子标签

虽然终端并没有什么新东西,但是 GitKraken 客户端中的终端标签提供了一种全新的方式来在命令行中使用 Git 存储库。这些选项卡旨在与现有的 shells 一起工作,因此您可以继续使用您习惯的插件和别名,同时利用 GitKraken CLI 中内置的一些真正独特而强大的 Git 增强功能。

While there is nothing new about terminals, the terminal tabs in GitKraken Client provides an entirely new way to work in a command line with your Git repositories. The tabs are designed to work with existing shells, so you can continue to use the plug-ins and aliases you’re used to while taking advantage of some truly unique and powerful Git enhancements built into the GitKraken CLI.

GitKraken CLI 是多年来为 Git 构建强大 GUI 的经验的结晶,结合了从采访在日常 Git 交互中严重依赖 CLI 的用户中获得的知识。其结果是终端优先体验,这将从根本上改善 Git 在命令行上的使用方式。

The GitKraken CLI is a culmination of years of experience building a powerful GUI for Git combined with knowledge gained from interviewing users who depend heavily on the CLI in their daily Git interactions. The result is a terminal first experience that will radically improve the way Git is used on the command line.

自动完成&Git 命令的自动建议

GitKraken CLI 提供的增强功能之一是 Git 命令的自动完成和自动建议。当 GitKraken 团队问用户在命令行上使用 Git 最困扰他们的是什么时,最常见的回答是记住 Git 命令和大量参数。

GitKraken CLI 提供了一个内置系统,可以在您键入时自动建议 Git 命令和标志。它甚至在每个命令旁边都有一个简短的描述,以防您需要回忆这些命令是做什么的。

The GitKraken CLI offers a built-in system that automatically suggests Git commands and flags as you type. It even includes a brief description right next to each command, just in case you need to jog your memory on what those commands do.

如果您正在编写需要提交 SHA、分支名称或文件名的命令,GitKraken CLI 将使用模糊逻辑搜索来帮助您轻松找到它们,即使您不记得确切的路径,也可以将它们插入到您的命令中。长期以来,自动完成建议一直是对 IDEs 的重要增强,它们在 GitKraken CLI 中也同样自然和强大。

If you’re writing a command that requires a commit SHA, branch name, or file name, the GitKraken CLI will use a fuzzy logic search to help you find them easily, even if you can’t remember the exact path, by inserting them into your command. Auto-complete suggestions have been an essential enhancement to IDEs for a long time, and they feel just as natural and powerful in the GitKraken CLI.

GitKraken 客户端中提供的易于阅读的提交图将帮助所有技能水平的 Git 用户更好地可视化和理解他们的存储库的分支结构和提交历史。

The easy-to-read commit graph offered in GitKraken Client will help Git users of all skill levels better visualize and understand the branch structure and commit history of their repositories.

可视化 Git 仓库

关于在命令行中使用 Git,最困扰人们的第二件事是 Git 存储库的不良可视化。这一点很有意义,因为 CLI 确实擅长显示文本,但不擅长其他;当然不会可视化分支结构和提交历史。

许多 GitKraken 客户端用户也是大量 Git CLI 用户,他们告诉我们,他们使用 GitKraken 客户端只是因为提交图是可视化存储库的最佳方式。

在 GitKraken CLI 中,我们从标准 GitKraken 客户端界面中提取了最有用的可视化功能,并通过命令行轻松访问它们。这结合了 CLI 用户在终端中期望的能力和速度,以及关于存储库的可视化信息,使得通过 GUI 使用 Git 更容易,所有这些都在一个最小的视图中。

In GitKraken CLI, we’ve taken the most helpful visualization features from the standard GitKraken Client interface and made them easily accessible through the command line. This combines the power and speed that CLI users expect in a terminal, with the visual information about repositories that make working with Git easier via a GUI, all in one minimal view.

当您第一次导航到 Git 存储库时,这些可视化效果就会出现。GitKraken 客户端将立即在终端底部的面板中打开提交图,提供一个快速的存储库可视化表示,在上面的终端中执行 Git 命令时可以引用该表示。

提交图是完全交互式的,如果您需要的话,可以继续使用拖放和上下文菜单选项。在图表的上方,将会显示存储库名称、分支、标签以及任何前后的更改,这样您就可以随时知道自己的确切位置。

These visualizations appear the first time you navigate into a Git repository. GitKraken Client will immediately open the commit graph in a panel at the bottom of the terminal, providing a quick visual representation of the repository that can be referenced while performing Git commands in the terminal above.

The commit graph is fully interactive and continues to function with drag-and-drop and context menu options if you need them.  Just above the graph, the repository name, branch, tag, and any changes ahead or behind will be displayed so you always know exactly where you are.

GitKraken CLI 命令gk命令

要控制这个新的可视化面板,您可以通过键入gk和以下参数之一来利用 GitKraken CLI 的一组命令:

gk graph打开或关闭图形

  • 添加topbottomleftright改变位置。例如,gk graph right将视图设置为分屏

    • gk diff快速查看提交之间发生了什么变化
  • gk history显示文件历史视图

  • 显示文件或提交中发生了什么变化,以及是谁做出了这些变化

  • gk blame shows what has changed in a file or commit and who made those changes

命令调色板功率

针对 GitKraken CLI 用户的 ProTip:使用 GitKraken 客户端的命令面板,可通过Ctrl/Cmd+P访问,或点击工具栏中的新魔棒图标,快速访问所有高级功能。例如,要在编辑器中打开一个文件,只需键入edit后跟文件名,该文件将在终端中以编辑模式打开。

ProTip for GitKraken CLI users: use GitKraken Client’s Command Palette, accessible using Ctrl/Cmd+P, or click the new magic wand icon in the toolbar, for quick access to all advanced features. For example, to open a file in the editor, just type edit followed by the name of the file, and that file will open in edit mode inside of your terminal.

我们才刚刚开始!

GitKraken CLI 的未来版本中,还会有更多的特性出现。GitKraken 团队期待着听到用户对 GitKraken 客户端和 GitKraken CLI 的反馈,这样我们就可以继续完善我们传奇的 Git 工具,并在命令行上提供最佳体验。你可以在 Mac、Windows 和 Linux 上免费下载并开始使用传说中的 GitKraken 客户端,现在有了 GitKraken CLI!

There are even more features to come in the future releases of the GitKraken CLI.  The GitKraken team is looking forward to hearing feedback about GitKraken Client and the GitKraken CLI from users so we can continue to refine our legendary Git tools and provide the best experience on the command line.  You can download and start using the legendary GitKraken Client today for free on Mac, Windows, and Linux, now with GitKraken CLI!

GitKraken 在 2022 年取得了丰硕的成果,推出了新产品,提高了速度和功率,并发布了 GitKraken Client 9.0。

原文:https://www.gitkraken.com/blog/gitkraken-client-2022-recap

GitKraken 在 2022 年度过了忙碌而富有成效的一年,推出了许多新产品和更新,受到了用户的好评。在今年的回顾中,我们将花点时间回顾过去 12 个月的亮点,并思考 GitKraken Client 在前进的道路上将会发生什么。

更好、更快的发布

一些用户可能没有注意到的一个关键变化是我们的开发团队采用了新的迭代周期,这允许更频繁地发布更多的功能和修复。这不仅体现了我们的产品和开发团队之间令人印象深刻的协调,也体现了我们的 QA、营销和产品营销团队之间令人印象深刻的协调。

让我们回顾一下今年 GitKraken 客户端发布的所有热门内容。

速度提升

在整个 2022 年,我们为 MacOS 客户端和 Git 大文件存储(LFS)用户提供了更高的性能。GitKraken Client 8.3 引入了一个新的 ARM64 兼容版本,为苹果硅架构提供了原生支持,如采用 M1(现在是 M2)芯片的 MAC 电脑。我们很高兴为使用苹果芯片技术的设备带来显著更快的性能和改进的资源管理。

随着 8.6 版本的发布,LFS 用户也获得了重大提升,克隆和检出速度提高了 10 倍,随后是 8.7 和 9.0 版本中的额外 LFS 改进。我们对性能优化的不懈追求超越了 LFS,还包括在处理大型 Git 存储库时更快的动作和操作。

功率提升

从 GitKraken 早期开始,用户就要求在客户端中嵌入一个终端。在 8.4 中,我们提供了终端面板,让您能够直接从 Repo 选项卡输入命令。

功率提升

点击工具栏中的Terminal按钮,或从命令面板(cmd/ctrl + P)打开终端面板。这个增强的终端使得在审查代码的同时保持在您的工作流中并运行构建变得容易。此外,它还帮助您访问 Git 命令的自动完成建议和在 GitKraken 客户端打开视图的gk命令,如gk blamegk historygk diff

在 8.7 中,我们提供了一个被高度要求的特性来支持 GitKraken 客户端中的补丁。补丁是一个包含差异或一组变更的文件,无需创建分支或将代码推送到远程即可共享。

在 8.7 中,我们提供了一个被高度要求的特性来支持 GitKraken 客户端中的补丁。补丁是一个包含差异或一组变更的文件,无需创建分支或将代码推送到远程即可共享。

点击工具栏中的Terminal按钮,或从命令面板(cmd/ctrl + P)打开终端面板。这个增强的终端使得在审查代码的同时保持在您的工作流中并运行构建变得容易。此外,它还帮助您访问 Git 命令的自动完成建议和在 GitKraken 客户端打开视图的gk命令,如gk blamegk historygk diff

补丁文件在向/从 SCM 可能不可用的环境分发变更时特别有用,并且它们在许多开发流程中仍然是一个方便的工具。通过此次更新,用户获得了另一种共享和保存更改的方式。

为大型团队助力

大型团队有时很难将许可证分配给他们的用户。这就是为什么我们很自豪地在 8.8 中为多个提供商在上提供单点登录。GitKraken 现在可以使用以下受支持的身份提供者(IDP)启动 Oauth 认证流程:

Azure 活动目录

天空的八分之一

谷歌身份平台

Ping 身份

对于使用 SSO 的团队来说,这将帮助他们节省登录过程中的额外步骤,并使许可证分配更加容易。

  • 轰轰烈烈地结束这一年
  • GitKraken Client 9.0 是一个重要的版本,它改善了 GitKraken Client 在使开发工作流程更加简单快捷方面的声誉。新特性既实用又有前瞻性,它们反映了 GitKraken 致力于构建满足开发者和团队需求的工具。
  • 每个人的工作空间
  • 对于每天使用多个存储库的开发人员来说,工作区已经帮助他们快速回答了如下问题:

我昨天在做什么?上周呢?

哪些回购正在进行中?

接下来我需要做什么?

以前版本的工作区要求存储库将远程主机托管在一个主机服务上,这使得那些在本地工作或使用非集成服务的人无法使用它们。使用 9.0,您现在可以创建本地工作区,包括您机器上的任何存储库,而没有任何远程限制。

GitKraken Client 9.0 是一个重要的版本,它改善了 GitKraken Client 在使开发工作流程更加简单快捷方面的声誉。新特性既实用又有前瞻性,它们反映了 GitKraken 致力于构建满足开发者和团队需求的工具。

GitKraken Client 9.0 was a significant release that improved upon GitKraken Client’s reputation for making development workflows easier and faster. The new features are both practical and forward-looking, and they reflect GitKraken’s commitment to building tools that meet the needs of developers and teams.

还可以从本地工作区创建云工作区,为所有回购添加拉取请求和问题信息,并能够与您的团队共享以保持每个人的一致性。

对于每天使用多个存储库的开发人员来说,工作区已经帮助他们快速回答了如下问题:

我昨天在做什么?上周呢?

  • 云工作空间也将支持 GitKraken Insights。说到这个…
  • GitKraken 洞察
  • 9.0 的发布也很重要,因为它引入了 GitKraken Insights ,这是一个全新的功能,可以帮助您和您的团队测量工作区中所有 repos 的开始和合并速度。

以前版本的工作区要求存储库将远程主机托管在一个主机服务上,这使得那些在本地工作或使用非集成服务的人无法使用它们。使用 9.0,您现在可以创建本地工作区,包括您机器上的任何存储库,而没有任何远程限制。

Previous iterations of Workspaces required repositories to have remotes hosted on a single hosting service, making them unusable by those working locally or with non-integrated services. With 9.0, you can now create Local Workspaces that include any repositories on your machine without any remote restrictions.

连接到 GitHub、GitLab 或 Bitbucket 后,导航到您的云工作区中的 Pull Request 部分,查看您的工作区 Pull 请求的以下指标:

平均周期时间:衡量在所选时间范围内合并拉取请求所需的平均时间。

平均吞吐量:衡量所选时间范围内合并的拉请求的平均数量。

合并率:选定时间范围内合并的拉式请求与未完成的拉式请求的百分比。

打开:在选定时间范围内打开的拉请求总数。

合并:在所选时间范围内合并的拉请求总数。

流行的 UI/UX 改进

我们的用户特别喜欢 9.0 中的两个 UI/UX 更新:ghost branches 和 commit highlighting。

将鼠标悬停在提交上可以看到一个“幽灵”分支。这将显示包含该提交的最近的分支,如果指向分支头的指针不在视图中,这将很有帮助。

将鼠标悬停在提交上可以看到一个“幽灵”分支。这将显示包含该提交的最近的分支,如果指向分支头的指针不在视图中,这将很有帮助。

连接到 GitHub、GitLab 或 Bitbucket 后,导航到您的云工作区中的 Pull Request 部分,查看您的工作区 Pull 请求的以下指标:

“ghost”分支也将在选择提交时显示,双击该 ghost 分支将检查引用分支的头。

  • 提交高亮显示是用户界面/UX 的另一个亮点。将鼠标悬停在任何分支上,短暂延迟后,应用程序将突出显示该分支引用的所有提交,帮助您快速关注与该分支相关的更改。
  • 合并率:选定时间范围内合并的拉式请求与未完成的拉式请求的百分比。
  • 打开:在选定时间范围内打开的拉请求总数。
  • GitKraken Client 9.0 将帮助您改进开发工作流程,并在未来的挑战中保持领先。
  • GitKraken Client 9.0 将帮助您改进开发工作流程,并在未来的挑战中保持领先。

荣誉奖:Git 课程启动

学习 Git 可能很难。它通常不在大学课程中涉及,甚至也不在新工作中涉及。你不需要费力去理解密集的文档或无尽的在线教程。

这就是为什么在 GitKon 2022 期间,我们推出了 Git 认证课程的基础。

这就是为什么在 GitKon 2022 期间,我们推出了 Git 认证课程的基础。

概念以可视化方式解释,然后是 CLI、GitKraken 客户端或 GitLens 中的应用示例。课程涵盖了常见的 Git 命令和操作,如分支、合并和重定基、分叉、拉请求,以及情景工具,如 stashing、cherry picking、squashing、使用 Git 钩子等等。

然后,您将有机会通过沙盒回购练习、测验以及最后的认证考试来亲自实践。

然后,您将有机会通过沙盒回购练习、测验以及最后的认证考试来亲自实践。

通过认证考试的人将获得 GitKraken 颁发的 Git 认证,可以自豪而热情地与团队、同事和 LinkedIn 网络分享。200 多名学生已经获得认证。我们敢吹嘘我们的 5 星评论平均分吗?

通过认证考试的人将获得 GitKraken 颁发的 Git 认证,可以自豪而热情地与团队、同事和 LinkedIn 网络分享。200 多名学生已经获得认证。我们敢吹嘘我们的 5 星评论平均分吗?

我们得到的和逃脱的(暂时)

我们知道许多用户急切地查看我们的发布说明,看看他们投票支持的功能是否成功。唉,一年就这么点时间。我们要感谢以下在feedback.gitkraken.com上最受欢迎的功能,它们仍在我们的愿望清单上:

Windows 上对 WSL2 的支持

支持附加文件编码

将工作副本与特定提交进行比较

支持工作树🌲

支持 SSH/配置文件

我们不会忽视您的宝贵意见和建议,在我们探索如何在 2023 年路线图中解决这些问题时,我们非常感谢您的时间、精力和耐心。

我们很自豪地说,我们确实在 2022 年推出了以下备受期待的功能:

原生支持新的苹果 Mac M1(硅)(ARM 处理器)

支持部分存储

能够为存储库创建别名,以便于识别

禁用子模块同步的选项

提高 Git LFS 性能

  • 支持补丁文件
  • 我们的团队期待继续讨论和改进 GitKraken 客户端的请求..期待更快!
  • 结束语
  • 咻!多好的一年。2022 年,开发团队实施了一个新的迭代周期,允许更频繁地发布更多的功能和修复。我们专注于提高性能,通过增加终端面板和补丁支持来提高 MacOS 和 LFS 用户的速度和功率。
  • 虽然我们不断推动发布有价值的更新和新功能,只要它们准备好了,2022 年肯定是一个把最好的留到最后的例子。GitKraken Client 9.0 引入了工作空间和洞察力,进一步改善了该产品在使开发工作流程更简单、更快速方面的长期声誉。该团队还推出了 Git 认证基础课程,帮助用户更高效地学习 Git。总的来说,这是 GitKraken 成功的一年,团队期待在 2023 年及以后继续成长和发展。

渴望更多 2022 GitKraken 产品集锦?查看我们关于吉拉和 T2 Git lens 的年度综合博客文章。

我们很自豪地说,我们确实在 2022 年推出了以下备受期待的功能:

原生支持新的苹果 Mac M1(硅)(ARM 处理器)

  • 支持部分存储
  • 能够为存储库创建别名,以便于识别
  • 禁用子模块同步的选项
  • 提高 Git LFS 性能
  • 支持补丁文件
  • 我们的团队期待继续讨论和改进 GitKraken 客户端的请求..期待更快!

结束语

咻!多好的一年。2022 年,开发团队实施了一个新的迭代周期,允许更频繁地发布更多的功能和修复。我们专注于提高性能,通过增加终端面板和补丁支持来提高 MacOS 和 LFS 用户的速度和功率。

虽然我们不断推动发布有价值的更新和新功能,只要它们准备好了,2022 年肯定是一个把最好的留到最后的例子。GitKraken Client 9.0 引入了工作空间和洞察力,进一步改善了该产品在使开发工作流程更简单、更快速方面的长期声誉。该团队还推出了 Git 认证基础课程,帮助用户更高效地学习 Git。总的来说,这是 GitKraken 成功的一年,团队期待在 2023 年及以后继续成长和发展。

渴望更多 2022 GitKraken 产品集锦?查看我们关于吉拉和 T2 Git lens 的年度综合博客文章。

Whew! What a year. In 2022, the development team implemented a new iteration cycle, which has allowed for more frequent releases with a greater number of features and fixes. And we focused on improving performance, with speed boosts for MacOS and LFS users, as well as power boosts through the addition of the Terminal Panel and patch support.

While we constantly push to release valuable updates and new features as soon as they are ready, 2022 certainly was a case of saving the best for last. GitKraken Client 9.0 introduced Workspaces and Insights, further improving upon the product’s long standing reputation for making development workflows easier and faster. The team also launched the Foundations of Git Certification Course to help users learn Git more efficiently. Overall, it was a successful year for GitKraken, and the team is looking forward to continued growth and development in 2023 and beyond.

Hungry for more 2022 GitKraken product highlights? Check out our annual round-up blog post for Git Integration for Jira and GitLens.

GitKraken 9.1:改进的 WSL 2 和其他用户请求

原文:https://www.gitkraken.com/blog/gitkraken-client-9-1

在我们的 2022 年回顾中,我们总结了在这一年中实施的六大热门功能。我们也承认有五个被高度要求的特性“逃脱”了——这意味着我们还没有得到它们……还没有!

GitKraken Client 9.1 已经发布,我们很高兴与大家分享其中的两项改进,以及来自 1000 多名用户的其他功能和改进。我们很高兴现在就与您分享亮点!

改进的 WSL 2 支持

我们听说 WSL 是许多用户开发设置的重要部分。随着 WSL 越来越受欢迎,我们很高兴为在这种环境下工作的用户提供改进。为了尽快给用户带来更自然的体验,我们改进了 GitKraken Client 的 Linux 版本,以解决在 WSL 2 环境中操作时的常见问题。

在 9.1 中,用户现在可以在 WSL 2 发行版中安装带有 WSLg 的 GitKraken 客户端,并更好地使用他们的 Linux repos。为了获得最佳体验,我们建议用户在他们的 Windows 机器和 WSLg Linux 发行版上都安装 GitKraken Client。这使得用户可以在各自操作系统的 GitKraken 客户端之间快速切换。

在 9.1 中,用户现在可以在 WSL 2 发行版中安装带有 WSLg 的 GitKraken 客户端,并更好地使用他们的 Linux repos。为了获得最佳体验,我们建议用户在他们的 Windows 机器和 WSLg Linux 发行版上都安装 GitKraken Client。这使得用户可以在各自操作系统的 GitKraken 客户端之间快速切换。

有关 WSL 2 / WSLg 的更多信息,以及我们为在这种环境中更好地管理 GitKraken 客户端而引入的其他功能,请查看我们的“在 WSL 2 中使用 GitKraken 客户端”博客文章。如果您是 WSL 2 用户,并准备好开始设置,请访问我们的帮助中心文档

生活质量提高

生活质量的提高对于让用户体验更流畅、更愉快至关重要。这些微小但有意义的增强可以提高生产率,简化复杂的任务,并增强您对 GitKraken Client 的整体体验。

编码支持

GitKraken Client 9.1 提供了对 ISO-8859-1、Windows-1252 等的新编码支持。这将有助于应用程序在查看差异或提交时准确显示您的文件。

在 GitKraken 客户端的任何文件 diff 中,点击右上角的下拉菜单来更改您的编码偏好。

编码支持

GitKraken Client 9.1 提供了对 ISO-8859-1、Windows-1252 等的新编码支持。这将有助于应用程序在查看差异或提交时准确显示您的文件。

阅读完整的发行说明以获得更多关于如何根据您的需求添加适当编码支持的选项。

修改隐藏消息

这个更新是我的最爱。用户现在可以修改隐藏信息,这将使重命名隐藏变得轻而易举。现在,您无需弹出并重新创建您的存储库来更新存储库名称,只需右键单击即可编辑名称。

绕过 Git 挂钩

来自用户的另一个请求,你现在可以在提交时绕过 Git 钩子。这将为您在工作流程中决定何时运行 Git 挂钩提供灵活性,并且也将为您节省一些时间!

要跳过 Git 挂钩,开始输入提交消息。然后,您可以单击这个拆分按钮选项来提交并绕过 Git 挂钩。

工作空间改进

9.0 版本引入了本地和云工作区,当我们征求用户反馈时,您通过了!以下是 9.1 的新增功能:

用户希望更好地组织他们的焦点视图或团队视图。现在,工作区列可以按存储库、问题、拉式请求和 WIP 表进行排序。

用户希望 GitKraken Insights 能够将云工作区连接到 Azure DevOps。搞定了。

用户希望通过 GitKraken Insights 指标获得更多时间段选项。许可用户现在可以下拉选择 7 天或 14 天的时间段。

要跳过 Git 挂钩,开始输入提交消息。然后,您可以单击这个拆分按钮选项来提交并绕过 Git 挂钩。

上面提到的更新只是亮点。关于 GitKraken 客户端 9.1 中的改进和错误修复的完整列表,请访问发行说明

让他们来吧

最后,我们想再次感谢所有花时间告诉我们您的使用案例并分享反馈以改进应用程序的人。请继续与我们分享您的反馈。访问feedback.gitkraken.com在我们的功能板上查看、投票或提交功能请求。

9.0 版本引入了本地和云工作区,当我们征求用户反馈时,您通过了!以下是 9.1 的新增功能:

  • 用户希望更好地组织他们的焦点视图或团队视图。现在,工作区列可以按存储库、问题、拉式请求和 WIP 表进行排序。
  • 用户希望 GitKraken Insights 能够将云工作区连接到 Azure DevOps。搞定了。
  • 用户希望通过 GitKraken Insights 指标获得更多时间段选项。许可用户现在可以下拉选择 7 天或 14 天的时间段。

上面提到的更新只是亮点。关于 GitKraken 客户端 9.1 中的改进和错误修复的完整列表,请访问发行说明

让他们来吧

最后,我们想再次感谢所有花时间告诉我们您的使用案例并分享反馈以改进应用程序的人。请继续与我们分享您的反馈。访问feedback.gitkraken.com在我们的功能板上查看、投票或提交功能请求。

Lastly, we want to say thank you again to all of you who take the time to tell us about your use cases and share feedback to improve the app. Keep sharing that feedback with us. Visit feedback.gitkraken.com to view, upvote, or submit feature requests on our feature board.

告别回购轮盘赌:发现 GitKraken v9.0 并简化您的开发工作流程

原文:https://www.gitkraken.com/blog/gitkraken-client-9

我们知道在多个回购中处理进行中的工作、拉式请求和问题分支是多么乏味。这就是为什么我们如此兴奋地推出 GitKraken 客户端 9.0 。这个主要版本的发布将真正改变您的开发工作流程。

以下是头条新闻:

  • 新的本地工作区使处理多个回购变得轻而易举,无论它们托管在哪里。
  • 工作区定制选项的增强菜单,如添加或删除表列。
  • 整个应用程序的显著界面和可用性升级旨在提高易读性,促进更好的定制,并使查找和关注提交图中的分支和提交变得更加容易。
  • 最后,但绝对不是最不重要的,GitKraken Insights 的预览,这是一个全新的工具,用于监控拉请求的速度,以缩短个人和团队的开发周期。

工作空间改进

对于每天使用多个存储库的开发人员来说,工作区已经帮助他们快速回答了如下问题:

我昨天在做什么?上周呢?

  • 哪些回购正在进行中?
  • 接下来我需要做什么?
  • 正如一位用户所说:

“我真的很期待让 GitKraken Client 成为我的‘早晨咖啡登陆页’目标是能够在 40 多个存储库中找出什么是可操作的,以及以什么顺序。"

正如一位用户所说:

以前版本的工作区要求存储库将远程主机托管在一个主机服务上,这使得那些在本地工作或使用非集成服务的人无法使用它们。有了 9.0,我们很高兴地宣布,您现在可以创建本地工作区,包括您机器上的任何存储库,而没有任何远程限制。

“我真的很期待让 GitKraken Client 成为我的‘早晨咖啡登陆页’目标是能够在 40 多个存储库中找出什么是可操作的,以及以什么顺序。"

要创建一个本地工作区,导航到 GitKraken 客户端左上角的工作区选项卡并点击New Workspace

通过选择一个存储库目录,甚至通过选择一个现有的 VS 代码工作区,浏览并添加存储库。创建本地工作空间后,您将获得以下好处:

点击任意回购名称,在 GitKraken 客户端中以标签形式快速打开。

查看每个回购的当前签出分支及其远程状态。

查看所有回购中正在进行的工作,以及有多少修改、添加或删除的文件。

  • 查看回购详细信息,包括自述文件的渲染视图。
  • 多选回购以:
  • 对所选的仓库执行提取
  • 在 GitKraken 客户端或 VS 代码工作区中以标签形式打开 repos
  • 使用您的选择创建云工作区(以前称为个人或团队工作区)
    • 对所选的仓库执行提取
    • 本地工作区也可以用于创建云工作区。云工作区增强了所有回购的拉式请求和问题信息,并可与您的团队共享,以保持每个人的一致性。
    • 使用您的选择创建云工作区(以前称为个人或团队工作区)

云工作空间也将支持 GitKraken Insights。说到这个…

git kraken Insights–预览

接下来,我们很高兴向您介绍 GitKraken Insights,这是一项全新的功能,可以帮助您和您的团队测量工作空间中所有 repos 的启动和合并速度。

云工作空间也将支持 GitKraken Insights。说到这个…

要启用 GitKraken Insights,首先需要打开一个云工作区,然后导航到Pull Request部分。从这里,单击将 Insights 连接到您的远程托管服务。

接下来,我们很高兴向您介绍 GitKraken Insights,这是一项全新的功能,可以帮助您和您的团队测量工作空间中所有 repos 的启动和合并速度。

连接完成后,返回到云工作区的Pull Request部分,查看工作区拉取请求的以下指标:

平均周期时间:衡量在所选时间范围内合并拉取请求所需的平均时间。

平均吞吐量:衡量所选时间范围内合并的拉请求的平均数量。

合并率:选定时间范围内合并的拉式请求与未完成的拉式请求的百分比。

打开:在选定时间范围内打开的拉请求总数。

  • 合并:在所选时间范围内合并的拉请求总数。
  • 平均吞吐量:衡量所选时间范围内合并的拉请求的平均数量。
  • 但是,如果您跟踪像拉式请求周期时间和吞吐量这样的指标,这又有什么关系呢?
  • 打开:在选定时间范围内打开的拉请求总数。
  • 基本原则是,你的代码被合并的时间越长,你的工作流就会变得越复杂。因此,随着这些变更落地,您的 PR 和您的变更越来越落后于主干分支,您就越有可能需要做更多的工作来让代码再次工作。”

GitKraken Insights 目前正在预览。随着时间的推移,我们将向所有用户推出这一功能,我们希望听到您对应用内表单的反馈。

用户界面/UX 刷新

GitKraken 最近在 VS 代码中发布了 GitLens 的提交图,我们很高兴能在 GitKraken 客户端 9.0 版本中引入该流程的一些改进。

– Jeff Schinella, Director of Product, GitKraken

幽灵树枝

在 GitKraken 客户端 9.0 中,当您将鼠标悬停在提交上时,您将会看到一个“幽灵”分支。这将显示包含该提交的最近的分支,如果指向分支头的指针在视图之外,这将很有帮助。“ghost”分支也将在选择提交时显示,双击该 ghost 分支将检查引用分支的头。

用户界面/UX 刷新

用户可以从Preferences > UI Customization开始打开或关闭该设置。

提交突出显示

我们要分享的另一个改进最初是在 GitLens 中首次亮相的。

将鼠标悬停在任何分支上,短暂延迟后,应用程序将突出显示该分支引用的所有提交,帮助您快速关注与该分支相关的更改。

将鼠标悬停在任何分支上,短暂延迟后,应用程序将突出显示该分支引用的所有提交,帮助您快速关注与该分支相关的更改。

与 ghost 分支类似,用户可以从Preferences > UI Customization开始打开或关闭该设置。

用户界面刷新

我们也很高兴地分享这个版本对 GitKraken 客户端界面的许多改进。听取客户反馈,我们努力减少应用程序中的视觉噪音,最大限度地减少之前定义内容区域的不同颜色的使用。9.0 现在更依赖于间距和排版来增加易读性。如果你使用自定义主题,你会注意到一个变化,但不会破坏现有的主题系统。

我们要分享的另一个改进最初是在 GitLens 中首次亮相的。

将鼠标悬停在任何分支上,短暂延迟后,应用程序将突出显示该分支引用的所有提交,帮助您快速关注与该分支相关的更改。

我们还更新了 Mac 应用程序图标,以符合当前的苹果指南,Windows 和 Linux 应用程序图标也已刷新。我们希望你喜欢新的外观!

GitKraken Client 9.0 是一个改变游戏规则的版本,它提高了产品的声誉,使开发工作流程更简单、更快速。包括工作区和洞察力在内的新功能既实用又具有前瞻性,它们反映了 GitKraken 致力于构建满足开发人员和团队需求的工具。首席执行官 Matt Johnston 将此次发布描述为“真正改变了开发工作流程”,并将开发从个人运动发展为团队运动。总的来说,GitKraken Client 9.0 是任何希望改善其开发工作流程并领先于未来挑战的人的必备工具。

与 ghost 分支类似,用户可以从Preferences > UI Customization开始打开或关闭该设置。

体验工作空间、洞察力和 GitKraken Client 9.0 的所有改进。

用户界面刷新

我们也很高兴地分享这个版本对 GitKraken 客户端界面的许多改进。听取客户反馈,我们努力减少应用程序中的视觉噪音,最大限度地减少之前定义内容区域的不同颜色的使用。9.0 现在更依赖于间距和排版来增加易读性。如果你使用自定义主题,你会注意到一个变化,但不会破坏现有的主题系统。

We are also excited to share that this release features a number of improvements to the GitKraken Client interface. Listening to customer feedback, we worked hard to reduce visual noise across the app by minimizing the use of different colors that previously defined content areas. 9.0 now relies more on spacing and typography to increase legibility. If you use custom themes, you’ll notice a change, but nothing that breaks the existing theming system.

我们还更新了 Mac 应用程序图标,以符合当前的苹果指南,Windows 和 Linux 应用程序图标也已刷新。我们希望你喜欢新的外观!

GitKraken Client 9.0 是一个改变游戏规则的版本,它提高了产品的声誉,使开发工作流程更简单、更快速。包括工作区和洞察力在内的新功能既实用又具有前瞻性,它们反映了 GitKraken 致力于构建满足开发人员和团队需求的工具。首席执行官马特·约翰斯顿(Matt Johnston)将此次发布描述为“真正改变了开发工作流程”,并将开发从个人运动发展为团队运动。总的来说,GitKraken Client 9.0 是任何希望改善其开发工作流程并领先于未来挑战的人的必备工具。

GitKraken Client 9.0 is a game-changing release that improves upon the product’s reputation for making development workflows easier and faster. The new features, including Workspaces and Insights, are both practical and forward-looking, and they reflect GitKraken’s commitment to building tools that meet the needs of developers and teams. CEO Matt Johnston describes the release as “truly transforming the development workflow” and evolving development from an individual sport to a team sport. Overall, GitKraken Client 9.0 is a must-have for anyone looking to improve their development workflow and stay ahead of the challenges of the future.

体验工作空间、洞察力和 GitKraken Client 9.0 的所有改进。

Experience Workspaces, Insights, and all the improvements in GitKraken Client 9.0.

GitKraken | GitKraken 客户端演示

原文:https://www.gitkraken.com/gitkon/gitkraken-client-demo

https://www.youtube.com/embed/SebnwzgARaw?feature=oembed

视频

欢迎来到 GitKraken 客户端!在这个来自 2021 GitKon Git conference 的 GitKraken 客户端演示中,Jonathan Silva 展示了世界上最流行的 Git 工具之一的令人难以置信的功能。

GitKraken 客户端是一个 Git 生产力和团队协作工具,可以节省团队时间。无论你是一个经验丰富的用户还是一个新的面孔,GitKraken 客户端都有适合每个人的东西。

想要一个不断发展的 Git 工具,以高级特性应对用户挑战?免费下载 GitKraken 客户端,跟随乔纳森。

用户界面概述

当你用应用程序打开你的 Git 存储库时,GitKraken Client 会构建中心图,这是你的回购提交历史的可视化表示。

图表的每一行代表一个 Git 提交,图表的顶部将总是显示最新的更改。交互式//WIP(工作进行中)节点将显示自上次提交以来工作目录是否已更改。

左侧面板显示了您的本地 Git 分支、远程、拉请求、问题跟踪集成、团队等等。

通过在左侧面板顶部的筛选器/搜索栏中键入内容,可以快速筛选所有这些部分。从每个部分中,您可以访问其他操作。例如,您可以从“分支操作”菜单中隐藏或单独显示分支。

要查看提交后的更改,您将使用图表右侧的提交面板。

提交面板显示了所选提交更改了哪些文件,以及其他详细信息。例如,如果您设置了 GPG 签名,右侧的提交面板将显示哪些提交已经签名并通过绿色注释验证📝提交名称旁边的图标。

在提交图中,单击选定提交中的任何文件名,以快速查看文件差异。从这里,您可以轻松地在大块视图、嵌入式视图或拆分视图之间切换。GitKraken 客户端还提供了单词区分、文件小地图和跳转到下一个修改的箭头。

在中间的图中,您可以使用shiftcmd/ctrl键选择多个提交来获得一个组合的差异,这对于比较提交或分支之间的差异非常有用。

默认情况下,文件以路径名显示,但如果您愿意,可以切换到树视图,或单击“查看所有文件”快速访问存储库中的所有文件。

选择图中的 WIP 节点将在提交面板中显示工作目录文件的更改。在这里,您可以在提交之前暂存、取消暂存或放弃更改。为了获得更高的粒度,在 diff 视图中,还可以通过块或行来暂存、取消暂存或丢弃更改。

您也可以直接在 GitKraken 客户端的编辑器中点击编辑文件,对您的文件进行其他更改。

【GitKraken 客户端分支

在 GitKraken 客户端中,本地和远程分支易于创建、管理和交互。

如果你在中间的图中右击一个提交,你会得到选项创建一个 Git 分支选择一个提交,重置一个分支到一个特定的提交,或者恢复一个 Git 提交

如果右键单击作为分支头部的提交,您将有更多的选项,包括推和拉当前未签出的分支,以及合并、重置和启动一个 Git pull 请求

如果其中任何一项出错,如果您没有将回购推送到 Git remote ,那么Undo按钮会将您带回到回购的先前状态。如果您不正确地提交或执行了一个合并,并且想要返回,这真的很方便。

在 GitKraken 客户端的工具栏内,可以看到PushPull按钮。Push按钮会将当前分支推到其指定的远程,而Pull按钮可以获取或拉出远程分支。您可以通过点击Pull按钮旁边的下拉菜单,然后选择每个选项旁边的一个图标,来设置 GitKraken 客户端对每次 Git pull 将采取的默认操作,如下所示。

在 GitKraken 客户端点击 UI 右上角的魔棒图标将会弹出命令面板,在这里您可以快速访问诸如 Git checkout 、push、pull、open a repo、 clone a repo 等操作。您也可以使用键盘快捷键Cmd/Ctrl + P来调出命令面板,而无需离开键盘。

拖放和交互式重设基础

拖放使得 Git 操作更容易理解和执行。

在 GitKraken Client 中,您可以将一个分支拖放到另一个分支上,以生成一系列可能的操作,例如: Git merge ,rebase, interactive rebase ,如果您的存储库托管在一个受支持的集成上,甚至可以启动一个 pull 请求。

您还可以通过检出一个分支,然后右键单击图形或左侧面板中的目标分支,来获得类似的操作列表。

如果您选择交互式 rebase 选项,GitKraken 客户端将打开交互式 Rebase 视图,您可以在其中为每个提交选择一个操作。

  • 在左侧–在“挑选”、“重绕”、“挤压”等选项之间进行选择。
  • 使用向上或向下键导航提交
  • 使用键盘快捷键执行以下任一操作
  • 您也可以双击提交来改写
  • 和拖放来向上或向下移动提交

如果您希望重启,只需点击Reset即可恢复您的更改。

一旦您做出选择,您就可以开始交互式重置基础,当它完成时,图形将会更新以反映您的更改。很不错,对吧?

GitKraken 是解决新问题的 Git 工具的完美范例,具有交互式拉请求管理、合并冲突检测和解决、深度链接等高级功能。

合并工具

当您拖放执行合并时,GitKraken 客户端将检测到合并冲突并指导您解决问题。

如果发生合并冲突,右侧提交面板顶部会出现“检测到合并冲突”消息,以及冲突文件列表。单击提交面板中列出的任何文件都会打开合并工具。

If a merge conflict occurs, a “Merge conflict detected” message will appear on top of the commit panel on the right, along with a list of the conflicted files. Clicking on any of the listed files in the commit panel will open the merge tool.

GitKraken 客户端中的合并工具将向您显示两个分支之间的冲突变更,并在底部显示一个Output。选中您希望保留的每段代码的复选框,或者一次选择一行。

The merge tool in GitKraken Client will show you the conflicting changes between two branches along with an Output at the bottom. Check the box for each hunk of code you wish to keep, or select one line at a time.

您甚至可以在Output框中键入内容来进一步微调代码。一旦你对修改满意了,点击Save,或者输入Ctrl/Cmd + S,退出合并工具,继续下一个冲突的文件。解决所有冲突后,您可以继续进行合并。

有了 GitKraken Client,合并冲突就不那么可怕,也更容易解决,现在有了 GitKraken Client 的团队功能,您可以完全避免合并冲突——敬请关注更多相关内容。

With GitKraken Client, merge conflicts are less scary and easier to untangle, and now with GitKraken Client’s team features you can avoid merge conflicts all together – stay tuned for more on that.

Git 回购拉取请求整合

GitKraken 客户端与 GitHub 、GitHub Enterprise、 GitLab 、GitLab Self-Managed、 Bitbucket 、Bitbucket Server 和 Azure DevOps 的集成,使得在不离开 Git 客户端的情况下轻松创建和管理拉请求。

GitKraken Client’s integrations with GitHub, GitHub Enterprise, GitLab, GitLab Self-Managed, Bitbucket, Bitbucket Server, and Azure DevOps make it easy to create and manage pull requests without leaving the Git client.

从图中,将一个分支拖放到另一个分支上,以访问“创建拉取请求”选项。

这将触发一个模式,您可以在其中设置拉请求标题、描述和一些更多的细节。一旦您对细节满意,点击Create Pull Request,PR 将在主界面的左侧面板中可用。

如果您正在使用 GitHub.com 集成,您可以利用 pull request 视图查看 GitHub pull requests ,通过消除在 PR 过程中切换到 GitHub 的需要,进一步提高您的生产力。

在左侧面板中选择一个 GitHub pull 请求,打开 pull request 视图,GitHub 用户可以:

编辑提取请求标题、描述、审核者、受托人、里程碑和标签

  • 对拉请求的注释:提交代码评审,批准拉请求,或者请求变更
  • 合并拉取请求
  • ProTip:如果双击 PR 视图右下方的分支名称,GitKraken 客户端会自动检出该分支,并在图形中打开它。这使得在本地测试 PR 的所有更改变得容易,而不必在应用程序之间来回切换。

问题跟踪集成 s

GitKraken 客户端集成了流行的问题跟踪器,如吉拉、GitHub 问题、GitLab 问题和 Trello。

导航至PreferencesIssue Tracker,然后选择您希望与当前打开的回购整合的问题跟踪器。您也可以将此设置为其他回购的默认值。

将问题跟踪器与 GitKraken 客户端连接后,您可以在左侧面板中选择项目来查看和过滤问题。

将鼠标悬停在某个问题上以预览详细信息,或者选择一个问题以:

查看问题详细信息

编辑状态/列

  • 添加受让人
  • 添加评论
  • 创建与问题相关的分支(问题 ID 和标题将成为分支名称)
  • Add comments
  • GitKraken 客户端还允许用户创建新问题,设置问题类型、名称、描述、标签和代理人,而无需离开 Git 客户端。此外,在左侧面板中,您可以单击出现在问题面板中问题名称末尾的菜单,直接在问题跟踪器或复制问题链接中查看问题。

团队 Git

当你和团队一起工作时,GitKraken 客户端会更强大。

GitKraken Client Pro 和企业云帐户的用户可以在其组织内创建和管理团队。导航至PreferencesYour organization name查看您的组织成员列表。这也是帐户管理员可以:

邀请用户加入组织

向组织成员分配角色

Users on GitKraken Client Pro and Enterprise Cloud accounts can create and manage teams within their organization. Navigate to PreferencesYour organization name to view the list of your organization members. This is also where account admins can:

  • 如果您是 GitKraken 客户端团队的一员,左侧面板中的“团队”窗格将显示您所属的所有团队的下拉列表。
  • 选择一个团队将显示该团队中所有成员的列表,您将能够看到每个成员正在处理的分支和文件。

If you are part of a team in GitKraken Client, the Teams pane in the left panel will populate with a dropdown list of all the teams you belong to.

GitKraken 客户端还会警告你与队友之间潜在的合并冲突,通过用警告图标⚠️指示你和另一个团队成员当前正在处理的任何文件,为你的团队节省解决冲突的头痛。

如果您为图表启用了Author列,您可以按团队或个人贡献者过滤图表。按团队或作者过滤图表将突出显示任何符合您的过滤器的贡献者所做的提交,这将使图表更容易扫描您的团队的工作。

GitKraken 客户端提供的团队特性使得与 Git 的协作更加安全、简单和强大,并且使得新团队成员的加入速度更快。

If you have the Author column enabled for the graph, you may filter the graph by team or by individual contributors.  Filtering the graph by team or author will highlight the commits made by any contributors matching your filter, which should make the graph easier to scan for work by your team.

将所有这些放在一起

观看视频中的片段,了解 GitKraken 客户端中常见的工作流程场景。

现在你还在等什么?

您现在已经准备好为 Windows、Mac 和 Linux 使用传说中的 GitKraken 客户端立即免费下载释放您回购的全部潜力。

Watch this clip from the video to see a common workflow scenario in GitKraken Client.

Now what are you waiting for?

You’re now ready to use the legendary GitKraken Client for Windows, Mac, and Linux! Download it free today to unleash the full potential of your repo.

GitKraken Client v8.2 |管理多个 Git Repos +主题的新工作区

原文:https://www.gitkraken.com/blog/gitkraken-client-v8-2

我们很高兴分享 GitKraken Client 的 8.2 版本中的新功能和改进。即使是单人超级英雄也会从工作空间中受益,但我们已经为团队设计了许多更新,以充分利用 Git。所以集合你的团队,准备好处理 Git 中最大的项目。继续阅读这篇文章或观看下面的视频,看看有什么新的!

https://www.youtube.com/embed/eEPoQLv52W0?feature=oembed

视频

我们不能停止用 Git 提高生产力。GitKraken Workspaces 使您和您的团队能够同时从多个存储库中执行诸如克隆和获取之类的操作。💥

GitKraken 工作区:管理多个 Git 仓库

您的多回购团队工作流刚刚获得了 GitKraken 工作空间的超能力!工作区通过提供一种简单的方法来对存储库进行分组,一次对多个存储库采取行动,并快速接纳新的团队成员,从而节省团队的时间。

几乎所有现代的基于 Git 的项目最终都需要不止一个存储库。组织出于多种原因利用多回购设置,例如分别对每个服务进行版本控制,或者允许单个项目团队管理他们自己的回购。多回购设置有很多优点,但是随着项目的增长,开发人员有责任弄清楚如何管理多个存储库来完成他们的工作。

工作区允许您在 GitKraken Client 的一个选项卡中收集和访问项目所需的所有回购!您需要的所有存储库现在都在一个地方,节省了您在多个应用程序之间切换或不断更改目录的时间。

新的 Workspaces 选项卡显示了您签出的最后一个分支的状态、提交进度以及每个包含的存储库是否有活动的 WIP。从单一视图中查看整个项目的状态从未如此简单。

当您需要跨多个存储库获取所有变更时,您现在只需点击几下鼠标就可以为整个工作空间获取变更。从 Workspaces 选项卡,您可以在您首选的本地代码编辑器中打开任何 repo,如 VS Code 或 Sublime Text,或者一次打开项目中的所有 repo。你也可以在 GitHubGitLabBitbucket 的相关远程托管服务中打开存储库。

团队成员可以共享工作空间,让入职变得轻而易举。新团队成员只需点击几下鼠标,就可以在本地快速克隆所有需要的存储库,同时还可以获得代码库整体的高级视图。工作区将节省大量设置时间,帮助团队中的每个人专注于更重要的工作。

当您打开 GitKraken 客户端时,一个新的工作区选项卡将显示在应用程序的左上角。在这里,您可以创建一个新的工作区,定义工作区的名称、描述、图标,并选择将其设置为个人或与您组织中的其他人共享。

GitKraken 主题

长期以来梦想在 GitKraken 客户端 UI(已经很漂亮了……如果我们敢说的话)中添加自己的自定义 flare 的用户现在可以高兴了。随着 v8.2 的发布,您现在可以创建自定义主题。也许,你想要一种新的永恒的蓝色?

UI Customization下,用户会发现当前亮暗主题的两个新的“高对比度”版本,使默认主题总数达到四个。要创建新的自定义主题,你可以复制在.gitkraken/themes文件夹中找到的任何默认模板,重命名为<yourthemename>.jsonc,并随意修改调色板。

团队活动状态

使用新的 GitKraken 客户端活动状态,升级您的团队的沟通能力,以充当同心!团队成员现在可以通过用户头像上的活动状态指示器查看他们组织和团队中谁在积极使用 GitKraken 客户端。

知道谁在线并打开 GitKraken 客户端可以让用户监督谁在处理什么文件,并在任何有害的提交发生之前防止合并冲突!

活动状态还可以帮助您加入新成员,让经理们有办法确保新成员正在编写正确的代码,同时在他们打开可能需要更多上下文解释的文件时帮助指导他们。GitKraken 客户端团队面板中的绿点看似简单,但它传达了重要的省时信息。

活动状态只是 GitKraken 客户端如何通过更好的团队协作实现更安全、更强大的 Git 工作流的另一个例子。升级你的工具集⬇️

更好的 CLI 体验

终端标签定制

GitKraken CLI 用户现在有更多选项来定制他们的终端标签体验。

用户现在可以确定在终端选项卡中使用自动完成时 tab 键的行为。现在可以分配 tab 键来浏览自动完成选项,输入当前选择的自动建议选项,或者完全忽略输入。

并且,终端标签光标样式中引入了新的选项。这三个新选项包括块、下划线和条形光标。

更好的自动建议功能

GitKraken CLI gk diff命令现在支持标签和分支选项。您现在可以更好地洞察您的代码,快速发现不同于孤立提交的不同之处。

GitKraken CLI 用户现在可以在运行git diffgit reset命令时看到分支和标签作为自动完成选项。看到发生了什么变化从来没有这么快或这么容易。

Yarn 和 npm 开发人员也可以高兴了。为 npm 命令和 yarn 命令添加了 Git 自动完成建议。

集合你的队伍

我们很高兴能迎来 GitKraken 客户的下一步发展。虽然你可以从所有这些更新中受益,但 GitKraken 工作区和对 GitKraken 团队的改进意味着集合整个团队来处理 Git 中最大最强大的项目从未如此简单。

无论你在地球上呆了多久,你都会爱上 GitKraken 的 8.2 版。

集合你的队伍!是时候让每个人都使用 GitKraken 客户端来获得更好的团队可见性和入职培训了。

GitKraken 客户端 8.3 版-现在苹果芯片用户的速度提高了 2 倍

原文:https://www.gitkraken.com/blog/gitkraken-client-v8-3

奥运速滑选手和开发者有什么共同点?他们需要…需要速度。😏

没有人喜欢慢节奏,不管你是在争夺金牌,还是只是想部署一个令人敬畏的新功能。GitKraken 团队一直在努力工作,以确保所有 GitKraken 客户端用户,尤其是 macOS 用户,在利用我们传奇的 Git 客户端与团队协作时,拥有尽可能最快的体验。准备好体验 GitKraken 客户端 8.3 版的速度提升吧!

https://www.youtube.com/embed/Nh9aQ8RUyP4?feature=oembed

视频

⚡️ Git 在 GitKraken Client v8.3 版本中引入了超高速、破纪录的速度,进入了快车道!⚡️

苹果芯片的原生支持

GitKraken Client v8.3 引入了一个新的 ARM64 兼容版本,为苹果硅架构提供了原生支持,如在采用 M1 芯片的 MAC 中使用的那样。开发人员喜欢使用苹果硅技术的设备明显更快的性能和改进的资源管理;GitKraken 客户端现在充分利用这一创新的架构!

如果你使用的是以苹果芯片为核心的 Mac,你需要从我们的网站下载新版 GitKraken 客户端,替换掉你现有的客户端,但是不要担心,你所有的设置,包括配置文件和集成,都将保持不变。

本地支持 vs 仿真

虽然 GitKraken 客户端一直很快,但最近苹果公司构建笔记本电脑和 Mac Minis 的方式发生了变化,这使得我们需要做出一些重大改变。到目前为止,为了保持与所有 Mac 产品的兼容性,GitKraken 客户端使用了一个仿真层与苹果硅处理器进行交互。因为它需要在操作系统和应用层之间进行转换,所以仿真天生就很慢,不管你的速度有多快⛸.

借助新的 ARM64 兼容版本,GitKraken Client 可以利用该架构的共享内存池,并改善其高性能和高效率内核的线程管理。我们已经准备好在世界奥林匹克舞台上竞争了…如果他们把“版本控制”作为一项运动加入进来的话。

Mac Big Sur 更新

如果你在基于 Intel 的机器上使用 macOS Big Sur edition 或更高版本,我们有一些好消息要告诉你。🎉您将不再需要运行自定义终端命令来解决 macOS Big Sur 中引入的部分签名问题。以前,产生一个子进程可能需要几秒钟,但是现在默认情况下,只需要几毫秒。所有 macOS 用户一开始就将提高处理速度,使整个应用程序感觉更快。

为所有用户加速电子化

无论您使用什么操作系统,您都会注意到应用程序速度和资源消耗方面的改进。这是因为 GitKraken 团队已经将 GitKraken 客户端的底层应用程序堆栈 Electron 更新到一个非常新的版本,带来了 Electron 社区最近添加的所有改进。

我们也打了补丁电子来满足我们的具体要求。这将使我们能够最好地支持跨各种平台的用户。例如, Fedora 35 用户在启动 GitKraken 客户端时将不再需要使用--no-sandbox选项。

虽然这不是一个小壮举,但我们致力于确保所有 GitKraken 客户端用户,无论是现在还是将来,都有可能获得最佳体验。有了这次对 electronic 的补丁更新,我们就能在未来的版本中更快地推出更多的高级功能。

GitHub Enterprise 和 GitLab 自主管理的 GitKraken 工作区

GitKraken 知道开发是一项团队运动,有些团队需要企业级设备。GitKraken Workspaces 允许用户一次对多个存储库进行分组和操作,现在可用于 GitHub Enterprise 和 GitLab 自管理存储库。团队成员之间可以共享工作空间,这有助于让新团队成员快速高效地工作。从来没有比这更好的方式来获得你的回购高层次的看法!

要使用工作区,导航至工作区选项卡,并点击+ New Workspace按钮。这将打开一个新菜单,您可以从 GitHub 、GitHub Enterprise、 BitbucketGitLab 和 GitLab 自管理主机源中选择存储库。

制作 GitKraken CLI G.O.A.T.

新终端设置

我们增加了两种 GitKraken CLI 用户自定义体验的新方式。

用户现在可以指定默认目录,如果新的终端标签实例不是从现有的回购或终端标签中打开的,例如当从回购管理标签中的New CLI Tab按钮或从命令面板启动时,新的终端标签实例将在该目录中打开。

用户还可以设置行高,确定打印到终端屏幕的每行之间的间距。

这两个新选项都可以在Preferences下的Terminal设置中找到。

改进了 Git 命令的自动完成和自动建议功能

GitKraken 客户端用户不断告诉我们他们喜欢的特性之一是自动完成和自动建议 Git 命令。这让我们非常兴奋地推出这些改进,旨在让您的 CLI 工作流体验更好。

去流

利用“git flow”进行工作的用户现在将会看到自动完成建议,以满足他们的用例,例如git flow initgit flow feature start,甚至git flow release publish。Psst: GitKraken 的 Learn Git 库拥有关于 Git 流和其他 Git 分支策略的大量资源。

利用“git flow”进行工作的用户现在将会看到自动完成建议,以满足他们的用例,例如git flow initgit flow feature start,甚至git flow release publish。Psst: GitKraken 的 Learn Git 库拥有关于 Git 流和其他 Git 分支策略的大量资源。

Git 别名的自动完成

Git 用户可以在 Git 内部创建便捷的快捷方式,方法是向他们的 Git 配置添加别名。对于在终端工作的人来说,这些别名可以节省大量的输入来完成他们的工作。 GitKraken CLI 现在会选择这些别名,并以自动完成建议的形式呈现,为用户节省更多时间。

Git 用户可以在 Git 内部创建便捷的快捷方式,方法是向他们的 Git 配置添加别名。对于在终端工作的人来说,这些别名可以节省大量的输入来完成他们的工作。 GitKraken CLI 现在会选择这些别名,并以自动完成建议的形式呈现,为用户节省更多时间。

Git 重置的暂存文件建议

git reset命令允许用户撤销存储库中的更改。这是一个非常强大的命令,部分原因是它允许用户非常具体地了解他们正在重置的内容,直到文件级别。GitKraken CLI 的 autocomplete 现在会建议暂存文件,使使用 Git 重置更加容易。

git reset命令允许用户撤销存储库中的更改。这是一个非常强大的命令,部分原因是它允许用户非常具体地了解他们正在重置的内容,直到文件级别。GitKraken CLI 的 autocomplete 现在会建议暂存文件,使使用 Git 重置更加容易。

Git 添加和相对路径

当在一个目录中工作时,完整的路径名通常会比自动完成建议窗口所能完全显示的要长得多。现在,当在终端标签中使用git add命令时,用户将在存储库的子文件夹中看到相对路径。

当在一个目录中工作时,完整的路径名通常会比自动完成建议窗口所能完全显示的要长得多。现在,当在终端标签中使用git add命令时,用户将在存储库的子文件夹中看到相对路径。

更新终端界面选项

更新终端界面选项

新储存库的自动可视化面板

当用户在本地启动一个新的 Git 存储库并使用 GitKraken CLI 完成第一次提交时,可视化面板将自动打开。这个面板显示了 Git 客户端众所周知的强大视觉效果,包括丰富多彩的提交图和历史、差异和责任视图。

当用户在本地启动一个新的 Git 存储库并使用 GitKraken CLI 完成第一次提交时,可视化面板将自动打开。这个面板显示了 Git 客户端众所周知的强大视觉效果,包括丰富多彩的提交图和历史、差异和责任视图。

CLI 的上下文菜单

在终端选项卡中工作时,用户现在可以右键单击打开新的上下文菜单。该菜单显示某些选项,如将 Git 命令粘贴到终端、复制文本、打开新的终端标签、清除屏幕和关闭终端标签。

在终端选项卡中工作时,用户现在可以右键单击打开新的上下文菜单。该菜单显示某些选项,如将 Git 命令粘贴到终端、复制文本、打开新的终端标签、清除屏幕和关闭终端标签。

新的主题选项

当我们在奥运会期间关注金牌、银牌或铜牌时,您可能希望您的 GitKraken 客户端提交图是紫红色、洋红色和靛蓝色!🌈

用户现在可以在他们的自定义主题中自定义提交图形的颜色!包含的主题文件中增加了// graph colors的例子,为你指出正确的方向。可以从Preferences下的UI Customization部分的Theme下拉菜单中设置自定义主题。

用户现在可以在他们的自定义主题中自定义提交图形的颜色!包含的主题文件中增加了// graph colors的例子,为你指出正确的方向。可以从Preferences下的UI Customization部分的Theme下拉菜单中设置自定义主题。

成功的道路上没有速度限制

这一发布标志着 GitKraken 客户端的一个主要基准和 GitKraken 客户端用户性能的一个新时代。对该工具底层引擎的改进将帮助所有用户更快地完成更多工作。

GitKraken 团队投入了大量资金,以确保我们的工具具有创新性,能够应对计算领域接下来将采用的任何新架构。毕竟,这不是苹果第一次通过架构转换来颠覆 CPU 行业,它在 2000 年代中期就从 PowerPC 转向了英特尔处理器。我们怀疑这将是最后一次出现类似的创新。

无论接下来会发生什么,我们都致力于确保 GitKraken 客户端将继续使基于 Git 的团队协作变得简单、安全和强大!

无论接下来会发生什么,我们都致力于确保 GitKraken 客户端将继续使基于 Git 的团队协作变得简单、安全和强大!

您将会爱上 GitKraken Client for Windows、Mac 和 Linux 8.3 版的破纪录性能。立即下载,亲自体验!

您将会爱上 GitKraken Client for Windows、Mac 和 Linux 8.3 版的破纪录性能。立即下载,亲自体验!

GitKraken 客户端 v8.4:团队工作区+拉式请求视图

原文:https://www.gitkraken.com/blog/gitkraken-client-v8-4

GitKraken 知道软件开发依赖于与你的团队的有效协调。这就是为什么我们在 GitKraken 工作区中增加了“拉取请求”部分、更多回购信息,以及一种在 GitKraken 客户端中组织和与您的团队共享这些信息的新方式!正如 Keif 先生会说的:我很遗憾这个工具没有 GitKraken Client v8.4 中包含的令人难以置信的团队功能!

https://www.youtube.com/embed/CqyP-y5zWf4?feature=oembed

视频

GitKraken Workspaces 将团队协作与 Git 提升到了另一个层次——现在有了拉取请求和更多可用的回购信息,这个特性不容错过。👀

GitKraken 工作区现在具有拉取请求视图

由于工作区中新的拉请求视图,GitKraken 客户端用户现在有了一种更好的方法来跨多个存储库查找、查看和修改拉请求

现在,当您在 GitKraken 客户端中打开一个工作区时,您将看到新的 pull requests 视图选项。此视图显示了与您工作区中的 repos 相关的所有打开的 PRs 列表,允许您快速滚动所有打开的 PRs。用户还可以搜索以找到特定的拉取请求。

在 GitKraken 工作区中搜索拉取请求

过滤 GitKraken 工作区中的拉取请求

新的 pull request 视图还增加了过滤功能,使您能够集中查看分配给您的 PRs(如下所示),有助于消除繁忙的存储库中的一些干扰。

git kraken 工作区中标记的拉请求

您还可以筛选“有风险”的 PRs,这些 PRs 被标记为超过 7 天未修改的拉式请求,这意味着它们可能需要关注。

在 GitKraken 工作区中处理 GitHub Pull 请求

如果您正在使用 GitHub connected repositories,您可以点击任何 GitHub pull request 来打开 GitKraken 客户端中的交互式 pull request 视图,在这里您可以查看和修改详细信息、评论、审查变更,甚至合并和关闭 pull request。

在 GitKraken Client 中向现有工作区添加额外的 repos 很容易。只需点击几下鼠标,您就可以在“工作区”标签中跟踪更多来自其他相关回购的“拉”请求。

git kraken 工作区中的更多回购信息

现在,在 GitKraken 客户端的工作区中查看任何回购的更多信息比以往任何时候都更容易。单击 Workspace repository 视图中列出的任何存储库都会显示它的自述文件,帮助您导航并确保您使用的是正确的代码库。

在同一个存储库视图中,您还会看到存储库在本地所在位置的完整路径,以及在 GitKraken 客户端的新 repo 选项卡 GitKraken CLI 中打开存储库的快捷方式,或者在远程托管服务中打开存储库的快捷方式,例如 GitHubGitLabBitbucket

与你的团队分享 GitKraken 工作空间

工作区始终允许您为个人工作创建 repos 集合,或者由您的整个组织管理和共享。使用 GitKraken Client v8.4,用户现在可以创建自己的团队,从而可以轻松地与组织中的特定成员共享工作空间。除此之外,GitKraken 客户端中的团队视图还提供了其他令人惊叹的好处!

与团队共享工作区使相关团队成员能够处理相同的 repos,并从单一视图中提取请求,有助于让每个人都专注于任务和开发流程。共享一个工作空间也是一种让新团队成员加入的简单方法,这些新成员可能需要一次克隆许多回购。

打开回购标签内的终端面板

在 GitKraken 客户端的 repo 选项卡中点击工具栏中的终端按钮,将打开一个嵌入式终端面板。当你需要 GitKraken CLI 但又不想切换标签时,这样可以很容易地留在你的工作流程中。

现在,您可以继续在 repo 选项卡中工作,同时访问 GitKraken CLI 的 Git-enhanced 终端中包含的自动完成建议,以及 gk 责备、历史和差异等功能。

在 GitKraken 客户端中查看终端面板就像在 repo 标签中按下顶部工具栏中的终端按钮一样简单。

您还可以通过新的键盘快捷键Ctrl+切换面板,使用 GitKraken 客户端命令面板、终端面板的上下文菜单或视图菜单。

您仍然可以通过New Tab按钮、命令面板或 GitKraken CLI 上下文菜单打开终端标签。

Git 命令的自动完成建议图标

GitKraken CLI 用户现在将看到附加图标作为任何自动完成建议的一部分。图标对应于与自动完成建议相关的工具。

例如,当键入一个 Git 命令时,您现在会看到 Git 图标出现在建议列表中,帮助从建议列表中确定最佳选择。这也适用于外壳命令、npm 和 Yarn。

在 GitKraken 客户端创建自己的团队

所有 GitKraken 客户端用户现在都可以创建团队,由您的组织成员组成。团队可以共享一个工作区,查看其他团队成员正在处理的文件,并提醒您潜在的合并冲突。您可以使用左侧面板中的团队视图或通过打开Organization部分的菜单从Preferences开始一个新团队。

这也将使在 GitKraken 客户端与您的团队共享工作空间变得更加容易。

将你的团队提升为一流团队

我们知道,任何任务都可以通过合适的团队使用合适的工具得到更好的解决。GitKraken Client v8.4 版本旨在帮助任何规模的组织,尤其是那些拥有多个相关存储库的组织,更轻松、更安全、更好地完成更多工作。

无论您是作为一个团队还是分布在世界各地的多个团队的精英突击队,GitKraken 团队都致力于帮助您解决代码管理问题。

如果有问题,

如果您正在努力管理 Git,

如果你能下载的话,

那你就打不过 GitKraken 客户端!停止所有的废话,今天就开始使用 GitKraken 客户端 8.4 版吧!很快你也会说我可怜没有工作空间的工具!

使用 GitKraken 客户端 v8.4 中包含的团队功能升级到 A-Team。立即下载!

GitKraken 客户端 8.5 版:Azure DevOps 工作区支持

原文:https://www.gitkraken.com/blog/gitkraken-client-v8-5

团队合作对于任何任务都是至关重要的,无论你是在挑战一个银河帝国,还是在 DevOps 管道中推进你的代码。我们在 GitKraken 工作区中增加了对 Azure DevOps 存储库的支持,这是为了帮助更多各种规模的团队高效工作。我们认为你会同意,GitKraken 客户端 v8.5 和 Azure DevOps 工作区的力量是强大的!

https://www.youtube.com/embed/DJhsfHyL_m8?feature=oembed

视频

保持 Git force 的光明面,帮助您的团队使用 GitKraken Client v8.5 更有效地协作

GitKraken 工作区支持 Azure DevOps Repos

我们很高兴地宣布 GitKraken Workspaces 现在支持 Azure DevOps repositories ,让更多的开发人员可以获得我们强大的多库项目功能的所有好处。

团队喜欢使用 GitKraken 工作空间,它允许你在一个标签页中收集和访问组成一个项目的所有相关的回购协议。您可以从一个视图中看到所有的拉请求,关于单个存储库的信息,甚至对这些存储库采取行动,所有这些都不需要离开 GitKraken 客户端中的工作流。工作区为您节省了在多个屏幕和文件夹之间切换来管理多存储库项目的大量时间。

每天都有成千上万的开发人员依靠 Azure DevOps 来帮助他们协作开发代码,构建和部署他们的应用程序。这个单一的平台集合了 CI/CD 管道、项目管理、包管理、测试,当然还有 Git 存储库托管的工具。现在选择 Azure DevOps 也意味着您可以访问 GitKraken 工作区的强大优势,从而更有效地进行协作。

GitKraken CLI gk命令中增加了交互式基础

有时候,你只需要改变一个分支的基础。GitKraken 客户端用户喜欢我们的交互式 rebase 工具,但直到现在,它还需要使用鼠标和 GUI。

现在,使用 GitKraken CLI(您可以在 repo 选项卡或 terminal 选项卡中访问终端),您可以通过使用gk rebase命令启动交互式重置基础,并为您想要重置基础的提交提供 refs。

新的 Git 合并冲突解决选项

Git 中的合并冲突发生在我们大多数人身上。虽然遇到冲突并不有趣,但 GitKraken 客户端的合并冲突编辑器可以帮助您快速解决冲突。现在,使用 GitKraken Client 解决冲突更快、更容易!

当右键单击提交面板中显示的任何冲突时,您会看到两个新选项:

  • “采用当前”——这将应用来自当前检出的分支的更改来解决冲突。
  • “接受传入”——这应用来自传入分支的变更来解决冲突。

在提交面板中右键单击冲突后,只需选择您喜欢的合并冲突策略,GitKraken 客户端将应用指定的更改。这将自动暂存现在准备提交的结果修改文件,所有这些都不需要打开合并冲突编辑器。

GitKraken 工作空间改进

与团队共享工作空间

与组织中所有合适的人共享工作空间变得更加容易。团队与组织中所有合适的人共享工作空间变得更加容易。团队工作区使您能够向组织中需要访问组存储库的任何特定团队授予访问权限。在创建工作区时,您可以决定与一个团队或多个团队共享工作区,或者您可以随时将任何个人工作区转换为团队工作区。

新存储库详细信息图标

单击 GitKraken 工作区中列出的任何 repo 的名称,现在将在 repo 选项卡中打开该 repo,而不只是显示存储库的详细信息。您仍然可以通过单击存储库详细信息图标从工作区选项卡访问相同的存储库信息

在任何存储库列表的右侧。

新存储库详细信息图标

单击 GitKraken 工作区中列出的任何 repo 的名称,现在将在 repo 选项卡中打开该 repo,而不只是显示存储库的详细信息。您仍然可以通过单击存储库详细信息图标从工作区选项卡访问相同的存储库信息

使用 GitHub 搜索语法在工作区中搜索 PRs

用户现在可以使用 GitHub 的搜索语法在工作区中搜索与回购相关的拉请求。这个语法允许您在搜索中使用限定符来将查询集中到特定的字段,比如用is:来指定issuepr,或者使用限定符author:来快速查找某个团队成员打开的 PRs。

例如,要在 pull 请求的正文中查找术语“GitHub ”,可以使用限定搜索GitHub in:title。有很多选项可供选择;更多信息参见 GitHub 的文档

使用 GitHub 搜索语法在工作区中搜索 PRs

用户现在可以使用 GitHub 的搜索语法在工作区中搜索与回购相关的拉请求。这个语法允许您在搜索中使用限定符来将查询集中到特定的字段,比如用is:来指定issuepr,或者使用限定符author:来快速查找某个团队成员打开的 PRs。

工作区提取请求过滤

现在,随着拉取请求过滤的引入,在 GitKraken 工作区中找到您正在寻找的 PRs 比以往任何时候都更容易。您现在可以通过以下方式进行筛选:

“由我打开”,仅显示由您打开的 PRs。

“有风险”,显示任何未起草且已打开超过 7 天的 PRs。

“按存储库”将视图限制为工作区内的单个存储库。

  • “由我打开”,仅显示由您打开的 PRs。
  • 注意:这些新过滤器将只适用于托管在 GitHub、GitHub Enterprise、T2、GitLab 和 GitLab Self Managed 上的存储库。“按存储库”也将与 Azure DevOps 一起工作。我们将在未来增加额外的支持。
  • 团队功能的改进

我们改善了在 GitKraken 客户端管理团队的体验。以下是我们帮助组织利用团队功能的最新方法。

注意:这些新过滤器将只适用于托管在 GitHub、GitHub Enterprise、T2、GitLab 和 GitLab Self Managed 上的存储库。“按存储库”也将与 Azure DevOps 一起工作。我们将在未来增加额外的支持。

创建新团队时添加新团队成员

GitKraken 客户端允许你按照你认为合适的方式组织你的团队,并且添加团队成员的过程变得更加简单了!当您在 GitKraken Client 中创建新团队时,您可以在创建过程中添加所有需要的团队成员,帮助您更快地组织起来。

按用户名对团队视图排序

一眼就能看出谁在你的团队中。现在,您的团队成员将出现在左侧面板中的TEAMS下,按用户名列出。

随着您的团队的成长,teams 视图将帮助您更好地保持组织和协作,让您了解谁在哪个分支上工作,并在任何可能的合并冲突发生之前提醒您。

创建新团队时添加新团队成员

GitKraken 客户端允许你按照你认为合适的方式组织你的团队,并且添加团队成员的过程变得更加简单了!当您在 GitKraken Client 中创建新团队时,您可以在创建过程中添加所有需要的团队成员,帮助您更快地组织起来。

准备好实现更好的协作

这些就是您正在寻找的 Git 客户端特性。我们很自豪能够为 Azure DevOps 工作区和使用 Git 管理多个团队的组织提供更好的支持。无论你的开发者联盟是大是小,GitKraken Client 都可以帮助你更容易、更安全地使用 Git,一起完成更多的工作!

我们知道你会成为 Windows、Mac 和 Linux 版 GitKraken 客户端 8.5 版的粉丝,不管你喜欢什么颜色的光剑。

一眼就能看出谁在你的团队中。现在,您的团队成员将出现在左侧面板中的TEAMS下,按用户名列出。

您不需要旅行到很远很远的地方去获得最好的 Git 客户机。你可以从银河系的任何一个角落免费安装 GitKraken 客户端。

准备好实现更好的协作

这些就是您正在寻找的 Git 客户端特性。我们很自豪能够为 Azure DevOps 工作区和使用 Git 管理多个团队的组织提供更好的支持。无论你的开发者联盟是大是小,GitKraken Client 都可以帮助你更容易、更安全地使用 Git,一起完成更多的工作!

我们知道你会成为 Windows、Mac 和 Linux 版 GitKraken 客户端 8.5 版的粉丝,不管你喜欢什么颜色的光剑。

您不需要旅行到很远很远的地方去获得最好的 Git 客户机。你可以从银河系的任何一个角落免费安装 GitKraken 客户端。

GitKraken 客户端 v8.6 -更快的 Git LFS,大回购,等等!

原文:https://www.gitkraken.com/blog/gitkraken-client-v8-6

我们知道每个人的代码故事可能有一点不同,但更快的回复是每个人都可以得到的。

无论开发人员将您带到哪里,将所有代码、配置和媒体资产放在一起,并且不要留下任何文件,这一点很重要。这就是为什么我们为 Git LFS 用户做了很多性能改进,并为 Bitbucket 服务器用户增加了 Bitbucket Workspace 支持!

准备好迎接 GitKraken 客户端 8.6 版的发布吧!

https://www.youtube.com/embed/TsRKcb7hP0I?feature=oembed

视频

今天就用更快的 Git LFS 回购访问开始你的冒险吧!下载 GitKraken 客户端 v8.6.

更快的 Git LFS 存储库性能

我们非常自豪地宣布,随着 GitKraken 客户端 8.6 版的发布,在使用 Git LFS 时,克隆和检出速度提高了 2 到 10 倍。

如果您曾经需要将大型媒体文件或二进制文件作为存储库的一部分进行管理,那么您可能已经体验过管理一个非常大的存储库所带来的性能下降。谢天谢地 Git LFS (大文件存储)可以将大文件的存储卸载到另一个服务器上,在你的 repo 中用非常轻量级的指针替换它们。

然而,正如许多 Git LFS 用户发现的那样,在克隆或检查分支时,管理 Git LFS 支持的回购仍然会导致某些性能问题。也就是说,直到现在…

GitKraken 团队一直在努力改进 Git kraken 客户端管理 Git LFS 交互的方式,优化大型文件的调用和过滤方式。我们一直在测试一些最大的媒体资产密集型回购,包括一些视频游戏和超大型开源项目,在克隆或切换分支时,性能提升了 2-10 倍。你会爱上速度的提升——像太空游侠一样快!

大型 Git 回购的性能优势

虽然我们在这个版本中性能改进的重点是 Git LFS,但是我们也做了许多其他的性能改进,特别有助于处理大型 Git 存储库。

不管你是在使用 Git LFS 还是仅仅处理大型回购,你都会喜欢 GitKraken 客户端 8.6 版的速度提升!

Git Stash 性能改进

Git stashing 是 Git 赋予您的超能力之一,允许您保存未提交的更改,同时将它们从索引中删除,同时还允许您在准备好的时候访问这些更改。保存未提交的更改后,您可以签出另一个分支,做您的工作,然后弹出保存的内容,从您离开的地方继续。

如果你经常使用 Git stashes ,你会喜欢 GitKraken Client 的性能改进。您将看到更快的分支检出和更快的图形性能,即使您有许多 stashes。

Bitbucket 服务器的工作空间支持

我们很高兴宣布在 Bitbucket 服务器上为存储库提供 Bitbucket Workspace 支持。现在 Bitbucket 用户可以利用 GitKraken Workspaces 提供的强大优势来管理多存储库项目。

GitKraken Workspaces 允许您从 GitKraken 客户端的一个选项卡中访问组成项目的所有相关回购。从一个视图中查看关于单个存储库和所有 Git pull 请求的信息。您甚至可以触发工作区中所有回购的操作,从而节省您在多个屏幕和文件夹之间切换来管理多个回购项目的大量时间。

我们很自豪地为 Bitbucket 工作区添加了这种支持,以帮助更多用户利用 GitKraken 客户端更高效地进行协作。

为您的回购和终端标签设置别名

有时,您的组织选择的命名约定可能会产生一些很长的 Git 存储库名称。虽然在管理大量存储库时,冗长的存储库命名会有所帮助,但在 GitKraken 客户端中工作时,它也会使找到正确的选项卡变得困难。用户一直在寻找为整个回购协议或单个终端标签设置别名的方法,现在你可以了!

您现在可以将任何存储库设置为别名存储库;这将在选项卡中重命名回购,通过较短的自定义名称引用它。要为回购设置别名,右键单击任意回购选项卡顶部的回购名称,然后选择Alias repository

您也可以为单个终端标签设置别名。要重命名任何终端选项卡,右击顶部的选项卡名称并点击Rename tab。与通过“回购”标签设置别名不同,为“终端”标签设置别名只会导致重命名该特定标签。

拉式请求的自动问题链接

当提出一个拉请求时,包含一个到请求所解决的问题的链接是非常常见的做法。GitKraken 客户端现在通过自动将问题链接到拉请求,使这变得更快更容易!

自动链接要求您将您的问题队列与 GitKraken 客户端整合,并以问题 ID 开始您的分支机构名称。例如,如果您的发行号是GK-1234,您的分行名称应该类似于:GK-1234-<rest-of-branch-name>

新子模块更新选项

Git 提供的一个超能力是使得利用 Git 子模块独立管理每个子库来构建模块化代码架构变得更加容易。但是在某些情况下,当您更新 repo 的其余部分时,例如,您可能还没有准备好更新子模块。这可能是由于依赖性问题,或者是生产分支中尚未解决的新错误。GitKraken 客户端用户现在可以选择在执行 Git 动作时跳过子模块更新。您可以通过 GitKraken Client 将此设置为在您管理的所有回购中全局发生,或者决定在“每个回购”的基础上跳过更新。

要全局切换子模块更新策略,导航至PreferencesGeneral并寻找Keep submodules up to date选项。

要更改单个存储库的子模块更新策略,请导航至PreferencesSubmodules,并从下拉菜单中选择您的首选策略。

Git 提供的一个超能力是使得利用 Git 子模块独立管理每个子库来构建模块化代码架构变得更加容易。但是在某些情况下,当您更新 repo 的其余部分时,例如,您可能还没有准备好更新子模块。这可能是由于依赖性问题,或者是生产分支中尚未解决的新错误。GitKraken 客户端用户现在可以选择在执行 Git 动作时跳过子模块更新。您可以通过 GitKraken Client 将此设置为在您管理的所有回购中全局发生,或者决定在“每个回购”的基础上跳过更新。

要全局切换子模块更新策略,导航至PreferencesGeneral并寻找Keep submodules up to date选项。

要更改单个存储库的子模块更新策略,请导航至PreferencesSubmodules,并从下拉菜单中选择您的首选策略。

Windows 上 GitKraken CLI 的 Git Bash

Windows 用户将很高兴听到他们现在可以将 Powershell 或 Git Bash 设置为 GitKraken CLI 的默认 shell。

GitKraken 客户端用户可以通过 repo 选项卡中的终端面板或终端选项卡使用内置的 GitKraken CLI 。直到现在,Windows 用户不得不使用 Powershell 作为他们唯一的 shell 选项。Windows 用户现在可以选择 Git Bash 作为他们的 shell。

Windows 用户可以通过导航到PreferencesTerminalDefault Terminal并从下拉菜单中选择“Git Bash”来设置你的默认终端。

GitKraken 客户端用户可以通过 repo 选项卡中的终端面板或终端选项卡使用内置的 GitKraken CLI 。直到现在,Windows 用户不得不使用 Powershell 作为他们唯一的 shell 选项。Windows 用户现在可以选择 Git Bash 作为他们的 shell。

Windows 用户可以通过导航到PreferencesTerminalDefault Terminal并从下拉菜单中选择“Git Bash”来设置你的默认终端。

在提交图中显示较少的提交

随着项目中提交数量的增加,您可能不希望总是在提交图中看到每一次提交。事实上,如果您决定一次显示超过两千个,可能会对性能产生一些负面影响。大多数时候,你希望看到尽可能少的人,同时还能让你完成工作。

您现在可以将提交图中显示的提交数量设置为 500 个。要进行设置,导航至PreferencesGeneralMax Commits in Graph

在提交图中显示较少的提交

随着项目中提交数量的增加,您可能不希望总是在提交图中看到每一次提交。事实上,如果您决定一次显示超过两千个,可能会对性能产生一些负面影响。大多数时候,你希望看到尽可能少的人,同时还能让你完成工作。

您现在可以将提交图中显示的提交数量设置为 500 个。要进行设置,导航至PreferencesGeneralMax Commits in Graph

你在吉克拉肯有个朋友

无论你认为自己是一个编码牛仔,管理一个巨大的回购,还是一个星系间的空间游侠协调整个舰队的服务,你都会喜欢 GitKraken Client v8.6 的改进。我们使 LFS 回购操作以接近光速的速度移动,并增加了对 Bitbucket Server 工作区的支持,以帮助团队一起完成更多工作!我们也在倾听用户希望我们下一步做什么。我们邀请您将您的功能请求添加到我们的反馈网站,借出您的声音。

我们知道您会喜欢我们随 GitKraken Client v8.6 发布的内容,这是适用于 Windows、Mac 和 Linux 的最佳 Git 客户端。

无论你认为自己是一个编码牛仔,管理一个巨大的回购,还是一个星系间的空间游侠协调整个舰队的服务,你都会喜欢 GitKraken Client v8.6 的改进。我们使 LFS 回购操作以接近光速的速度移动,并增加了对 Bitbucket Server 工作区的支持,以帮助团队一起完成更多工作!我们也在倾听用户希望我们下一步做什么。我们邀请您将您的功能请求添加到我们的反馈网站,借出您的声音。

这不仅仅是版本控制,这是有风格地管理 Git repos!

这不仅仅是版本控制,这是有风格地管理 Git repos!

GitKraken 版改变了开发工作流程

原文:https://www.gitkraken.com/press/gitkraken-client-version-9-0-released

亚利桑那州斯科茨代尔,2022 年 12 月 13 日——GitKraken 是面向软件开发人员的 Git 工具 的全球领先开发商,今天宣布了其 Git kraken 客户端的主要版本发布,其亮点是增强的工作区和全新洞察功能的引入。

新版本已经是业界领先的 Git 客户端,其目的是帮助开发人员更智能地工作和更轻松地协作,这要归功于两个工作区——本地和云——以及 Insights 的引入,Insights 是一种全新的功能,可衡量拉请求合并到存储库中的速度。

GitKraken Client 作为一款让开发工作流程变得更简单、更快速的产品,已经建立了良好的声誉,而此次发布的版本在此基础上又增加了一倍。GitKraken 首席技术官 Eric Amodio 表示:“从提出问题到结束拉动请求,无论是单次回购,还是现在的多次回购,我们都在解决开发人员和团队每天面临的真正挑战,我们还提供新的工具来应对他们在 2023 年及以后将会遇到的挑战。”。

GitKraken 客户端提供了一流的灵活性,能够与多种托管和问题跟踪服务集成,包括 GitHub、GitLab、Bitbucket、Azure DevOps、吉拉等。工作区功能是在以前的版本中引入的,但新的增强功能提供了更完整的视图和更精细的用户体验。新的 Insights 特性将有价值的生产力数据放在个人开发人员和团队经理的指尖上。

GitKraken 首席执行官 Matt Johnston 表示:“GitKraken Client 9.0 真正改变了开发工作流程,反映出开发已经从个人运动发展为团队运动。“此版本中的突破,以及我们在此版本中计划的未来突破。GitKraken Client 的 x 系列——既实用又有前瞻性,它们反映了我们致力于构建改善开发人员生活和工作的工具。”

要免费试用 GitKraken 客户端,请访问gitkraken.com

关于 GitKraken: GitKraken 提供了一套顶级的 Git 工具,帮助数百万开发人员每天都有更高的工作效率——世界各地的团队也能更紧密地合作。我们的产品为开发人员服务,无论他们在哪里,无论他们在哪里编码,无论是在他们的 IDE 中,在他们的桌面上,还是在他们的问题跟踪系统中。来自全球 100,000 家公司的 2000 多万开发人员依靠 GitKraken 的工具让 Git 为他们工作。更多信息请点击

GitKraken 首席技术官 Eric Amodio 入围最佳技术经理

原文:https://www.gitkraken.com/press/gitkraken-cto-eric-amodio-best-tech-manager-finalist

亚利桑那州斯科茨代尔,2022 年 9 月 28 日—git kraken 的首席技术官和 VS Code 的 GitLens 的创造者 Eric Amodio,已被宣布入围 2022 年提米奖最佳技术经理类别。如今,由 Motion Recruitment 的社区平台Tech in Motion颁发的提米奖(Timmy Awards)已进入第 8 个 年,旨在表彰全北美最优秀的工作场所和员工。像 Eric 这样的经理因其领导能力、创新和积极影响而获得荣誉。Eric 和他的提名伙伴们表彰那些超越了经理必备职责的技术领导者和远见卓识者,促进职业发展,确保良好的团队文化,并带领他们的团队克服意外,同时确保最高质量的产品和服务。

Tech in Motion 公司 Motion 招聘 的市场总监林赛·刘易斯说:“管理者和技术领导者必须比以往任何时候都更加努力,才能在不断变化的世界中团结团队,并让他们成为最好的自己。“最佳技术经理提米决赛入围者真正重视他们的团队,并不懈地努力帮助加强和激励他们的职业发展。”

GitKraken 首席执行官 Matt Johnston 表示:“在我们收购 GitLens 并将 Eric 从微软带过来之后,他对我们公司的文化和开发运营产生了直接而积极的影响。“看着他从开源项目维护者成长为企业家,再到现在的技术高管,这是一件非常值得的事情,我非常感谢 Tech in Motion 对 Eric 的辛勤工作和领导能力的认可。”

在很短的时间内,Eric 将他创建的 VS 代码扩展 GitLens 转变成了一个在全球范围内拥有超过 1600 万安装量的工具。GitLens 已经发展到可以提供大量的特性和可视化,来释放知识库中尚未开发的知识,帮助用户更好地理解他们的代码;更好的理解带来了更高的生产率和更好的结果。

“为我的团队提供质量管理和支持是我每天都在努力的事情,”获奖者 Eric Amodio 说。“实现协作文化需要很多时间和努力,所以被认可的感觉真的很好。”

到 10 月 5 日,你可以 投票选出最佳技术经理 和其他提米奖类别,如最佳技术创业公司。所有地区奖项的获奖者将于 10 月公布,并将参加全国比赛。2022 提米奖颁奖典礼 将于 11 月 10 日举行,将再次成为一次完全数字化的体验。

关于 Tech in Motion 活动: Tech in Motion 是一个北美活动系列和社区平台,将当地的技术专业人士聚集在一起,进行交流、学习和创新。IT 人员配备和招聘公司 Motion Recruitment 在 2011 年启动了一个激情项目,现在已经发展成为一个拥有超过 300,000 名成员的组织,遍布北美的 14 个分会。请访问 www.techinmotion.com了解更多关于我们著名的演讲者、赞助商和活动的信息。

关于 GitKraken : GitKraken 提供了一套顶级的 Git 工具,帮助数百万开发人员每天都有更高的工作效率——世界各地的团队也能更紧密地合作。我们的产品为开发人员服务,无论他们在哪里,无论他们在哪里编码,无论是在他们的 IDE 中,在他们的桌面上,还是在他们的问题跟踪系统中。来自全球 100,000 家公司的 1000 多万开发人员依靠 Gitkraken 的工具让 Git 为他们工作。更多信息请点击 www.gitkraken.com

GitKraken:释放开发者回收的新 Git 客户端

原文:https://www.gitkraken.com/blog/gitkraken-git-gui-client-mac-windows-linux

更新:

自本文撰写以来,GitKraken 已经走过了漫长的道路。要查看我们的 Git GUI 客户端所提供的一切,请访问 gitkraken.com

到目前为止,任何与团队一起开发项目代码的开发人员都必须做出妥协:在命令行界面(CLI)级别选择 Git 的“超级用户”功能,或者选择功能不太丰富但更直观的 Git 客户端图形用户界面(GUI)。CLI 提供了最完整的选项集,但通常是以速度和随之而来的陡峭的学习曲线为代价的。持续地打出命令序列来执行动作是劳动密集型和低效的,并且没有正在执行的命令的可视化表示。尽管客户提供了 GUI 带来的令人放心的熟悉感,但它们也有一个缺点:UI 在美学上和功能上经常是过时的,当你每天都在使用一个过程或应用程序时,这就很重要了。

Axosoft 的一小组开发人员对现有的选项不满意,他们想创建一个 Git 客户端,这是像他们一样的开发人员一直想要的。上面的 CLI/GUI 妥协给了团队一个创造性的挑战,让成为一个为开发人员制作的应用——以效率、优雅、简单和可靠性为核心。

30 秒的 Axosoft GitKraken 背景故事

每年夏天 Axosoft 都会为其开发者做一些令人惊叹的事情。我们被赋予了创造性的自由,在 30 天的项目中探索新的想法。这些想法可以是任何东西——怪异和奇妙是被鼓励的。即使他们中的许多人没有通过绘图板阶段,这种探索的自由使开发人员能够创造性地思考,使想法蓬勃发展,并有可能变成成熟的长期项目。事实上, Pure Chat 最初是从一个为期 30 天的项目中构思出来的,去年夏天,一群开发人员获得了充分探索和创建他们认为市场需要的新 Git 客户端的许可: GitKraken

随着 30 天的过去,团队知道他们正在做一些需要继续的事情。现在,Axosoft 已经把项目的 dev 团队扩充成了全职 GitKraken 团队!GitKraken 拥有完整的开发人员阵容,是从零开始重建的,它看起来很美:

  • 主视图

  • 隐藏 ref 面板

  • 展开细节面板

  • 撤销

  • 【撤消(特写)

  • 添加远程

  • 添加远程(特写)

  • 单飞分支

我们将在以后的博客中详细介绍 GitKraken 所提供的功能,但是这里有一些亮点,你会立刻注意到 GitKraken 与其他同类产品的区别。

这一次,关于装置的一些令人兴奋的事情

git kraken是 100%独立的,所以一旦你运行了安装程序,你就可以打开应用程序开始运行了。它直接与您的存储库一起工作,没有依赖性——您甚至不需要在您的系统上安装 Git。GitKraken 是用 NodeGit 构建的,node Git 是一个 Git 框架,主要由 GitKraken 开发团队的成员开发和维护。

图 1: Axosoft GitKraken 依赖项和安装顺序

Mac、Windows 和 Linux

GitKraken 的是建立在电子上的,这意味着它在本地运行,跨平台。Mac、Windows 和——是的——Linux 用户都能获得完全相同的应用内用户体验。

图 2:您机器上的 AXO soft GitKraken

你的 Git 客户端很有个性……

从上面的截图可以看出,GitKraken 看起来很棒,这要归功于专注于本能交互的优雅设计。从一开始,GitKraken 就理解干净、直观的用户界面可以带来巨大的用户体验优势。与其他客户端不同, GitKraken 完全响应,充分利用您的可用屏幕空间。你是一个喜欢使用垂直方向屏幕的开发者吗?无论你怎么翻,GitKraken 看起来都很棒!

图 3:美观/实用 Axosoft GitKraken 如何叠加

为了了解 GitKraken 如何将功能设计提升到一个完全奢华的水平,让我们看一个在命令行执行的典型 Git 操作的例子。在这个例子中,我们有需要保存的变更,并且我们从一个我们没有签出的分支中提取。

在 GitKraken 中,您只需右键单击想要拉动的分支,然后拉动它:

显然并不是所有的 GUI Git 客户端都是平等的。对于其他客户端,人们期望的 UI 相对于 CLI 的效率优势可能是虚假的经济。对话框、选择选项、采取不必要的步骤——这些都是 GitKraken 的开发团队试图最小化的事情,相反,他们希望产生一个快速、视觉上吸引人、功能齐全的 Git 客户端。结果是用户交互更少,工作流更流畅。

GitKraken Git GUI v7.1: Trello 集成

原文:https://www.gitkraken.com/blog/gitkraken-git-gui-v7-1-trello-integration

GitKraken Git GUI 现在与 Trello 集成为一个问题跟踪器!

你现在可以直接从 GitKraken 生态系统管理你的 Trello 问题。这使得开发人员可以专注于他们面前的代码行,同时也可以掌控个人和团队的任务。

您不再需要离开 GitKraken Git GUI 来执行以下操作:

  • 查看和过滤 Trello 卡列表
  • 查看 Trello 卡详情
  • 创建与 Trello 卡相关的分支
  • 为 Trello 卡片添加评论*
  • 编辑 Trello 卡的状态/列表*
  • 编辑 Trello 卡的受让人*
  • 创建新的 Trello 卡*

*付费功能。

Trello 集成并不是 GitKraken Git GUI v7.1 发行版带给您的唯一享受。让我们踏上旅程,看看所有令人兴奋的更新。准备好了吗?设置?特雷罗。

https://www.youtube.com/embed/PMA7Omg1pQQ?feature=oembed

视频

https://www.youtube.com/embed/PMA7Omg1pQQ?feature=oembed

VIDEO

集成 Trello 和 GitKraken Git GUI

设置 GitKraken Git GUI 之间的集成既快速又简单。只需导航到左侧面板的ISSUES窗格,并从集成问题跟踪器列表中选择Trello

Setting up the integration between the GitKraken Git GUI is quick and easy. Simply navigate to the ISSUES pane on the left panel and select Trello from the list of integrated issue trackers.

查看和过滤 Trello 卡

建立连接后,您可以从左侧面板查看和过滤 Trello 卡列表。

创建过滤器以快速访问您经常使用的卡片。

Create filters to quickly access the cards you work with on a frequent basis.

查看和编辑卡片详细信息

将鼠标悬停在左侧面板中的任意卡片上可查看预览,或者单击卡片可在新窗格中打开卡片详细信息。在这里,付费用户可以执行以下操作:

编辑卡片标题

  • 编辑卡片描述
  • 编辑/添加受托人
  • 添加评论
  • 创建与卡绑定的分支机构

在同一个编辑面板中,您还可以创建与 Trello 卡相关的分支。

创建新的 Trello 卡

在 GitKraken Git GUI 中创建新的 Trello 卡,方法是在左侧面板的ISSUES窗格中单击绿色的+按钮。完成字段,然后点击Create Issue。瞧啊。该问题将立即填充到您的 Trello 问题跟踪板上。

用鼠标右键单击左侧面板中的卡片名称,可以访问选项,直接在 Trello 上查看卡片,或者复制卡片链接。

Create new Trello cards in the GitKraken Git GUI by clicking the green + button from the ISSUES pane in the left panel. Complete the fields and then hit Create Issue. Voila! The issue will be immediately populated into your Trello issue tracking board.

Git kraken Git GUI 7.1 版的更多更新

Rick-click a card name from the left panel to access options to either view the card directly on Trello, or copy the card link.

从问题窗格中重新排序过滤器

在左侧面板中,您现在可以使用拖放功能对您为吉拉云/服务器、GitKraken Boards 和 Trello 设置的过滤器进行重新排序。

右键查看问题/卡片

如果您已经创建了一个与吉拉云/服务器问题、GitKraken Boards 卡或 Trello 卡相关的分支,您现在可以从中间图形右键单击该分支,以访问在浏览器中或直接在您的集成问题跟踪器中查看问题或卡的选项。

重新打开关闭的标签页

现在,如果你不小心关闭了一个标签,没关系!只需右击打开的选项卡,即可访问Reopen Closed Tab选项,以及其他选项卡快捷方式。

特雷罗和基特克拉肯在一起更好

激动人心的 Git kraken Git GUI 7.1 版到此结束。

通过将您的问题跟踪器与市场上最流行的 Git GUI 相集成来改善您的 Trello 体验,并提升您的项目管理水平。

**Trello is Better with GitKraken **

That concludes the exciting v7.1 release of the GitKraken Git GUI.

Improve your Trello experience by integrating your issue tracker with the most popular Git GUI on the market and level up your project management.

GitKraken Git GUI v7.2: GitLab 问题跟踪集成

原文:https://www.gitkraken.com/blog/gitkraken-git-gui-v7-2-gitlab-issues

GitLab 用户会觉得更加狡猾🦊直接从 GitKraken 管理您的问题。GitKraken Git GUI 现在集成了 GitLab 和 GitLab 自管理问题!

现在没有必要离开你在 GitKraken 环境中舒适的散兵坑来掌控你的问题。毕竟,上下文切换是最佳工作流的敌人。GitLab 问题用户现在可以从 GitKraken Git GUI 完成以下操作:

  • 查看和过滤 GitLab 问题列表
  • 查看 GitLab 问题详细信息
  • 创建与 GitLab 问题相关的分支
  • 编辑 GitLab 问题的受让人*
  • 编辑 GitLab 问题的状态*
  • 添加/删除 GitLab 问题的标签*
  • 对 GitLab 问题的评论和回复*
  • 创建新的 GitLab 问题。*

*付费功能。

不要害怕,GitKraken Git GUI 的 7.2 版有适合每个人的东西!观看此视频或继续阅读,了解这一传奇更新的全部详情:

Never fear, v7.2 of the GitKraken Git GUI has something for everyone! Watch this video or read on to get the full details of this legendary update:

GitKraken Git GUI v7.2: GitLab 问题跟踪集成

https://www.youtube.com/embed/Ms9GokTOZwY?feature=oembed

视频

https://www.youtube.com/embed/Ms9GokTOZwY?feature=oembed

VIDEO

集成您的 GitLab 问题跟踪器

我们已经使集成过程变得简单明了——导航到左侧面板的ISSUES窗格,选择 GitLab 或 GitLab Self-Managed。

或者,导航至PreferencesIssue Tracker以配置您首选的问题跟踪器集成。

Alternatively, navigate to Preferences → Issue Tracker to configure your preferred issue tracker integration.

查看和过滤 GitLab 问题

连接后,您可以从左侧面板查看和过滤 GitLab 问题列表。

轻松创建过滤器以访问您最常用的 GitLab 问题,例如分配给您的问题,从而节省宝贵的时间和精力。

Easily create filters to access the GitLab issues you use the most frequently, such as issues assigned to you, saving precious time and energy.

查看和编辑 GitLab 问题详情

在左侧面板中,您可以将鼠标悬停在某个问题上查看预览,也可以单击 GitLab 问题查看完整的详细信息。在此视图中,拥有付费帐户的用户可以从 GitKraken Git GUI 执行以下操作:

编辑问题标题

  • 编辑问题描述
  • 编辑问题状态(打开/关闭)
  • 编辑问题受理人
  • 添加/移除标签
  • 添加和回复评论
  • 创建与 GitLab 问题相关的分支

从问题编辑窗格还可以创建与问题相关的分支,您可以在其中选择分支的基础。问题标题将成为分支机构的名称。

创建新的 GitLab 问题

通过点击左侧面板中GitLab问题跟踪部分的+绿色按钮,直接从 GitKraken Git GUI 创建新的 GitLab 问题。填写字段(必填字段标有星号),然后单击Create Issue。该问题将立即出现在您的 GitLab 问题跟踪器中。

在左侧面板中,单击问题名称旁边的垂直省略号图标;在这里,您可以选择在 GitLab 中查看问题或复制问题链接。

Create new GitLab issues directly from the GitKraken Git GUI by clicking the + green button from the GitLab issue tracking section in the left panel. Complete the fields—required fields are noted with an asterisk—and then click Create Issue. The issue will be immediately available in your GitLab issue tracker.

【v7.2 版的更多更新

我们说过会有更多的,不是吗?

编辑带有问题跟踪集成的标签

如果您正在利用 GitKraken Git GUI 中提供的问题跟踪集成— 吉拉云/服务器GitKraken 板特雷罗;GitLab/GitLab 自我管理-您现在可以添加和删除问题/卡片的标签。

多选&删除本地分支

现在,您可以从左侧面板中选择多个本地分支。这在清理提交图的时候会派上用场;只需选择并删除您的本地分支机构!

按住Cmd / Ctrl一次选择多个分支,或使用Shift + click选择一系列连续的分支。然后右键删除。瞧啊。

相信我们,这是治疗。

首选项面板更新

我们重新设计了Preferences仪表板的用户界面。现在有一个Integrations部分,包括可用的 Git 托管和问题跟踪集成。

Authentication部分现在被命名为SSH

通过集成减少上下文切换

研究清楚地表明:使用尽可能少的工具可以提高关注度,提高生产率,以及更好的代码质量。提升您的工作流程,通过 GitLab 问题和 GitKraken Git GUI 掌控任务。

The Authentication section is now named SSH.

Reduce Context Switching with Integrations

The research is clear: using as few tools as possible leads to heightened focus, increased productivity, and better quality code. Level up your workflow and stay on top of tasks with GitLab Issues and the GitKraken Git GUI.

GitKraken Git GUI v7.3: GitHub 问题跟踪集成

原文:https://www.gitkraken.com/blog/gitkraken-git-gui-v7-3-github-issues

强大的北海巨妖·凯夫跨越网络,再次与他的好朋友八爪怪莫娜联手。🦑🤝🐙但这一次,这是所有的问题。

GitKraken Git GUI 现在支持 GitHub 和 GitHub Enterprise 的问题跟踪集成!如果您已经使用 GitKraken 来管理您的 GitHub 库,请使用 GitKraken Git GUI v7.3 提供的新优势进一步优化您的工作流程。

如果您使用 GitHub 或 GitHub Enterprise 问题跟踪器,您现在可以直接从 GitKraken Git GUI 完成以下操作:

  • 查看 GitHub 问题
  • 为 GitHub 问题创建过滤器
  • 查看 GitHub 问题详情
  • 创建与 GitHub 问题相关的分支
  • 编辑 GitHub 问题的受让人*
  • 编辑 GitHub 问题的状态*
  • 添加/删除 GitHub 问题的标签*
  • 对 GitHub 问题的评论*
  • 创建新的 GitHub 问题*

*付费功能。

即使不使用 GitHub 问题,GitKraken Git GUI v7.3 也包含了更多 ink 可信的特性和改进。让我们开始吧!🌊

https://www.youtube.com/embed/lXcvp5ytu-Y?feature=oembed

视频

https://www.youtube.com/embed/lXcvp5ytu-Y?feature=oembed

VIDEO

整合您的问题跟踪器

由于此次发布,我们改进了所有集成问题跟踪器的设置流程。

导航至PreferencesIssue Tracker,从下拉菜单中选择您的问题跟踪器。在这里,您还可以为所有回购选择一个默认的问题跟踪器。

Navigate to Preferences → Issue Tracker and select your issue tracker of choice from a dropdown menu. Here, you may also choose to select a default issue tracker for all repos.

查看和过滤 GitHub 问题

连接后,您的问题跟踪器将出现在左侧面板的问题部分。

通过为您的 GitHub 问题创建过滤器,轻松找到您最常访问的问题。

Make it easy to find the issues you access the most by creating filters for your GitHub issues.

查看和编辑 GitHub 问题详情

将鼠标悬停在左侧面板中的某个问题上可查看预览。在这里,您还可以选择一个问题,在专用视图中查看完整的问题详细信息。

在详细信息视图中,付费 GitKraken Git GUI 用户可以对 GitHub 和 GitHub Enterprise 问题完成以下编辑:

编辑问题的受让人

  • 编辑问题状态
  • 添加/移除标签
  • 留下评论
  • 创建与 GitHub 问题相关的分支

从 details 视图中,您还可以创建与 GitHub 问题相关的分支。您将能够选择分支的基础,问题标题将成为分支的名称。

Create Branches Tied to GitHub Issues

创建新的 GitHub 问题

GitHub 问题集成允许您直接从 GitKraken Git GUI 创建新问题。只需点击左侧面板中 GitHub 问题跟踪器旁边的绿色+按钮,即可打开 GitHub 问题模板。

填写字段—必填字段将带有星号—并点击Create Issue。创建后,您可以直接在 GitHub 或 GitHub Enterprise 上查看该问题。

The GitHub Issues integration allows you to create new issues directly from the GitKraken Git GUI. Simply click the green + button next to your GitHub issue tracker from the left panel to open the GitHub issue template.

更简单的是,您可以点击左侧面板中的一个问题来访问View issue in GitHubCopy issue link选项。

【v7.3 版的更多更新

除了增加 GitHub 和 GitHub 企业问题跟踪集成,GitKraken Git GUI v7.3 还有宝贝送给大家。

**More Updates in v7.3 **

设置默认分支名称

现在,当您在 GitKraken Git GUI 中初始化一个新的存储库时,您将能够设置一个默认的分支名称。这也可以通过Preferences菜单进行配置。

Set Default Branch Name

更多用于派生存储库的选项

GitHub 用户获得更多金牌!🏅

More Options for Forking Repositories

为远程 GitHub Repos 创建分支

当在 GitKraken Git GUI 中使用 GitHub 存储库时,如果您还没有一个现有的分支,您将在左侧面板中看到一个上下文菜单选项来分支一个远程存储库。

**Create Forks for Remote GitHub Repos **

将现有分支添加到克隆的 GitHub Repos

现在,您将在左侧面板中看到一个可忽略的弹出窗口,让您选择添加一个克隆的 GitHub 存储库的现有分支。

Add Existing Fork to Cloned GitHub Repos

使用 GitKraken 改善您的 GitHub 问题

不再需要上下文切换来跟踪您的 GitHub 或 GitHub 企业问题。使用可用的 GitKraken Git GUI 问题跟踪集成— 吉拉云吉拉服务器GitKraken 板TrelloGitLabGitLab 自我管理、GitHub 和 GitHub Enterprise—来优化您的工作流程和 git 完成更多工作。

**Improve Your GitHub Issues with GitKraken **

No more need for context switching to stay on track of your GitHub or GitHub Enterprise issues. Use the available GitKraken Git GUI issue tracking integrations—Jira CloudJira ServerGitKraken BoardsTrelloGitLabGitLab Self-Managed, GitHub, and GitHub Enterprise—to optimize your workflow and git more done.

GitKraken Git GUI v7.0:吉拉集成

原文:https://www.gitkraken.com/blog/gitkraken-git-gui-v7-jira-integration

吉拉用户欢欣鼓舞!我们知道许多项目经理依赖吉拉,开发人员被要求使用它进行问题跟踪。我们从开发人员那里得到的反馈是,他们不喜欢通过上下文切换来管理问题。现在,去吉拉最好的方法就是不要去吉拉!您不再需要离开 GitKraken Git GUI 来执行以下任何操作:

  • 查看和筛选项目问题列表
  • 查看问题详细信息
  • 创建与问题相关联的分支
  • 添加评论*
  • 编辑问题的状态/列*
  • 编辑问题的受让人*
  • 创建新问题*

*吉拉集成的付费功能;GitKraken 板集成免费。

让我们深入了解 GitKraken Git GUI 与全新的吉拉集成的所有细节!

Let’s dive into all the details of using GitKraken Git GUI with the brand new Jira integration!

去吉拉的最佳方式

https://www.youtube.com/embed/LCoTfKIz3Z4?feature=oembed

视频

https://www.youtube.com/embed/LCoTfKIz3Z4?feature=oembed

VIDEO

从 GitKraken Git GUI 管理您的问题

听着,我们对您的问题数量无能为力,但我们可以帮助您更好地管理它们,减少您的上下文切换,以便您可以继续工作。

GitKraken Git GUI 现在集成了以下问题跟踪器:

The GitKraken Git GUI now integrates with the following issues trackers:

改善团队协作和任务管理

将您的问题跟踪器与您的团队已经在使用的工具集成在一起以提高工作效率,这将使协作和性能更上一层楼。

开发人员将增加分配给你的项目任务的可见性,并看到将要发生什么来帮助你做好心理准备。这有助于避免经常导致交付延迟的容量问题。

Developers will have increased visibility of the project tasks assigned to you, and see what’s coming up to help you mentally prepare. This helps avoid capacity issues that often cause delivery delays.

整合您的问题跟踪器

要将您的吉拉云或服务器问题跟踪器与 GitKraken Git GUI 集成,只需导航至左侧面板中的ISSUES部分并选择所需的集成即可。

GitKraken Boards 自动与 GitKraken Git GUI 集成,因此不需要额外的设置。

将 GitKraken Git GUI 与问题跟踪器连接后,您将能够在左侧面板中查看和过滤问题列表。

创建过滤器以快速查看分配给您或带有特定标签的问题。

Create filters to quickly view issues assigned to you or those with certain tags.

查看问题详情&编辑问题

将鼠标悬停在左侧面板中的某个问题上,可查看详细信息的预览。

从左侧面板中选择一个问题将弹出完整的详细信息。在此视图中,拥有付费帐户的用户将能够执行以下操作:

编辑问题标题

  • 编辑问题描述
  • 编辑问题状态
  • 编辑/添加受托人
  • 添加评论
  • 创建与问题相关的分支

在同一个编辑窗格中,您还可以创建一个与该问题相关的新分支。问题标题将成为分支机构的名称。

为吉拉&创造新的发行机会

要创建新问题,请单击左侧面板中ISSUES部分的绿色+按钮。填写完字段后,点击Create Issue按钮。该问题将立即出现在您的吉拉或 GitKraken Boards 问题跟踪器中。

单击左侧面板中的某个问题,可直接在集成的问题跟踪器中查看该问题。

To create a new issue, click the green + button from the ISSUES section in the left panel. After completing the fields, hit the Create Issue button. The issue will be immediately available in your Jira or GitKraken Boards issue tracker.

【v7.0 版的额外更新

Click an issue from the left panel to view it directly in your integrated issue tracker.

在文本编辑器中打开存储库

在 GitKraken Git GUI v7.0 中,我们还引入了在文本编辑器中直接打开 Git 库的功能。为此,从Help Menu启动模糊查找器,或者使用键盘快捷键:Ctrl + P

接下来,键入“Open”以访问“在外部编辑器中打开”命令,您的 repo 将在您首选的外部文本编辑器中打开。

要更改您的首选文本编辑器,请导航至Preferences > General,并在以下支持的外部编辑器中进行选择:

VS 代码

原子

崇高的文本

  • 智能理念
  • 无需远程设置即可将变更推送到本地回购协议
  • 现在,如果您试图在没有远程设置的情况下将更改推送到本地存储库,GitKraken Git GUI 将为您提供创建远程并将本地更改推送到您首选的远程托管服务或 URL 的选项。
  • IntelliJ IDEA

快速复制链接到拉取请求

现在可以通过上下文菜单复制拉取请求。只需在 GitKraken 中右键单击一个 pull 请求,即可访问复制链接的选项。

Now, if you attempt to push changes to a local repository without a remote setup, the GitKraken Git GUI will present you with the option to create a remote and push your local changes to your preferred remote hosting service or a URL.

对 GitHub 拉请求的改进

当通过 GitHub sync 创建 pull 请求时,除了 GitHub 用户名之外,用户现在还可以根据他们的姓名搜索审阅者和受托人。

Pull requests can now be copied through a context menu. Simply right-click a pull request in GitKraken to access an option to copy the link.

利用 GitKraken 改进问题管理

这就是 GitKraken Git GUI v7.0 令人兴奋的更新。现在,以前所未有的方式着手解决您的吉拉或 GitKraken 板问题。上下文切换的减少将进一步最大化您的日常工作效率。

When creating a pull request via GitHub sync, users now have the ability to search for reviewers and assignees by their name, in addition to their GitHub username.

Improved Issue Management with GitKraken

That wraps up the exciting updates you can enjoy with GitKraken Git GUI v7.0. Now go forth and tackle your Jira or GitKraken Boards issues like you never have before. The reduction in context switching will further maximize your daily productivity.

去吧去吧 GUI 小窍门七\ learn git with gitkraken

原文:https://www.gitkraken.com/blog/gitkraken-git-tips-7

如果您还没有在 Windows、Mac 和 Linux 上使用著名的 Git GUI,请从这里开始:

为了帮助您充分利用 GitKraken Git 客户端,我们重新推出了广受欢迎的#GitKrakenTip 系列。这些快速提示和技巧将使你拥有前所未有的强大的北海巨妖和代码。

1。进入分离头部状态

分离的 HEAD 状态允许您检查任何提交并查看存储库的历史,而不必创建本地分支。

只需右键单击您想要的提交并选择Checkout this commit选项。签出的提交现在将被标记为 HEAD,说明您已经进入了分离 HEAD 状态

从这里,您可以查看提交的整个历史,并且可以在不影响其他分支的情况下进行实验性的更改。

2。在您喜欢的外部文本编辑器中打开您的回购

直接从 GitKraken 打开您喜欢的文本编辑器中的 Git 库。

使用键盘快捷键Ctrl + P或使用Help菜单启动模糊查找器。接下来,键入“Open”并选择要在首选编辑器中打开的选项。

通过进入PreferencesGeneral并在以下支持的外部编辑器中选择一个来设置您的首选文本编辑器:VS Code、Atom、Sublime Text 或 IntelliJ IDEA。

3。一键复制拉取请求链接

只需一次点击,即可将链接复制到拉式请求。只需在 GitKraken 的左侧面板中右键单击 PR,即可访问复制链接的选项。

这在与他人合作进行项目时尤其方便;分享 Slack 或您的集成问题跟踪器中的链接。

4。使用标签在回购协议之间快速切换

使用 GitKraken 中的选项卡在不同的 Git 存储库之间快速切换。并通过右键单击任何选项卡访问以下选项来使用新实现的上下文菜单:

  • 关闭选项卡
  • 关闭其他选项卡
  • 关闭右边的标签
  • 重新打开关闭的选项卡

5。多选择分支快速清理图形

取决于你的回购有多活跃,你的中央提交图可能会有噪音🙉势不可挡。

按住Cmd / Ctrl可以在 GitKraken 的左侧面板中选择多个本地分支,或者使用Shift + Click选择一系列连续的分支。然后点击右键删除即可。你今天要做的最简单的清理工作。

By holding down Cmd/Ctrl you can select multiple local branches from the left panel in GitKraken, or use Shift + Click to select a consecutive range of branches. Then just right-click to delete. The easiest cleanup you’ll do today.

6。从 GitKraken 打开命令行

我们明白了。虽然 GitKraken 很神奇,但有时候,你只是想使用终端。你不需要抗拒这种冲动。只需点击几下鼠标,即可使用 CLI。

在终端打开回购文件夹,使用键盘快捷键:opt + T (Mac)或alt + T (Windows/Linux)。也可以去FileOpen Terminal

To open a repo folder in the terminal, use keyboard shortcut: opt + T (Mac) or alt + T (Windows/Linux). You can also go to File → Open Terminal.

7。设置自定义分支名称

想摆脱“大师”这个称呼吗?现在,您可以轻松地用“main”或您选择的另一个词来替换它。

在 GitKraken 中初始化新的存储库时,您可以设置一个定制的默认分支名称。

When initializing new repositories in GitKraken, you can set a custom default branch name.

8。通过活动日志查看您的回购 Git 操作

需要更深入地挖掘你的项目吗?活动日志提供对 GitKraken 中的存储库所做的所有应用程序和 Git 操作的实时反馈。

要访问回购的活动日志,请单击底部工具栏上的左侧图标。

To access a repo’s activity log, click the left icon on the bottom toolbar.

9。永远不要忘记键盘快捷键

使用Cmd / Ctrl + ?立即查看可用 GitKraken 键盘快捷键的完整列表。

Instantly view the complete list of available GitKraken keyboard shortcuts with Cmd/Ctrl + ?.

10。查看多次提交的差异

通过查看那些提交的组合差异,可以同时看到在多个提交中更改的所有文件。按住ShiftCmd / Ctrl从图形中选择多个提交。

在所选提交之间添加、修改、重命名或删除的所有文件的列表将出现在右侧的提交面板中。

The list of all files that have been added, modified, renamed, or deleted between the selected commits will appear in the Commit Panel on the right.

释放北海巨妖的能量

当您使用强大的 GitKraken Git GUI 的全部功能时,您的工作流程将达到令人敬畏的新水平。在你下一次去吉特的旅途中带上这些建议,释放北海巨妖吧!

When you’re using the full power of the mighty GitKraken Git GUI, your workflow will reach new levels of awesome. Take these tips along on your next journey into the land of Git and *UNLEASH THE KRAKEN! *

去吧,小八

原文:https://www.gitkraken.com/blog/gitkraken-git-tips-8

使用强大的可视化工具,如用于 Windows、Mac 和 Linux 的跨平台 Git 客户端,充分利用 Git:

我们知道,传说中的 GitKraken Git GUI 有很多值得喜爱的地方。😉以至于你可能甚至不知道隐藏在你指尖下的一些神奇的能力。

我们的#GitKrakenTip 系列旨在揭示您最喜爱的编码北海巨妖提供的独特乐趣。

1。添加提交作者、日期/时间、& SHA 的图形列。

GitKraken 图为您的 Git 存储库提供了一个漂亮的彩色可视化,但是有时,您需要看到更多与您的提交相关的细节。

默认情况下,GitKraken 中的图形显示Branch/TagGraphCommit Message的列标题。右键单击任意列标题以访问上下文菜单,该菜单允许您为Commit AuthorDate/TimeSHA添加额外的列标题。

这些列标题快速地添加了有用的可视上下文,在有许多贡献者的大型 Git 存储库中工作时尤其有用。

您可能会发现可选的作者、日期/时间和 SHA 列根据情况增加了价值;只需点击两下,你就可以开关它们。

2。切换左右面板的可见性。

使用键盘快捷键Ctrl / Cmd + K打开和关闭右侧提交面板的可见性,使用键盘快捷键Ctrl / Cmd + J折叠和展开左侧面板。

3。只挑选一个文件,或选择一些文件。

如果您想要抓取另一个分支上的一个文件,但不想从任何其他文件中获取更改,您可以使用 GitKraken 中的 cherry pick 操作。

在挑选了一个目标提交后,不要立即提交你的更改;相反,您可以暂存并提交您想要的文件,然后丢弃其余的文件。

了解更多关于 Git 中的 cherry picking 的信息,并获得在 GitKraken Git 客户端中有效使用该操作的详细信息。学 Git:如何摘樱桃

4。Edit in working directory按钮可以帮助你直接对正确的文件进行修改。

如果您正在查看不同分支上的文件,GitKraken 会显示一个Edit in working directory按钮,它会将您从当前签出的分支带到该文件版本的编辑模式。

5。调整面板大小以查看更多提交消息。

希望你能调整你的右面板更大?您可以将右侧面板固定在底部,以便为提交消息获得更多空间。需要时,您还可以扩展左侧面板以获得更多空间。

6。GitHub 用户可以在 GitKraken 中创建和保存草稿拉取请求。

如果使用 GitHub 集成的 GitKraken,在 GitKraken 中创建 pull 请求时,您会看到一个Submit as draft复选框。

7 .。使用交互式 rebase 重写您的提交历史。

通过将一个分支拖放到中心图中的另一个分支上来启动交互式重新定基。

从这里,你可以挑选,改写,挤压和放弃提交,让你完全控制你的提交是如何重新基础。在我们的学习 Git with GitKraken:什么是交互式 rebase 中,了解更多关于交互式 rebase 以及如何使用交互式 Rebase 工具的信息。视频。

8。使用您的 Google 凭据验证您的 GitKraken 帐户。

如果您有 Google 帐户,当提示您登录 GitKraken 时,您可以选择Sign in with Google。不需要记住任何凭证!😅

9。增加视觉焦点的单独分支。

独奏一个分支将隐藏所有其他未被独奏的分支。要单飞一个分支,右击目标分支并选择Solo。单独的分支将以橙色突出显示,在分支名称的左侧有一个实心橙色图标。

类型:使用 gitkraken】

对于那些还没有使用著名的 Windows、Mac 和 Linux 跨平台 Git 客户端的人来说,您可以从这篇文章中获得的最重要的技巧是使用 GitKraken 来提高您的生产率。🚀

第九步

原文:https://www.gitkraken.com/blog/gitkraken-git-tips-9

使用 GitKraken 时有如此多的功能可以享受——毕竟它被命名为 2021 年的第一 Git 客户端——所以我们的团队通过我们的 #GitKrakenTip 博客系列定期分享如何最大限度地利用您选择的 Git 伴侣的技巧。

1。拖放以推动。

这个史诗般的省时器通常被错过,但却广受喜爱。用户可以将 GitKraken 中的一个分支拖放到远程来访问Push动作。

您可以将一个分支拖到中央图形中的远程分支上,或者拖到左侧面板中列出的远程分支上。

如果您还没有使用 GitKraken 来驾驭 Git 的真正力量,请立即下载传奇的 Windows、Mac 和 Linux 跨平台 Git GUI。

2。为暂存和未暂存的文件获取更多空间。

需要更多空间来查看暂存或未暂存的文件?您可以在 GitKraken 中轻松折叠右侧提交面板的一部分,以缩小提交消息并获得更多空间。

3。创建收藏库以便快速访问。

您可以收藏特定的 Git 仓库,这样您就可以更快地访问您最常用的仓库。

只需导航至FileOpen Repo即可查看您最近打开的存储库列表。要收藏某个回购,请将鼠标悬停在该回购上,然后单击将出现在左侧的心形❤️图标。

一旦您选择了您喜欢的 Git 存储库,它们将出现在主 GitKraken 界面的存储库和分支导航下拉菜单中。在这里,您可以右键单击任何回购,将其从收藏夹列表中删除。

4。仅使用键盘按压。

虽然从技术上来说,我们在 GitKraken 中没有可用的键盘快捷键来执行推送操作,但是您可以按照以下步骤,仅使用您的键盘通过 GitKraken Fuzzy Finder 快速推送:

  1. 键入Ctrl / Cmd + P打开模糊查找器
  2. 类型push
  3. 点击Enter

5。自定义你的 GitKraken 用户界面,包括主题。

GitKraken 的UI Customization菜单提供了几个选项来定制你喜欢的 GitKraken 界面,包括将你的主要视觉主题设置为DarkLight

在这里,您还可以指定是否要在图形中显示提交作者、日期/时间或 SHA。在 GitKraken 中了解更多关于图形列的信息。

From here, you can also indicate whether you want to show commit author, date/time, or SHA in the graph.  Learn more about graph columns in GitKraken.

6。直接从左侧面板访问您的问题。

将 GitKraken Git 客户端与您选择的问题跟踪器集成后,您将能够直接从左侧面板查看和过滤您的问题。

最精彩的部分?只需将鼠标悬停在问题名称上,即可弹出问题标题、描述、受让人、状态、标签和报告者的预览。

了解更多关于GitKraken 问题跟踪与吉拉、GitHub、GitLab、Trello 和 git kraken 板的集成

***Learn more about the GitKraken issue tracking integrations with Jira, GitHub, GitLab, Trello, and Gitkraken Boards. ***

7。创建一个项目目录来访问包含多个存储库的文件夹。

7. Create a project directory to access folders with multiple repositories.

创建一个包含多个存储库的文件夹,例如那些您经常访问的存储库,这样 GitKraken 就可以通过单击一个按钮来打开它们。

当您可以访问大量存储库时,这使得组织事情变得容易;这就像一个归档系统,但你定义了文件夹,所以你只能看到与你相关的回购。

点击 GitKraken 界面左上方的文件夹🗂图标进入Repository Management;从这里单击绿色的+图标创建一个项目目录。

Click the folder 🗂 icon at the top left of the GitKraken interface to access Repository Management; from here click the green + icon to create a project directory.

最终型态:去破解!

如果您希望使用 Git 实现最佳工作流,您需要 GitKraken 来可视化您的存储库并在代码上进行协作。

If you want the best workflow possible using Git, you need GitKraken to visualize your repositories and collaborate on code.

GitKraken Git GUI & GitKraken 板支持 GitHub 动作

原文:https://www.gitkraken.com/blog/gitkraken-glo-boards-support-github-actions

随着最近 GitHub 动作更新的发布,我们很高兴地宣布在用于任务跟踪的 GitKraken Git GUIGitKraken 板中支持 GitHub 动作。

如果你还没有看到,这里是关于 GitHub 动作更新的 GitHub 公告:

https://www.youtube.com/embed/E1OunoCyuhY?start=2151&feature=oembed

视频

什么是 GitHub 动作?

GitHub Actions 是一个云服务,您可以使用它来自动构建和测试您的代码项目,并将其提供给其他用户。它几乎适用于任何语言或项目类型。

GitHub Actions 结合了持续集成和持续交付(CI/CD ),以持续一致地测试和构建您的代码,并将其交付给任何目标。

了解持续集成和交付(CI/CD)如何融入 DevOps 生命周期。

2020 DevOps 工具报告

您还可以使用 GitHub Actions Marketplace 中的动作来创建自动化和工作流,以执行基于各种触发器的几乎任何动作。

在这篇博文的剩余部分,我们将解释 GitKraken Git GUI 和 GitKraken 板是如何支持 GitHub 动作的。

git krak 支持

创建和管理 GitHub 动作工作流程

GitHub 操作服务中的工作流运行构建、测试和部署代码的操作。它们作为.yml文件存在于存储库中的.github/workflows目录中。GitHub Actions 集成帮助您在 GitKraken Git GUI 中轻松创建和管理这些工作流文件。

一个新的 GitHub Actions 部分被添加到 GitKraken Git GUI 的左侧面板中,该部分将为在 GitHub 上具有上游遥控器的存储库显示,或者当存储库包含.github/workflows目录时显示。此部分将显示您的存储库的当前检出分支上的任何现有工作流文件,并提供使用 GitKraken 的内置编辑器查看和编辑这些文件的快速访问。

您可以通过点击绿色的Create Workflow按钮在 GitKraken Git GUI 中创建新的工作流程。

从这里,您可以选择一个可选的模板,或者从头开始您自己的工作流程。

新创建的工作流程文件将立即在 GitKraken 的文件编辑器中打开,您可以在其中查看、修改和保存更改。只需在“提交”面板中暂存工作流文件,然后提交即可看到它与其他工作流一起出现在左侧面板中。

将您的更改推送到 GitHub,GitHub Actions 服务就可以使用您的新工作流了!

GitKraken 板支架

自动卡更新

我们很高兴地宣布 GitHub Actions 将立即在 GitKraken 电路板上发布。您现在可以使用 GitHub 动作自动操作 GitKraken 板上的卡片。我们最初发布了六个 GitHub 动作供您在存储库工作流中使用。有关行动的完整列表和更多信息,请参考https://github.com/Axosoft/glo-actions/。现在,下面的例子可以让你开始。

示例:当在 GitHub 上合并 PR 时,将链接的卡片移动到Deployed列。

在您的 GitKraken 帐户中创建一个个人访问令牌 (PAT)。动作只需要读/写权限。

*注意:该用户的所有操作都会自动更新 Glo 中的卡片。

2.在 GitHub 的存储库设置中添加 PAT 的访问令牌作为秘密的值。

3.在 GitHub 上为您的存储库建立一个工作流,它将触发必要的动作(您将添加秘密名称作为authToken)。

4.在你的公关描述中添加一个你名片的链接。

就是这样!这些操作现在将根据您的拉取请求自动更新链接的卡。

posted @ 2024-10-31 16:54  绝不原创的飞龙  阅读(8)  评论(0编辑  收藏  举报