📋 Git 常见命令详解
1. git config
-
作用:配置 Git 用户信息、仓库设置等。
-
常用参数:
bash# 全局配置(所有仓库生效) git config --global user.name "你的名字" git config --global user.email "your@email.com" # 查看所有配置 git config --list # 查看特定配置项 git config user.name -
场景:首次使用 Git 时配置用户信息,或修改全局/局部配置。
2. git branch
-
作用:管理分支(创建、查看、删除、切换)。
-
常用参数:
bash# 查看所有分支(本地+远程) git branch -a # 创建新分支 git branch <branch-name> # 创建并切换到新分支 git checkout -b <branch-name> # 删除分支(需确保分支已合并) git branch -d <branch-name> # 强制删除分支 git branch -D <branch-name> # 重命名分支 git branch -M <old-name> <new-name> -
场景:多分支开发时管理功能分支,避免主分支污染。
3. git commit
-
作用:将暂存区内容提交到本地仓库。
-
常用参数:
bash# 提交暂存区内容,需输入提交信息 git commit # 直接添加提交信息 git commit -m "feat: 添加新功能" # 修改上一次提交(未推送时) git commit --amend # 提交所有追踪文件(跳过暂存区) git commit -a -m "fix: 修复bug" -
场景 :代码开发完成后提交变更,
--amend用于修正错误提交。
4. git push
-
作用:将本地分支推送到远程仓库。
-
常用参数:
bash# 推送当前分支到远程(需先关联) git push # 推送指定分支到远程 git push origin <branch-name> # 强制推送(可能破坏远程历史) git push --force # 推送新分支并设置跟踪 git push -u origin <branch-name> -
场景 :将本地分支同步到远程,
-u用于首次推送并关联远程分支。
5. git fetch
-
作用:从远程仓库获取最新更新(不合并)。
-
常用参数:
bash# 获取所有远程分支更新 git fetch # 获取指定远程分支 git fetch origin <remote-branch> # 获取并创建本地分支 git fetch origin <remote-branch>:<local-branch> -
场景:查看远程更新而不影响本地工作区,避免自动合并冲突。
6. git pull
-
作用:从远程仓库拉取并合并最新代码。
-
常用参数:
bash# 拉取并合并当前分支 git pull # 拉取并使用 rebase 合并(避免合并提交) git pull --rebase # 拉取指定分支 git pull origin <branch-name> -
场景 :同步远程代码到本地,
--rebase适用于保持线性历史。
7. git rebase
-
作用:将当前分支的提交历史变基到另一分支(避免合并提交)。
-
常用参数:
bash# 将当前分支变基到 master git rebase master # 交互式变基(修改提交历史) git rebase -i HEAD~3 # 中断变基 git rebase --abort -
场景 :清理提交历史,保持分支线性,避免
git merge产生冗余提交。
8. git reset
-
作用:重置当前分支的 HEAD 指针(危险操作)。
-
常用参数:
bash# 软重置(保留工作区,重置暂存区) git reset --soft HEAD~1 # 混合重置(默认,保留工作区,重置暂存区+HEAD) git reset --mixed HEAD~1 # 硬重置(清空工作区+暂存区,谨慎使用) git reset --hard HEAD~1 # 重置指定文件 git reset HEAD <file> -
场景 :撤销错误提交或回退到历史版本,
--hard会丢失本地修改。
🔍 实际场景示例
- 分支开发流程:
bash
git checkout -b feature/login
# 开发代码...
git add .
git commit -m "feat: 添加登录功能"
git push -u origin feature/login
- 解决冲突:
bash
git pull --rebase
# 手动解决冲突后
git add .
git rebase --continue
- 修正提交:
bash
git commit --amend
# 修改提交信息后保存
⚠️ 注意事项
git reset --hard会丢失本地未提交的修改,慎用。git push --force可能破坏远程历史,需团队沟通后使用。git rebase适用于个人分支,公共分支建议用merge。