Git 常用命令及使用场景
初始化与配置
git init
在当前目录创建一个新的 Git 仓库,生成隐藏的 .git
文件夹,用于存储版本历史。适用于从零开始的新项目。
git clone <repository-url>
克隆远程仓库到本地。适用于需要获取已有项目的场景,如从 GitHub 或 GitLab 下载代码。
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
设置全局用户名和邮箱,提交代码时会记录作者信息。首次安装 Git 后需配置。
提交与版本控制
git add <file>
将文件添加到暂存区(Staging Area)。git add .
添加所有修改文件。适用于准备提交前的文件选择。
git commit -m "commit message"
将暂存区的文件提交到本地仓库,并附上描述信息。适用于保存当前工作进度。
git status
查看当前仓库状态,显示未跟踪、已修改或已暂存的文件。适用于快速确认当前变更。
分支管理
git branch
列出所有本地分支,当前分支前标有 *
。git branch -a
查看包括远程分支的完整列表。
git checkout -b <branch-name>
创建并切换到新分支。适用于开发新功能或修复 Bug 时隔离代码。
git merge <branch-name>
将指定分支合并到当前分支。适用于功能完成后合并到主分支(如 main
或 master
)。
git rebase <branch-name>
将当前分支的提交“变基”到目标分支,保持线性历史。适用于整理提交记录,需谨慎使用。
远程仓库操作
git remote add origin <repository-url>
关联本地仓库与远程仓库。首次推送前需设置。
git push origin <branch-name>
将本地分支推送到远程仓库。适用于共享代码或备份。
git pull origin <branch-name>
拉取远程分支的更新并合并到本地分支。适用于团队协作时同步代码。
撤销与恢复
git reset --hard <commit-hash>
回退到指定提交,丢弃之后的修改。适用于撤销未提交的更改。
git revert <commit-hash>
创建一个新提交来撤销指定提交的更改。适用于已推送代码的撤销,更安全。
git stash
临时保存未提交的修改,恢复工作目录到干净状态。适用于紧急切换分支时暂存当前工作。
查看历史
git log
显示提交历史,包括作者、日期和描述。git log --oneline
查看简洁版本。
git diff
比较工作目录与暂存区的差异。git diff --cached
比较暂存区与最后一次提交的差异。
标签管理
git tag -a v1.0 -m "Version 1.0"
创建附注标签,标记重要版本(如发布节点)。git push origin v1.0
推送标签到远程。
典型使用场景
场景 1:日常开发流程
修改代码后,使用 git add
暂存变更,git commit
提交到本地仓库,最后 git push
推送到远程。频繁提交并附上有意义的描述。
场景 2:团队协作
定期执行 git pull
拉取队友的更新,避免冲突。开发新功能时创建独立分支,完成后再合并到主分支。
场景 3:修复 Bug
从主分支创建修复分支(如 bugfix/login-error
),测试通过后合并到主分支并删除临时分支。
场景 4:代码回退
使用 git revert
安全撤销已推送的错误提交,或通过 git reset
回退本地未推送的更改。
以上命令和场景覆盖了 Git 的常见操作,实际使用时可根据需求灵活组合。建议结合图形化工具(如 GitKraken 或 Sourcetree)辅助理解提交历史和分支关系。