阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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:4812480

评论 1 条评论

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

花火交易所系统APP软件开发

系统开发

刨根问底,kafka到底会不会丢消息

爱笑的架构师

kafka 消息队列 Kafka知识点 消息中间件 七日更

自定义TBE算子入门,不妨从单算子开发开始

华为云开发者联盟

算法 算子 自定义

四面美团大众点评归来,分享一下我总结的面试题及解析:并发+spring+分布式+jvm+缓存+数据库

Java架构之路

Java 程序员 架构 面试 编程语言

关于自己的一个梦(控制)

Yuchen

情绪控制 心理 个人 控制感 自我思考

领域驱动落地实现

星际行者

DDD 领域驱动

python3参考秘籍-附PDF下载

程序那些事

Python 程序那些事 Python秘籍 Python数据分析

微服务:服务本身的设计、维护以及治理

积极&丧

Rust太难?那是你没看到这套Rust语言学习万字指南!

华为云开发者联盟

rust 语言 开发语言

普本开发三年,每天两小时面试备战,2个月后五面阿里定级P7

Java架构之路

Java 程序员 架构 面试 编程语言

多线程之信号量(By C++)

赖猫

c++ 多线程

真香~~看完看阿里P8大牛手写的450页文档总结,我精通Java并发编程了

Java架构之路

Java 程序员 架构 面试 编程语言

“关灯”看这出戏,依旧是百年至美

脑极体

够屌!看完“大牛程序员必修16课”足足让你超越80%Java面试者!赶紧冲!

比伯

Java 编程 程序员 架构 面试

架构师训练营第五周作业

Geek_xq

LeetCode题解:42. 接雨水,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

美团五面+滴滴四面,复盘总结117道面试题,大厂套路展露无遗

Java架构之路

Java 程序员 架构 面试 编程语言

【得物技术】如何测试概率性事件-二项分布置信区间

得物技术

测试 开发 概率 得物 得物技术

资深码农:拿下软件测试,只需掌握好这两种方法!

华为云开发者联盟

软件 工具 测试

GitHub标星78.9K的算法宝典,让你分分钟刷爆LeetCode,更有“左神”精讲视频加持,金三银四offer手到擒来

程序员 面试 算法 架构师

Hystrix-技术专题-基础运作原理

洛神灬殇

【Java入门】Array

Albert

Java 七日更

架构师训练营第五周总结

Geek_xq

架构师系列11 微服务架构的思考

桃花原记

skynet源码分析之网络层—Lua层

赖猫

c++ lua skynet

游戏自动化测试——局内战斗

行者AI

测试

一周信创舆情观察(12.14~12.20)

统小信uos

Java异常处理的9个最佳实践,看看自己是不是都用过?

geekymv

Java 异常处理

乘百度AI之风,媒体从业者们这样登上智能云端

脑极体

华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”

华为云开发者联盟

AI 全栈 开发

别找了,这份PDF是目前Java程序员最全面的学习文档,没有之一

Java架构之路

Java 程序员 架构 面试 编程语言

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