外观
git 命令?
⭐ 题目日期:
美团 - 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. 解决合并冲突
- 合并分支时发生冲突:
git merge dev
- 手动编辑冲突文件(文件中的
<<<<<<<
标记冲突位置)。 - 解决后提交:
git add . git commit -m "fix merge conflict"
3. 撤销未提交的修改
git restore file.txt # 放弃工作区修改
git restore --staged file.txt # 取消暂存
总结
- 基本原则:频繁提交、小步提交,保持提交历史的清晰。
- 分支策略:推荐使用
main
+ 功能分支 + Pull Request 的工作流。 - 避免强制推送:
git push -f
可能覆盖他人提交,需谨慎使用。
通过掌握这些命令,可以高效管理代码版本并协作开发。