“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

7 个常见的 Git 相关的问题

  • 2019-05-14
  • 本文字数:2130 字

    阅读完需:约 7 分钟

7个常见的Git相关的问题

Git 是目前最流行的版本控制系统,GitHub 和 GitLab 是当前最流行的代码托管平台,熟练掌握 Git,可以说是程序员的必备技能。我整理了大家普遍关切的 7 个问题,并附上我的理解和回答,希望这样的方式可以让大家对 Git 有更进一步的认识,更好地掌握 Git、GitHub 和 GitLab。

关于 Git

1.怎么花最少的时间从 Git 小白变成 Git 高手?

Git 小白通常会有下面的行为特征:


  • 只会用基本得不能再基本的 Git 命令;

  • 有时候会被 Git 弹出来的一串提示信息吓一大跳;

  • 工作中遇到 Git 问题时,通常心跳加速,束手无策…


想成为真正的 Git 高手,需要熟悉 Git 的概念并掌握 Git 的工作原理。当我们理解了这些,就能更快地掌握 Git 。换句话说,当我们学会了像 Git 一样思考,再加上多动手实践,过不了多久,我们就有能力快速找到所需的 Git 命令,用它们来解决各种版本管理的问题了。

2.checkout 和 reset 太相似,该选哪个?

这两个命令的用法很多又很相似,咱们的教程并不介绍所有用法,而是挑选出最常见的应用场景,教会大家在每种场景中使用哪种命令。并且总结出:对于带文件的方式,“reset” 用来变更暂存区的文件,而 “checkout” 用来变更工作区的文件。


这样安排,既突出实用性,又降低不必要的难度。等大家用熟 Git 后,再带着问题查这两个命令的其他用法也不迟。

关于 GitHub

3、如何在 GitHub 上找到感兴趣的开源项目?**

可能多数人只会在 GitHub 首页的 search 输入框中,通过简单地写几个关键字的方式来找开源项目。其实 GitHub 为大家准备了高级搜索的功能,其中还有不少的讲究。比如:


  • 登录前和登录后查询的结果是有差异的;

  • 搜 Git 仓库的方法和搜代码的方法是不能同时起作用的;

  • 一个 Git 仓库的 readme 在搜索中起到非常大的作用;

  • 还能通过 topic 的方式来搜索 Git 仓库…


当我们学会如何使用高级搜索功能后,可以组合出多种搜索条件,这样会排除掉很多我们不需要的东西,节约不少的时间。我个人在使用 GitHub 高级搜索的时候,还发现某些场景下,即便有了这个功能,有时候还是不能满足我的需求。在那种情况下,我会结合 Google 等搜索工具来帮忙。我们的课程会详尽地讲解高级搜索的功能,让大家能高效地找到可借鉴的开源项目。

4、如何挑选团队协作的工作流?

在 GitHub 之前,我们通常看到团队的代码管理、需求管理、bug 管理和进度管理都是由不同的服务提供的,各个服务之间的互通不是很便捷。而 GitHub 把这些服务都融入到了一起,咱们的课程不妨找一些优秀的开源项目学习一下,看看这些项目的成员在 GitHub 上都是如何高效协作的。


其次,说起研发的工作流,不得不说一说关于分支模型的事。我们的课程会具体分析各类分支模型的特点和应用场景,帮助研发团队选择合适的代码集成的方式,并给大家提供有效的解决方案。

关于 GitLab

5、国内互联网企业为何喜欢 GitLab ?

GitLab 具备下面的几个特征,让大家不得不喜欢它:


  • 有免费的社区版本,而且还能安装并运行在公司局域网里;

  • 提供 DevOps 全生命周期的解决方案,功能很强;

  • 易用性非常好,接口也非常丰富;

  • 与时俱进,持续交付,不断推出新功能;

  • 有明确的产品路线规划,且对外公开…

6、GitLab 上是怎么保证集成分支的质量的?

GitLab 主要通过下面的方式来保证集成分支的质量:


  • 可以把集成分支配置为保护分支,不允许任何人把变更直接 push 到集成分支;

  • 大家在特性分支上做开发,自测通过后向集成分支发起 Merge Request;

  • 在 Merge Request 的环节,有经验的开发人员可以对提交的变更做 review,发表改进的意见,代码变更的作者则会收到 review 的提醒邮件;

  • 在 Merge Request 的环节,还能设置静态检查、编译打包、单元测试等检查机制,如果没有通过所有检查项,则不允许合入到集成分支。


咱们的课程会带大家走一遍整个研发过程质量管理的流程,让大家在实际工作中有能力使用这些功能点。

7、在 GitLab 上怎么开展持续集成 ( CI )?

