写点什么

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

评论 1 条评论

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

探秘RocketMQ源码【1】——Producer视角看事务消息

阿里云金融线TAM SRE专家服务团队

开源 RocketMQ 中间件 消息中间件

聊聊在国企当程序员的这三年,这样的生活真的是你想要的吗?

Java架构师迁哥

阿里P8熬夜完成这两份800页Java面试核心知识原理+框架

Java~~~

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

年轻人你不讲武德,自己偷着学习!spring Security五套「源码级」笔记哪里来的?我也要!

Java架构追梦

Java 源码 架构 面试 spring security

架构师训练营第 1 期 -week9

习习

面试官都爱问的ThreadLocal

执墨

ThreadLocal 哈希表 弱引用

一文带你读懂!华为云在ACMUG技术沙龙上都透露了些啥?

华为云开发者联盟

数据库 大数据 数据

linux开发各种I/O操作简析,以及select、poll、epoll机制的对比

良知犹存

linux开发

基于ELK的日志平台介绍

Rayzh

ELK 日志系统

软件测试流程

测试人生路

软件测试

区块链的常识之,什么是区块链股份授权证明机制DPoS?

CECBC

区块链 共识机制

DocView 现在支持自定义 Markdown 模版了!

程序员小航

markdown IDEA idea插件 文档生成

新思科技:ISO/SAE 21434标准即将发布 你准备好了吗?

InfoQ_434670063458

新思科技 汽车软件安全

anyRTC uni-app 跨平台SDK 发布!总有一款适合你!

anyRTC开发者

uni-app 音视频 WebRTC RTC

数据库:我没有带闪,不讲武德

比伯

Java 编程 程序员 面试 计算机

SpringCloud Alibaba微服务实战一基础环境准备

AI乔治

Java 架构 微服务 Spring Cloud

重点人员管控系统开发,情报研判系统搭建

t13823115967

重点人员管控系统开发 情报研判系统搭建

2020年10月公有云性能评测:盛大云-华东蝉联冠军,腾讯云-北京无缘前三

博睿数据

云计算 腾讯云 ucloud 公有云 评测

区块链能修复企业云计算吗?

CECBC

区块链 云计算

从资源管理角度认识K8S

LorraineLiu

Kubernetes 云原生 k8s k8s入门

OpenKruise:阿里巴巴 双11 全链路应用的云原生部署基座

阿里巴巴云原生

Kubernetes 运维 云原生 中间件 存储

想了解物联网应用的自动部署,看这篇就够了

华为云开发者联盟

服务器 华为云 部署

对于CRM之于现代化企业的影响以及作用的分析

Learun

敏捷开发 CRM 客户关系管理

SpringCloud Alibaba微服务实战二 - 服务注册

AI乔治

Java 架构 微服务 Spring Cloud

字节跳动的这份《算法中文手册》火了,完整版PDF开放下载!不少小伙伴靠这份指南成功掌握了算法的核心技能,成功拿到了 BATJ等大厂offer。

Java架构之路

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

朋友不讲武德急催我给他Java干货教程,我劝他耗子尾汁并丢给他一份GitHub上标星115k+的Java教程,他看了之后连忙向我道歉!

Java架构之路

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

区块链司法可信存证,版权维护应用落地

t13823115967

区块链司法可信存证 版权维护应用落地

利用区块链数字化人民币,中国有望从追随者变为新秩序的领导者

CECBC

区块链 数字人民币

第11代酷睿处理器出色体验的奥秘原来是这个!

E科讯

大整数算法

落曦

今年最火的 Golang 云原生开源项目,可能就是它了!

阿里巴巴云原生

开源 Kubernetes 云原生 Go 语言

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