本文最后更新于108 天前,如有错误请发送邮件到guzhougongzuoshi@aliyun.com
Git 是一个开源的分布式版本控制系统,用于跟踪项目的修改历史和协作开发。本文将为你介绍 Git 的基本概念和操作方法。
1. Git 的使用方式
Git 提供多种使用方式:
- 命令行 ⭐(推荐):有助于理解代码,提升工作效率。
- 图形化界面(GUI):适合初学者,操作直观。
- IDE 插件/扩展:可在开发环境中直接管理代码。
Git 初始配置
在使用 Git 之前,首先需要配置用户名和邮箱,以便在提交时能识别提交者身份。
git config --global user.name "化名崽崽"
git config --global user.email "化名崽崽@gmail.com"
这些命令只需输入一次。如果想保存 Git 的凭据,避免每次都输入用户名和密码,可以使用以下命令:
git config --global credential.helper store
查看配置内容:
git config --global --list
2. 新建版本库
Git 中的版本库(Repository)也叫仓库,用来存储项目的所有文件和版本信息。
方法 1:本地创建仓库
mkdir learn-git
cd learn-git
git init
初始化后,Git 会在目录中创建一个 .git 文件夹,用来存储 Git 仓库的所有数据。你可以通过以下命令查看 .git 文件夹中的内容:
ls -a
cd .git
ls -altr
注意:不要随意修改 .git 文件夹中的内容,否则会破坏仓库。
方法 2:克隆远程仓库
git clone https://github.com/your-repo-url.git
3. Git 的工作区域与文件状态
Git 的本地管理区域分为三部分:
- 工作区(Working Directory):项目所在的目录。
- 暂存区(Staging Area/Index):保存即将提交到 Git 仓库的文件修改。
- 本地仓库(Local Repository):保存项目历史和元数据。
文件的四种状态:
- 未跟踪(Untracked):未被 Git 管理的文件。
- 未修改(Unmodified):已提交且未修改的文件。
- 已修改(Modified):已修改但未添加到暂存区的文件。
- 已暂存(Staged):已添加到暂存区,准备提交的文件。
git status # 查看当前文件状态
git add filename # 将文件添加到暂存区
git commit -m "提交信息" # 提交更改
4. 常用 Git 命令
基本命令
- 初始化仓库git init
- 克隆仓库git clone https://github.com/user/repo.git
- 查看状态git status
- 添加文件到暂存区git add filename
- 提交更改git commit -m “提交信息”
- 推送到远程仓库git push origin main
- 拉取远程更新并合并git pull origin main
- 创建分支git branch new-feature
- 切换分支git checkout new-feature
- 合并分支
git merge new-feature
高级命令
- 重置暂存区和工作目录git reset –hard HEAD
- 撤销提交git revert HEAD
- 显示提交日志git log –oneline
- 保存修改到暂存区git stash
- 恢复上次 stashgit stash pop
- 添加远程仓库git remote add origin https://github.com/user/repo.git
- 获取远程提交git fetch origin
- 查看差异git diff
5. Git reset 命令
Git 提供了三种回退方式:
- –soft:保留工作区和暂存区内容,回退到某个版本。
- –mixed(默认):保留工作区内容,丢弃暂存区修改。
- –hard:丢弃工作区和暂存区修改,回退到某个版本。
git reset --soft HEAD~1
git reset --mixed HEAD~1
git reset --hard HEAD~1
6. 分支管理与标签
- 查看所有分支:git branch -a
- 删除分支:git branch -d branchname
- 创建标签:git tag v1.0.0 -m “版本 1.0.0”
- 推送标签到远程:git push origin –tags
7. 实用技巧
- 查看简洁的提交记录:git log –oneline
- 查看工作区和暂存区的差异:git diff HEAD
- 重命名分支:git branch -m new-branch-name
通过以上命令和概念,你就能开始使用 Git 来管理你的项目了。Git 强大的分支管理、回退功能、以及高效的协作机制,是每个开发者的必备技能。