1. Git 简介
Git 是一个分布式版本控制系统,由 Linus Torvalds 于 2005 年为管理 Linux 内核开发而创建。它能够高效地处理从小型到大型项目的版本管理,跟踪代码变更,并支持多人协作开发。
与集中式版本控制系统(如 SVN)不同,Git 的每个开发者都拥有完整的代码仓库副本,这使得分支操作极其快速,并且可以在离线状态下工作。
2. 安装与配置
2.1 安装 Git
根据你的操作系统选择安装方式:
- Windows:从 Git 官网 下载安装程序,按向导完成安装。
- macOS:使用 Homebrew 命令安装:
brew install git - Linux (Ubuntu/Debian):使用 apt 命令安装:
sudo apt install git
2.2 基本配置
安装完成后,需要配置用户信息,这些信息会记录在每次提交中:
# 设置用户名 git config --global user.name "你的名字" 设置邮箱 git config --global user.email "你的邮箱@example.com" 配置文件路径: Linux下的~/.gitconfig,Windows下的C:\Users\用户名\.gitconfig; 查看配置 git config --list 按配置文件路径查看所有配置的信息 git config --list --show-origin3. 基础工作流程
Git 的基本工作流程涉及三个主要区域:工作区、暂存区和仓库。
- 工作区 (Working Directory):你正在编辑的文件。
- 暂存区 (Staging Area):准备提交的文件快照。
- 仓库 (Repository):存储项目历史记录和元数据。
4. 核心命令
4.1 初始化仓库
# 在当前目录初始化一个新的 Git 仓库 git init 克隆远程仓库到本地 git clone https://github.com/username/repository.git4.2 查看状态与差异
# 查看工作区和暂存区的状态 git status 查看工作区与暂存区的差异 git diff 查看暂存区与最新提交的差异 git diff --staged4.3 添加与提交
# 将指定文件添加到暂存区 git add filename.txt 添加所有更改的文件到暂存区 git add . 提交暂存区的更改到仓库 git commit -m "提交说明信息"4.4 查看提交历史
# 查看简洁的提交历史 git log --oneline 查看带分支图的提交历史 git log --graph --oneline --all 查看最近 5 条提交 git log -55. 分支管理
5.1 创建与切换分支
# 创建新分支 git branch feature-branch 切换到指定分支 git checkout feature-branch 创建并切换到新分支(快捷方式) git checkout -b feature-branch5.2 合并分支
# 切换到主分支 git checkout main 将 feature-branch 合并到当前分支 git merge feature-branch5.3 删除分支
# 删除已合并的分支 git branch -d feature-branch 强制删除未合并的分支 git branch -D feature-branch6. 远程仓库操作
- 以github作为远程仓库参考:Git 远程仓库(Github) | 菜鸟教程
- 生成ssh key命令:
$ ssh-keygen -t rsa -C "youremail@example.com" your_email@youremail.com 改为你在 Github 上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。 成功的话会在 ~/ 下生成 .ssh 文件夹,进去,打开 id_rsa.pub,复制里面的 key,进github关联即可。
6.1 添加远程仓库
# 添加远程仓库并命名为 origin git remote add origin https://github.com/username/repository.git 查看远程仓库列表 git remote -v6.2 推送与拉取
# 将本地分支推送到远程仓库 git push origin main 从远程仓库拉取更新 git pull origin main 获取远程仓库的更新但不合并 git fetch origin7. 撤销操作
7.1 撤销工作区修改
# 撤销对指定文件的修改(危险操作,不可恢复) git checkout -- filename.txt 撤销所有未暂存的修改 git checkout -- .7.2 撤销暂存区文件
# 将文件从暂存区移回工作区 git reset HEAD filename.txt7.3 修改最后一次提交
# 修改提交信息 git commit --amend -m "新的提交信息" 添加遗漏的文件到上次提交 git add forgotten-file.txt git commit --amend --no-edit8. 实用技巧与最佳实践
- 提交信息规范:使用清晰、简洁的提交信息,说明本次更改的目的。
- 频繁提交:小步快跑,每次提交只完成一个小的功能或修复。
- 使用 .gitignore:创建
.gitignore文件,忽略不需要版本控制的文件(如日志、编译产物、依赖目录等)。 - 定期拉取更新:在开始工作前,先拉取远程仓库的最新更改,减少合并冲突。
- 分支策略:为每个新功能或修复创建独立的分支,完成后合并回主分支。
9. 总结
掌握 Git 的基本使用是现代软件开发的基础技能。本文介绍了 Git 的核心概念和常用命令,涵盖了从安装配置到日常使用的完整流程。建议在实际项目中多加练习,逐步熟悉更高级的功能和工作流。
Git 的学习曲线虽然有些陡峭,但一旦掌握,它将极大提升你的开发效率和协作能力。记住:不要害怕尝试,Git 提供了多种撤销和恢复机制,让你可以安全地探索各种操作。