常用命令、工作流及实用技巧,适用于日常开发场景:
一、基础配置
# 设置全局用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
# 保存凭证(避免重复输入密码)
git config --global credential.helper store
# 查看配置列表
git config --list
二、仓库操作
命令 | 说明 |
---|---|
git init |
初始化本地仓库 |
git clone <repo_url> |
克隆远程仓库到本地 |
git remote -v |
查看远程仓库地址 |
git remote add origin <url> |
添加远程仓库 |
git remote remove origin |
移除远程仓库 |
三、提交与修改
命令 | 说明 |
---|---|
git status |
查看文件状态 |
git add <file> |
添加文件到暂存区 |
git add . |
添加所有修改到暂存区 |
git commit -m "message" |
提交暂存区内容 |
git commit --amend |
修改最后一次提交(不产生新记录) |
git restore <file> |
撤销工作区修改(未 add) |
git restore --staged <file> |
撤销暂存区修改(已 add) |
四、分支管理
命令 | 说明 |
---|---|
git branch |
查看本地分支 |
git branch -a |
查看所有分支(含远程) |
git branch <branch_name> |
创建新分支 |
git checkout <branch> |
切换到分支 |
git checkout -b <new_branch> |
创建并切换到新分支 |
git merge <branch> |
合并分支到当前分支 |
git branch -d <branch> |
删除本地分支 |
git push origin --delete <branch> |
删除远程分支 |
git push -u origin <branch> |
推送本地分支到远程并关联 |
五、同步与推送
命令 | 说明 |
---|---|
git fetch |
从远程拉取元数据(不合并) |
git pull |
拉取远程分支并合并(= git fetch + git merge ) |
git pull --rebase |
拉取远程分支并变基(推荐) |
git push |
推送本地提交到远程 |
git push --force |
强制推送(覆盖远程,慎用!) |
六、撤销与回退
命令 | 说明 |
---|---|
git reset --soft HEAD^ |
撤销 commit,保留修改到暂存区 |
git reset --mixed HEAD^ |
撤销 commit 和 add(默认) |
git reset --hard HEAD^ |
彻底撤销 commit 和修改(慎用!) |
git revert <commit_id> |
创建新提交来撤销指定提交(安全) |
七、日志与对比
命令 | 说明 |
---|---|
git log |
查看提交历史 |
git log --oneline --graph |
简洁分支可视化日志 |
git diff |
查看工作区与暂存区的差异 |
git diff --staged |
查看暂存区与最新提交的差异 |
git diff <branch1> <branch2> |
比较两个分支差异 |
八、储藏与标签
命令 | 说明 |
---|---|
git stash |
临时储藏工作区修改 |
git stash pop |
恢复最近储藏的修改 |
git tag v1.0 |
创建轻量标签 |
git tag -a v1.0 -m "message" |
创建含注释的标签 |
git push origin --tags |
推送所有标签到远程 |
九、高级技巧
-
交互式变基(修改历史)
git rebase -i HEAD~3 # 合并/修改最近3次提交
-
子模块管理
git submodule add <repo_url> <path> # 添加子模块 git submodule update --init --recursive # 初始化子模块
-
忽略文件配置
创建
.gitignore
文件,每行一个忽略规则(支持通配符):plaintext
*.log /build/ .env
十、常见问题解决
-
冲突处理:
-
执行
git pull
后出现冲突 -
手动编辑冲突文件(搜索
<<<<<<<
标记) -
解决后执行
git add <file>
+git commit
-
-
恢复误删分支:
git reflog # 查找分支最后提交的 commit_id git branch <branch> <commit_id>
Git 工作流
工作区 (Working Directory)
↓ add
暂存区 (Staging Area)
↓ commit
本地仓库 (Local Repository)
↓ push
远程仓库 (Remote Repository)
提示:
使用
git help <command>
查看命令详细帮助。推荐使用 SSH Key 认证代替账号密码(更安全)。
团队协作遵循 Git Flow 或 GitHub Flow 规范。
掌握以上命令可覆盖 95% 的日常 Git 使用场景!