Git的正确使用姿势与最佳实践 | 青训营

98 阅读3分钟

一、Git使用

Git 是一种分布式版本控制系统,用于管理软件项目的源代码。它是由 Linux 之父 Linus Torvalds 开发的,并已经成为了现代软件开发领域中最流行的版本控制系统之一。

1.Git基本工作流程

使用 Git 可以追踪代码的历史修改记录,方便团队协作、代码共享和代码重构。Git 的基本工作流程如下:(1)在开始编写代码之前,首先需要创建一个 Git 仓库(repository),用于存储代码和版本历史记录。(2)在编写代码时,可以通过 git add 命令将更改的文件添加到 Git 的暂存区(staging area)中。(3)通过 git commit 命令将暂存区中的更改提交到 Git 仓库中,并生成一个新的版本号(commit hash)。(4)如果需要撤销某个提交,可以使用 git revert 命令来创建一个新的提交,该提交将会抵消先前的提交效果。(5)如果需要合并不同分支的代码,可以使用 git merge 命令进行合并。(6)如果需要查看代码的历史提交记录,可以使用 git log 命令来获取详细信息。(7)如果需要将代码推送到远程仓库,可以使用 git push 命令将本地代码推送到远程仓库。(8)如果需要从远程仓库中获取代码,可以使用 git pull 命令将远程代码拉取到本地。

2.常规操作

首先,打开终端或命令行界面,进入要创建版本库的目录下。接着,使用以下命令初始化一个空的 Git 仓库:git init,然后,将需要管理的文件添加到暂存区:git add <file>,你也可以使用以下命令一次性将所有变更添加到暂存区:git add .。接下来,提交暂存区中的变更到本地仓库,并添加一个描述信息:git commit -m "Initial commit"

二.实践

依托代码管理平台 Gitlab,Github,Gerrit介绍如何进行代码的开发以及团队合作。 不同的工作流:

集中式工作流:Gerrit/SVN,依托主干分支进行开发,不存在其他分支,以fast-forward方式合并提供强制的代码评审机制,保证代码的质量;提供更丰富的权限功能,可以针对分支做细粒度的权限管控;保证master的历史整洁性;开发人员较多时,容易出现冲突;对于多分支的支持差;难以在项目之间形成代码复用。分支管理工作流:Github/Gitlab,有不同的开发分支,通过MR/PR合并主干分支,以自定义方式合并Git Flow:分支类型丰富,规范严格;GitHub Flow:只有主干分支和开发分支,规则简单;Gitlab Flow:在主干分支和开发分支之上构建环境分支,版本分支,满足不同发布或环境的需要。

代码合并:

Fast-Forward:不会产生merge节点,合并后保持一个线性历史,如果target分支有更新,需要通过rebase操作更新source branch后才可以合入。Three-Way Merge:三方合并,产生一个新的merge节点。