Git 是现代软件开发中最流行和广泛使用的版本控制系统之一。本文将主要介绍git的常用命令以及常见工作流-功能分支工作流。
常用命令
克隆仓库
git clone <repository_url>
该命令会从指定的 <repository_url>中下载代码,并在本地创建一个副本。用户可以在本地的副本上进行修改、提交、分支操作等。
提交更改
git add <file_name>
git commit -m "修改xxx文件"
git push <remote> <branch>
提交更改主要涉及三个命令。git add用于将指定的文件添加到暂存区,git commit用于将暂存区中的文件提交到本地仓库,-m用于添加提交信息,git push用于将本地提交推送到远程仓库。
分支操作
分支是Git中用于并行开发的重要概念,团队成员可以在不同的分支上开发不同的功能或修复不同的问题,在某个分支上的修改和提交不会影响到其它分支。以下是关于分支操作的一些常用命令。
git branch
git branch <branch_name>
git checkout -b <branch_name>
git checkout <branch_name>
git branch用于查看本地分支列表,git branch <branch_name>用于创建一个新的分支,但是注意使用该命令不会自动切换到新创建的分支上,而git checkout -b <branch_name>用于创建一个新分支并切换到该分支上,git checkout <branch_name>用于切换到已有的某个分支。
版本历史
git log
git log命令用于显示当前分支的提交历史记录。它按照提交时间的倒序列出了每个提交的详细信息,包括提交哈希值、作者、日期、提交消息等。
功能分支工作流
功能分支工作流是一种在Git中广泛使用的代码协作方式。它的核心思想是创建基于特定功能或任务的独立分支,在该分支上进行开发和修改,最后将其合并回主分支。以下是该工作流的一个示例。
小红负责开发一个新功能
小红使用 git checkout -b task-feature 创建并切换到一个新的独立分支,开始功能开发工作。在该过程中,小红可以根据需要使用上述命令将更改提交到本地仓库。
小红要去吃个午饭
在吃午饭前,小红打算把早上在task-feature分支上写的代码提交到中央仓库,这样做有两个目的,一是对代码进行备份,而是提交到中央仓库后其他开发人员可以看到小红写的代码。使用的命令为git push origin task-feature。
小红完成功能开发
午饭后,小红回来后完成了整个功能的开发。她先使用命令git push origin task-feature把最新的代码提交到中央仓库,然后在将修改合并到主分支即master分支前,小红发起了一个 Pull Request,以通知团队其他成员功能已经完成。当团队中的其它成员收到Pull Request后,可以查看task-feature分支上的代码并讨论决定是否需要进行一些修改。团队成员根据讨论结果对task-feature分支上的代码进行适当修改后,可以将task-feature分支合并到主分支。
最终的代码合并可以使用git checkout master先切换到master分支,然后使用git pull origin task-feature将task-feature分支的修改合并到本地的master分支,最后使用git push origin master将master分支的代码提交到中央仓库。