Git 是代码版本管理的核心工具,以下是最常用的指令及其详细讲解:
一、初始化与配置
1. git init
作用:在当前目录创建一个新的 Git 仓库(生成 .git 子目录)。
示例:
git init my-project
提示:执行后会在 my-project 目录下创建 .git 文件夹,用于存储版本信息。
2. git config
作用:设置 Git 的全局或本地配置(如用户名、邮箱)。
常用命令:
git config --global user.name "Your Name" # 设置全局用户名
git config --global user.email "email@example.com" # 设置全局邮箱
提示:配置信息会保存在 ~/.gitconfig 文件中。
二、文件管理
3. git status
作用:查看当前工作区和暂存区的状态(新增、修改、未提交的文件)。
示例:
git status
输出示例:
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
4. git add
作用:将文件从工作区添加到暂存区(准备提交)。
常用命令:
git add README.md # 添加单个文件
git add . # 添加所有修改的文件
git add -A # 添加所有文件(包括新文件和修改的文件)
提示:git add . 和 git add -A 的区别在于 -A 会包含未跟踪的新文件。
5. git commit
作用:将暂存区的更改提交到本地仓库。
常用命令:
git commit -m "提交描述" # 提交并附上描述
git commit --amend # 修改最近一次提交的描述或内容
示例:
git commit -m "Add README file"
提示:--amend 会覆盖最近一次提交,需谨慎使用。
三、分支管理
6. git branch
作用:查看、创建、删除分支。
常用命令:
git branch # 查看所有分支
git branch feature-1 # 创建名为 feature-1 的分支
git branch -d feature-1 # 删除分支
提示:当前所在分支前会显示 * 标记。
7. git checkout
作用:切换分支或恢复文件内容。
常用命令:
git checkout main # 切换到 main 分支
git checkout -b dev # 创建并切换到 dev 分支
git checkout -- file.txt # 恢复 file.txt 的工作区修改
提示:-b 参数可同时创建并切换分支。
8. git merge
作用:将指定分支的更改合并到当前分支。
示例:
git checkout main
git merge feature-1
提示:如果存在冲突,Git 会标记冲突文件,需手动解决后再提交。
四、远程仓库
9. git clone
作用:克隆远程仓库到本地。
示例:
git clone https://github.com/username/repo.git
提示:会自动关联远程仓库并下载所有历史记录。
10. git push
作用:将本地提交推送到远程仓库。
示例:
git push origin main # 推送 main 分支到 origin 远程仓库
提示:首次推送需先绑定分支(git push -u origin main),后续可直接使用 git push。
11. git pull
作用:从远程仓库拉取更新并合并到当前分支。
示例:
git pull origin main
提示:等价于 git fetch + git merge,用于同步远程更改。
五、撤销操作
12. git reset
作用:回退提交或撤销暂存区的修改。
常用命令:
git reset HEAD file.txt # 将 file.txt 从暂存区移回工作区
git reset --hard HEAD~1 # 回退到上一次提交(丢弃工作区和暂存区的修改)
提示:--hard 会彻底丢弃更改,慎用!
13. git revert
作用:通过创建新提交来撤销某个旧提交的更改。
示例:
git revert <commit-hash> # 撤销指定提交
提示:不会删除历史记录,适合团队协作中撤销错误提交。
六、查看日志
14. git log
作用:查看提交历史记录。
常用命令:
git log # 查看完整提交历史
git log -2 # 查看最近 2 条提交
git log --oneline # 简洁显示提交信息
提示:按 q 键退出日志查看界面。