GitLab 的 CI 分为两类:


  • 采用 GitLab 自带的 CI;

  • 通过 GitLab Webhook 的方式向外部的 CI 服务(比如 Jenkins )发送 Git 仓库变更信息,从而触发 CI。


持续集成和部署(CI/CD)在 GitLab 的开发过程中也发挥了重要作用。采用持续集成和部署使代码审查更有效并缩短了开发周期,让开发人员更快地发现错误并从错误中吸取经验。这也是 GitLab 公司把持续集成和持续部署功能与源代码管理功能集成在一起的原因。


我们的课程会告诉大家如何使用 GitLab 自带的 CI ,带大家见识强大的 Pipeline 流水线 ,并尝试着把应用部署到 AWS 云服务上 。通过这种方式,让大家了解当下流行的且被证明有效的持续集成和持续部署(CI/CD)的实践,以便在工作中快速适应持续集成和持续交付的环境,这样还可以促使大家提升各自 CI/CD 的工具与环境。


学好 Git、GitHub 和 GitLab 三剑客,仿佛乘上了安全且高速的列车,可以让团队更高效地完成研发任务,也可以让个人更顺利地参与协作,何乐而不为呢?


我在这门课里,不光讲简单的 Git 命令使用,还会讲更多 Git 原理性方面的内容,以及 GitHub 和 GitLab。知其然更知其所以然,怎么用这些做代码 review ,做项目管理,怎么去做持续集成,这些都是更高维度的东西,而不仅仅是去学几个工具。


关于 Git 你有什么疑问或想法,欢迎你在下方的留言区和我讨论。


内容选自极客时间玩转Git三剑客专栏


2019-05-14 17:4812353

评论 1 条评论

发布
用户头像
这种文章这么烂也能上?
2019-05-20 21:07
回复
没有更多了
发现更多内容

Java 并发基础(三):再谈 CountDownLatch

看山

Java并发

NoCode 实战 | 零代码应用开发,轻松搞定任务跟踪管理难题(下)

亚马逊云科技 (Amazon Web Services)

亚马逊云科技大中华区企业业务拓展总经理凌琦:云计算赋能芯片设计和制造

亚马逊云科技 (Amazon Web Services)

大数据计算时数据倾斜问题及解决方案

五分钟学大数据

大数据 4月日更

优雅编程:JavaScript代码优化常见的3个小技巧

devpoint

map reduce 空值运算符 filter 扩展运算符

人人矿场帮助用户轻松获取算力

DT极客

开源软件运动|网景公司|大教堂与集市

开源青年

开源 开源青年 开源文化 人物志

架构实战营第一模块课程总结

Vic

架构实战营

Spark数据倾斜解决方案实战(一)

小舰

4月日更

Amazon SageMaker Debugger 推出模型分析功能啦 | 新服务上线

亚马逊云科技 (Amazon Web Services)

社交出海,应如何突破安全与合规困局? | 精选案例

亚马逊云科技 (Amazon Web Services)

快速学一遍vue的状态管理模式 -- Vuex

空城机

JavaScript Vue 大前端 4月日更 vuex

Java 并发基础(四):再谈 CyclicBarrier

看山

Java并发

通过校企合作,我们打造了一个培养应用型人才的“梦工场” | 精选案例

亚马逊云科技 (Amazon Web Services)

亚马逊云科技发布中国业务战略!

亚马逊云科技 (Amazon Web Services)

deno + Vite 会碰撞出什么样的火花呢?

Viktor

deno vite

Java 代理使用与原理

Yangjing

cglib JDK代理 代理原理

crudapi零代码开发平台应用场景和成功案例

crudapi

RESTful API sdk crud crudapi

全面升级! 星环科技基础软件再升级 赋能数字中国建设

星环科技

Java 并发基础(二):主线程等待子线程结束

看山

Java并发

iOS 面试策略之代码考查到offer的比较和选择

iOSer

ios 面试

架构实战营-M01H

赤色闪电

架构实战营

架构实战营模块一作业

En wei

架构实战营

K8S行业调研报告出炉:混合云、边缘计算走向主流

Rancher

理查德·斯托曼:为了自由,我决定写一个GNU操作系统(下)

开源青年

开源 开源青年 开源文化 人物志

KAIFA 的「AMI 智能计量系统解决方案」出海记 | 精选案例

亚马逊云科技 (Amazon Web Services)

模块一:课后作业

黄先生

架构实战营

理查德·斯托曼:我能发起“自由软件”运动全靠那台打印机(上)

开源青年

开源 #人物志 开源青年 开源文化

架构实战营第一模块命题作业

Vic

架构实战营

模块1

Chris Cheng

架构实战营

中文文档持续迭代,内容更丰富,入口更简明!

Rancher

7个常见的Git相关的问题_语言 & 开发_苏玲_InfoQ精选文章