Git 常用命令及其使用场景
Git 是分布式版本控制系统,以下是常用命令及其典型使用场景:
1. 基础操作命令
命令 |
描述 |
使用场景 |
git init |
初始化一个新的 Git 仓库 |
新建项目并开始使用 Git 进行版本控制时。 |
git clone <repo_url> |
克隆远程仓库到本地 |
获取已有的 Git 仓库到本地进行开发。 |
git status |
查看当前工作区状态 |
检查是否有修改、添加或删除文件的操作未提交。 |
git log |
查看提交历史 |
查看项目的历史变更记录或追踪特定的提交。 |
git diff |
查看文件更改 |
比较工作区与暂存区之间的差异,检查修改内容。 |
2. 分支管理命令
命令 |
描述 |
使用场景 |
git branch |
列出分支或创建新分支 |
创建新功能分支或查看当前分支状态。 |
git checkout <branch> |
切换到指定分支 |
在不同功能分支之间切换开发环境。 |
git checkout -b <branch> |
创建并切换到新分支 |
在新功能开发前快速创建分支并切换到该分支。 |
git merge <branch> |
合并指定分支到当前分支 |
完成某一功能开发后将其合并到主分支或开发分支。 |
git rebase <branch> |
将当前分支的提交应用到指定分支的最新提交上 |
清理历史提交记录,创建更整洁的提交历史。 |
3. 提交操作命令
命令 |
描述 |
使用场景 |
git add <file> |
将文件添加到暂存区 |
准备提交修改的文件到仓库。 |
git commit -m <msg> |
提交暂存区的文件并添加提交说明 |
将本次修改记录为一次提交,并添加描述。 |
git commit --amend |
修改最后一次提交 |
修正提交说明或增加遗漏的文件到上一次提交中。 |
4. 远程操作命令
命令 |
描述 |
使用场景 |
git remote add <name> <url> |
添加远程仓库 |
配置项目关联的远程仓库,如 GitHub 或 GitLab。 |
git fetch <remote> |
获取远程仓库的最新信息 |
同步远程分支的信息到本地,不影响工作区。 |
git pull <remote> <branch> |
拉取远程分支的最新代码 |
将远程仓库的更新合并到本地分支,保持同步。 |
git push <remote> <branch> |
推送本地分支到远程仓库 |
上传本地的改动到远程仓库,完成协作提交。 |
5. 恢复和撤销操作命令
命令 |
描述 |
使用场景 |
git reset <file> |
取消文件的暂存状态 |
将已暂存的文件撤回到工作区。 |
git checkout -- <file> |
撤销工作区文件的修改 |
放弃未暂存的改动,还原为上一次提交的状态。 |
git revert <commit> |
反转指定提交 |
撤销某次提交的改动,同时保留历史记录。 |
git stash |
保存当前工作区状态 |
临时保存当前工作内容,便于切换分支或进行其他操作。 |
git stash pop |
恢复最近一次保存的工作区状态 |
继续之前中断的开发任务。 |
6. 标签管理命令
命令 |
描述 |
使用场景 |
git tag <tag> |
创建标签 |
标记特定的提交点(如版本发布)。 |
git show <tag> |
查看标签信息 |
查看某个标签对应的提交记录。 |
git push <remote> <tag> |
推送标签到远程仓库 |
将本地创建的标签发布到远程仓库中。 |
案例分析
案例 1:多人协作开发
- 拉取代码:
git pull origin main
- 创建功能分支:
git checkout -b feature-login
- 开发与提交:
- 添加文件:
git add .
- 提交代码:
git commit -m "Add login feature"
- 推送到远程:
git push origin feature-login
- 合并分支: 提交合并请求,代码审查通过后
git merge feature-login
。
案例 2:修复线上紧急问题
- 创建热修复分支:
git checkout -b hotfix-issue123 main
- 修复代码并提交:
- 添加文件:
git add .
- 提交修改:
git commit -m "Fix critical issue #123"
- 推送到远程:
git push origin hotfix-issue123
- 发布修复版本: 创建标签
git tag v1.0.1
并推送。
通过合理使用 Git 的命令和策略,可以高效管理代码版本,提升团队协作效率。