Git 的使用姿势&实践 | 青训营

46 阅读3分钟

Git 的使用姿势&实践

对于计算机界来说,有一个大名鼎鼎的人物肯定是众所周知的,他就是linus。之所以出名,必定少不了我们日常和生活中在台前幕后支撑着我们的系统 Linux. 然而,还有一个大家及其熟悉,甚至离不开他的工具,那肯定就是我们的 Git 啦!版本控制可以清楚的记录你每一次提交的操作,甚至有时候还能救你于被炒掉的边缘一命哈哈哈。当然,在我们熟知的同性交友平台 GitHub,自然是以此为基底,支撑起了开源世界的多人协同。

为什么要学习Git

  • 协同工作: 绝大多数公司都是基于Git的代码管理和版本控制。
  • 开源社区:最流行的版本控制工具当然是 Git,从 GitHub 和 GitLab 你大概也能够知晓一二。

What is Git?

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

版本控制又是什么?为什么需要他?

一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。(记录每次的版本变化,方便回溯)

关注变更,了解每个commit和版本直接的改动(diff)是什么,方便对改动的代码进行检查,有效的能防止事故意外。也能随时切换不同的版本或分支,回滚误删的问题代码。

版本控制类型代表性工具解决的问题
本地版本控制RCS本地代码的版本控制
集中式版本控制SVN提供一个远端服务器来维护代码的版本,本地不保存代码版本,解决多人协作问题
分布式版本控制Git每个仓库都能记录版本历史,解决只有一个服务器保存版本的问题

Git 相比 SVN 和本地版本控制的优点在于分布式版本控制


GitHub 多人协作

当然Git对于现在的我们来说,例如要做大项目。我们就要使用到知名的代码托管平台 GitHub了。

我们先了解下 Git 的常见命令

我们通过这张图,可以了解一个 Git 的工作区和暂存区

因为我们要多人协作,所以我们创建了一个组织 toomanysource,用来存放我们的项目atreus。为了防止member 误操作,将代码弄的非常混乱,而且也可能导致别人的代码会冲突,所以我们使用了 fork repo,要提交新功能采用 Pull Request 来修改 Main branch。为了代码能有经审核确认再合并,所以需要有两个reviewer Approve了,这个PR 才可以被 merge。

基本按照这套我以前学习到的方案,可以规避掉许多的冲突和文件差异,减少在这方面浪费时间,许多开源项目的贡献也是采用这个流程,算是在多人协作里的最佳实践了吧!也欢迎大家 Star 我们的项目2333