Git 是一种分布式版本控制系统,用于跟踪文件和目录的变化,并协调多个人员之间的代码协作。以下是一个详细的 Git 教程,涵盖了 Git 的基本使用、分支管理、远程仓库操作等内容。
一、Git 简介
Git 是一种分布式版本控制系统,与集中式版本控制系统(如 SVN)相比,它的主要特点是每个开发者都有一份完整的代码仓库,可以在离线状态下工作,减少对中央服务器的依赖。Git 提供了强大的分支管理功能,鼓励使用分支进行并行开发,方便实现不同功能和修复同时进行。
二、Git 安装与配置
安装 Git:
- 访问 Git 官网(https://git-scm.com/)下载适用于您操作系统的 Git 安装程序。
- 运行安装程序,按照提示完成安装。
配置 Git:
- 配置用户信息:
git config --global user.name "Your Name" git config --global user.email "your.email@example.com" - 这些配置将作为您每次提交代码时的提交者信息。
- 配置用户信息:
三、Git 基本操作
创建和初始化仓库:
- 在本地目录中创建一个新的 Git 仓库:
git init - 这将在当前目录下创建一个
.git文件夹,用于存储版本历史和配置信息。
- 在本地目录中创建一个新的 Git 仓库:
添加和提交文件:
- 将文件添加到暂存区:
或添加所有文件:git add <filename>git add . - 提交暂存区中的更改到版本库:
git commit -m "commit message"
- 将文件添加到暂存区:
查看状态和历史记录:
- 查看工作目录和暂存区的当前状态:
git status - 查看提交历史:
或以精简形式显示:git loggit log --oneline
- 查看工作目录和暂存区的当前状态:
版本回退:
- 使用
git reset命令回退到之前的版本:git reset --hard <commit-id> - 查看命令历史以找到
<commit-id>:git reflog
- 使用
四、分支管理
创建分支:
- 创建一个新的分支:
git branch <branch-name> - 切换到新分支:
或在新版本 Git 中使用:git checkout <branch-name>git switch <branch-name>
- 创建一个新的分支:
合并分支:
- 将一个分支的更改合并到当前分支:
git merge <branch-name>
- 将一个分支的更改合并到当前分支:
解决冲突:
- 如果合并时发生冲突,需要手动解决冲突文件,并重新提交。
五、远程仓库操作
关联远程仓库:
- 将本地仓库与远程仓库关联:
git remote add origin <remote-repository-url>
- 将本地仓库与远程仓库关联:
推送代码到远程仓库:
- 将本地更改推送到远程仓库:
git push origin <branch-name>
- 将本地更改推送到远程仓库:
拉取代码:
- 从远程仓库拉取最新更改:
git pull origin <branch-name>
- 从远程仓库拉取最新更改:
六、进阶操作
- 重写历史:使用
git rebase命令可以修改提交历史。 - 使用储藏:
git stash命令可以暂时保存当前工作进度,以便稍后恢复。 - 管理子模块:Git 支持子模块功能,允许您将其他 Git 仓库作为子目录包含在当前仓库中。
七、团队协作
- 代码审查:在团队协作中,代码审查是一个重要的环节,可以确保代码质量。
- 分支保护和权限管理:在远程仓库中设置分支保护和权限管理,以确保团队成员按照规范进行开发。