一、基础操作指令
-
仓库初始化与克隆
git init:将当前目录初始化为Git仓库git clone <URL>:克隆远程仓库到本地(支持HTTP/SSH协议)- 示例:
git clone git@github.com:user/repo.git --depth=1(浅克隆仅保留最新提交历史)
- 示例:
-
配置管理
git config --global user.name "Name":全局配置用户名git config --global alias.st status:设置命令别名(如用git st代替git status)
-
提交与状态查看
git add .:将所有修改加入暂存区git commit -m "message":提交暂存区内容并添加描述git status:查看工作区与暂存区状态
二、分支与合并
-
分支操作
git branch -a:查看所有分支(包括远程分支)git switch -c feature:创建并切换到新分支(替代旧版git checkout -b)git merge dev:将dev分支合并到当前分支
-
高级合并策略
git rebase main:将当前分支的提交变基到main分支(保持线性历史)git cherry-pick <commit_id>:复制特定提交到当前分支
-
冲突解决
- 执行
git pull后手动编辑冲突文件,标记解决后使用git add和git commit
- 执行
三、远程协作
-
推送与拉取
git push -u origin main:首次推送并设置上游分支(后续可简写为git push)git pull --rebase:拉取远程更新并以变基方式合并(避免冗余合并提交)
-
强制操作(慎用)
git push --force-with-lease:安全强制推送(防止覆盖他人提交)git reset --hard HEAD~3:回退本地提交后强制推送(需团队协调)
-
远程仓库管理
git remote add origin <URL>:关联远程仓库git remote -v:查看已配置的远程仓库
四、撤销与恢复
-
撤销修改
git restore <file>:丢弃工作区未暂存的修改(替代git checkout -- <file>)git reset HEAD~1:撤销最近一次提交(保留修改到暂存区)
-
操作历史追溯
git reflog:查看所有操作记录(含已删除的提交)git revert <commit_id>:创建新提交以撤销特定历史提交
五、高级工具
-
临时存储
git stash:暂存未提交的修改git stash pop:恢复暂存内容并删除记录
-
标签管理
git tag v1.0:创建轻量标签git push --tags:推送所有标签到远程仓库
-
高效协作
git worktree add ../new-feature:在同一仓库中创建独立工作目录(支持多分支并行开发)git range-diff A..B C..D:比较两个提交范围的差异(适用于代码评审)
实用场景示例
-
紧急修复生产问题:
git stash # 暂存当前工作 git switch hotfix # 切换到修复分支 git commit -m "Fix critical bug" git push origin hotfix git switch main # 返回原分支 git stash pop # 恢复暂存内容 -
同步团队仓库:
git fetch --all # 获取所有远程更新 git rebase origin/main # 变基本地提交到最新远程分支 git push --force-with-lease