Git 命令操作大全:新手小白快速上手指南

Git 命令操作大全:新手小白快速上手指南

Git 是目前最流行的版本控制系统,无论是个人开发还是团队协作,掌握 Git 的基本操作都是必备技能。本文将从 基础命令、远程协作、撤销修改、分支管理 等多个方面,带你快速上手 Git,并解决常见问题。


一、Git 基础操作

1. 安装与配置

安装 Git
  • Windows: 从 Git 官网 下载安装
  • Mac: brew install git
  • Linux (Ubuntu): sudo apt install git
配置用户信息
bash 复制代码
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
  • 查看配置:git config --list
初始化仓库
bash 复制代码
git init          # 初始化新仓库
git clone <仓库地址>  # 克隆远程仓库

2. 提交代码

添加文件到暂存区
bash 复制代码
git add <文件名>    # 添加单个文件
git add .          # 添加所有修改的文件
git add -p         # 交互式选择修改的部分
提交更改
bash 复制代码
git commit -m "提交信息"   # 提交暂存区的修改
git commit -am "提交信息"  # 跳过 `git add`,直接提交已跟踪文件的修改
查看状态与历史
bash 复制代码
git status       # 查看当前修改状态
git log          # 查看提交历史
git log --oneline --graph  # 简洁版提交历史(带分支图)

二、分支管理

1. 创建与切换分支

bash 复制代码
git branch              # 查看所有分支
git branch <分支名>      # 创建新分支
git checkout <分支名>    # 切换到分支
git checkout -b <分支名> # 创建并切换到新分支(常用)

2. 合并分支

bash 复制代码
git merge <分支名>   # 合并指定分支到当前分支
git rebase <分支名>  # 变基(更干净的提交历史)
  • merge vs rebase
    • merge 保留完整历史,适合公共分支(如 main
    • rebase 线性历史,适合本地整理提交

3. 删除分支

bash 复制代码
git branch -d <分支名>      # 删除本地分支(已合并)
git branch -D <分支名>      # 强制删除未合并的分支
git push origin --delete <分支名>  # 删除远程分支

三、远程仓库操作

1. 关联远程仓库

bash 复制代码
git remote add origin <仓库地址>  # 关联远程仓库
git remote -v                   # 查看远程仓库信息
git push -u origin main         # 首次推送并设置默认远程分支

2. 拉取与推送代码

bash 复制代码
git pull origin <分支名>  # 拉取远程分支(相当于 `git fetch + git merge`)
git push origin <分支名>  # 推送本地分支到远程
  • 强制推送(慎用)

    bash 复制代码
    git push --force-with-lease  # 比 `--force` 更安全,避免覆盖他人提交

3. 解决冲突

如果 git pullgit merge 时出现冲突:

  1. 手动编辑冲突文件(搜索 <<<<<<< 标记)

  2. 解决后重新提交:

    bash 复制代码
    git add <冲突文件>
    git commit -m "解决冲突"

四、撤销与恢复操作

1. 撤销工作区修改

bash 复制代码
git checkout -- <文件名>  # 丢弃未暂存的修改(危险!不可恢复)
git restore <文件名>      # Git 2.23+ 推荐替代 `checkout`

2. 撤销暂存区修改

bash 复制代码
git reset HEAD <文件名>  # 取消 `git add`(回退到工作区)

3. 回退提交

bash 复制代码
git reset --soft HEAD~1   # 撤销 commit,保留修改到暂存区
git reset --mixed HEAD~1  # 撤销 commit 和暂存,保留修改到工作区(默认)
git reset --hard HEAD~1   # 彻底丢弃最近一次 commit(危险!)

4. 恢复误删分支或提交

bash 复制代码
git reflog           # 查看所有操作记录
git checkout <提交ID> # 切换到某个提交
git branch <新分支名> <提交ID>  # 从历史提交创建新分支

五、Git 实用技巧

1. 暂存未完成的工作(git stash

bash 复制代码
git stash        # 临时保存当前修改
git stash list   # 查看暂存记录
git stash pop    # 恢复最近一次暂存

2. 查看文件修改记录

bash 复制代码
git blame <文件名>  # 查看每行代码的最后修改者
git show <提交ID>   # 查看某次提交的详细内容

3. 优化提交历史

bash 复制代码
git commit --amend  # 修改最近一次提交(可更新提交信息或文件)
git rebase -i HEAD~3  # 交互式修改最近 3 次提交(合并、修改、删除提交)

六、常见问题与解决

1. git pull 冲突怎么办?

  • git stash 暂存本地修改
  • git pull 拉取最新代码
  • 最后 git stash pop 恢复修改并解决冲突

2. 提交了错误文件如何撤销?

bash 复制代码
git reset HEAD~1        # 回退到上一个提交
git add <正确的文件>     # 重新添加文件
git commit -m "新提交"   # 重新提交

3. 如何彻底删除某个文件的历史记录?

bash 复制代码
git filter-branch --tree-filter 'rm -f <文件名>' HEAD  # 从所有提交中删除文件
git push --force  # 强制推送(慎用,会影响协作)

总结

本文涵盖了 Git 的 基础操作、分支管理、远程协作、撤销修改 等核心内容,适合新手快速上手。建议多练习以下命令:

  • git addgit commitgit push(日常提交)
  • git checkoutgit mergegit rebase(分支管理)
  • git resetgit reflog(撤销与恢复)

掌握这些命令后,你就能高效使用 Git 进行版本控制了! 🚀