Administrator
Published on 2025-04-22 / 5 Visits
0
0

Git 命令大全及使用指南

以下是一份常用的 Git 命令分类整理,适合日常开发使用和快速查阅:


1. 配置相关

# 设置全局用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

# 查看当前配置
git config --list

# 设置仓库级别的配置(进入仓库目录后执行)
git config user.name "Your Name"

2. 仓库初始化与克隆

# 初始化新仓库
git init

# 克隆远程仓库
git clone https://github.com/user/repo.git

3. 分支操作

# 查看分支
git branch          # 本地分支
git branch -a       # 查看所有分支(包括远程)

# 创建分支
git branch <branch-name>

# 切换分支
git checkout <branch-name>

# 创建并切换分支
git checkout -b <branch-name>

# 删除分支
git branch -d <branch-name>      # 安全删除(已合并的分支)
git branch -D <branch-name>      # 强制删除(未合并的分支)

# 合并分支(将指定分支合并到当前分支)
git merge <branch-name>

# 合并分支(使用 rebase)
git rebase <branch-name>

4. 提交与日志

# 添加文件到暂存区
git add <file>      # 添加单个文件
git add .           # 添加所有修改和新文件(不包含删除)
git add -A          # 添加所有修改(包括删除)

# 提交到本地仓库
git commit -m "commit message"

# 修改最后一次提交
git commit --amend  # 修改提交信息或追加文件

# 查看提交历史
git log             # 详细日志
git log --oneline   # 单行显示
git log --graph     # 图形化显示分支合并历史
git log -p          # 显示具体修改内容

5. 远程仓库操作

# 添加远程仓库
git remote add origin https://github.com/user/repo.git

# 查看远程仓库信息
git remote -v

# 拉取远程分支更新
git pull origin <branch-name>     # 拉取并合并
git fetch origin                 # 仅获取更新,不合并

# 推送本地分支到远程
git push origin <branch-name>

# 删除远程分支
git push origin --delete <branch-name>

# 设置本地分支跟踪远程分支
git branch --set-upstream-to=origin/<remote-branch> <local-branch>

6. 撤销与回退

# 撤销工作区的修改(未 add)
git checkout -- <file>

# 撤销暂存区的修改(已 add 但未 commit)
git reset HEAD <file>

# 回退到某个提交(保留工作区修改)
git reset --soft <commit-id>

# 回退到某个提交(重置暂存区,保留工作区)
git reset --mixed <commit-id>  # 默认选项

# 强制回退到某个提交(丢弃所有修改)
git reset --hard <commit-id>

# 撤销某次提交(生成新提交)
git revert <commit-id>

7. 标签管理

# 创建标签
git tag v1.0.0                 # 轻量标签
git tag -a v1.0.0 -m "消息"     # 附注标签

# 查看标签
git tag

# 推送标签到远程
git push origin v1.0.0        # 推送单个标签
git push origin --tags        # 推送所有标签

# 删除标签
git tag -d v1.0.0             # 删除本地标签
git push origin :refs/tags/v1.0.0  # 删除远程标签

8. 子模块(Submodule)

# 添加子模块
git submodule add https://github.com/user/repo.git path/to/submodule

# 初始化子模块
git submodule init

# 更新子模块代码
git submodule update

9. 暂存区临时保存(Stash)

# 保存当前工作区修改
git stash

# 查看保存的 stash 列表
git stash list

# 恢复最近一次 stash
git stash pop

# 清空所有 stash
git stash clear

10. 高级操作

# 二分查找问题提交
git bisect start
git bisect bad        # 标记当前提交为有问题
git bisect good <commit-id>  # 标记某个提交为正常

# 清理未跟踪的文件
git clean -fd         # 强制删除未跟踪的文件和目录

# 重写提交历史(谨慎使用)
git filter-branch --tree-filter 'rm -f password.txt' HEAD

常用场景示例

合并冲突解决

  1. 执行 git mergegit pull 后出现冲突。
  2. 手动编辑冲突文件(文件内会标记冲突位置)。
  3. 解决后执行 git add <file>git commit

强制推送(谨慎使用)

git push --force origin <branch-name>  # 覆盖远程提交历史

注意事项

  • git reset --hard永久丢弃未提交的修改,慎用!
  • 推送代码前,建议先拉取最新代码(git pull)避免冲突。
  • 使用 git reflog 可查看所有操作记录,用于恢复误操作。

希望这份整理能帮助你高效使用 Git!


Comment