Skip to content

git 命令?

约 933 字大约 3 分钟

版本控制美团

2025-03-26

⭐ 题目日期:

美团 - 2024/12/23

📝 题解:

以下是 Git 常用命令的分类整理及核心用法说明,涵盖基础操作、分支管理、远程协作和高级功能:


一、基础操作

命令作用示例
git init初始化本地仓库git init
git clone克隆远程仓库到本地git clone https://github.com/user/repo.git
git add将文件添加到暂存区git add file.txt(添加单个文件)
git add .(添加所有修改)
git commit提交暂存区的修改git commit -m "commit message"
git status查看工作区和暂存区的状态git status
git log查看提交历史git log
git log --oneline --graph(简洁可视化)
git diff查看文件修改差异git diff(未暂存的修改)
git diff --staged(已暂存的修改)

二、分支管理

命令作用示例
git branch查看/创建/删除分支git branch(查看分支)
git branch dev(创建分支)
git branch -d dev(删除分支)
git checkout切换分支或恢复文件git checkout dev(切换分支)
git checkout -- file.txt(丢弃文件修改)
git switch切换分支(Git 2.23+)git switch dev
git merge合并分支git merge dev(将dev合并到当前分支)
git rebase变基分支(重写提交历史)git rebase main(将当前分支变基到main

三、远程协作

命令作用示例
git remote管理远程仓库git remote -v(查看远程仓库)
git remote add origin URL(添加远程仓库)
git fetch拉取远程仓库更新(不自动合并)git fetch origin
git pull拉取并合并远程更新git pull origin main(等同于 git fetch + git merge
git push推送本地提交到远程仓库git push origin main
git push -u origin main(首次推送设置上游)

四、撤销与回退

命令作用示例
git reset回退提交git reset HEAD~1(撤销最近一次提交,保留修改)
git reset --hard HEAD~1(彻底丢弃最近一次提交)
git revert撤销某次提交(生成新提交)git revert commit_id
git restore恢复文件(Git 2.23+)git restore file.txt(丢弃未暂存的修改)
git restore --staged file.txt(取消暂存)

五、标签管理

命令作用示例
git tag创建/查看标签git tag v1.0(打标签)
git tag(查看标签)
git push --tags推送标签到远程仓库git push origin --tags

六、高级操作

命令作用示例
git stash暂存当前修改git stash(保存修改)
git stash pop(恢复修改)
git cherry-pick复制指定提交到当前分支git cherry-pick commit_id
git bisect二分查找引入问题的提交git bisect start
git bisect bad
git bisect good commit_id
git reflog查看所有操作历史(用于恢复误操作)git reflog

七、配置与帮助

命令作用示例
git config配置Git参数git config --global user.name "Your Name"
git config --global user.email "email@example.com"
git help查看命令帮助git help commit

常用场景示例

1. 提交代码到远程仓库

git add .
git commit -m "feat: add login function"
git push origin main

2. 解决合并冲突

  1. 合并分支时发生冲突:
    git merge dev
  2. 手动编辑冲突文件(文件中的<<<<<<<标记冲突位置)。
  3. 解决后提交:
    git add .
    git commit -m "fix merge conflict"

3. 撤销未提交的修改

git restore file.txt      # 放弃工作区修改
git restore --staged file.txt  # 取消暂存

总结

  • 基本原则:频繁提交、小步提交,保持提交历史的清晰。
  • 分支策略:推荐使用 main + 功能分支 + Pull Request 的工作流。
  • 避免强制推送git push -f 可能覆盖他人提交,需谨慎使用。

通过掌握这些命令,可以高效管理代码版本并协作开发。