git的常用命令有哪些:分场景速查
git的常用命令有哪些,按本地仓库操作、分支管理、远程同步、回溯撤销四个场景划分,你可以直接复制使用,本地新建代码仓库、日常提交代码、创建切换分支、拉取推送远程代码、回退错误提交都有对应指令,这套命令集合适合前端、后端开发人员日常版本管理,不适合大型多团队复杂合并、历史提交批量重写等高风险场景,这类场景需要搭配额外参数并提前备份代码。本地基础命令完成仓库初始化与文件暂存提交,分支命令用于并行开发隔离代码,远程命令负责本地仓库和代码托管平台的数据交互,撤销命令用来修复误操作产生的提交记录,每一条命令附带简短作用说明,降低你查阅文档的时间消耗。
git本地仓库基础命令
gitinit,在当前文件夹初始化git仓库,生成隐藏.git目录,这个目录保存全部版本记录。执行命令前确认目录位置,不要在系统盘根目录执行初始化操作。gitadd文件名,把指定文件加入暂存区,gitadd.可以将当前目录所有改动文件放入暂存区,不会直接生成版本记录。gitcommit-m"提交备注",将暂存区内容提交到本地仓库,引号内填写清晰改动说明,方便后续追溯代码变更。gitstatus,查看当前仓库状态,展示已修改、未追踪、暂存的文件清单。gitlog,查看提交历史,输出提交ID、作者、时间与提交备注,加上--oneline参数可以精简日志显示。
查改动,用gitdiff。
git分支管理命令
gitbranch,列出本地全部分支,带星号标记代表当前所在分支。gitbranch分支名,新建分支,创建后不会自动切换到新建分支。gitcheckout分支名,切换到目标分支,新版本git推荐使用gitswitch分支名完成切换,switch指令语义更直观。gitcheckout-b分支名,新建分支并且直接切换,开发新功能时高频使用。gitmerge分支名,把指定分支代码合并到当前分支,合并时出现冲突需要手动编辑冲突文件,标记冲突完成后再提交。gitbranch-d分支名,删除已经合并完成的本地分支,使用-D参数可以强制删除未合并分支,强制删除会丢失分支内未合并代码。
git远程仓库交互命令
gitremoteadd远程仓库别名仓库地址,关联本地仓库与远程仓库,仓库别名一般默认命名origin。gitclone仓库地址,复制远程完整仓库到本地,自动完成初始化与远程关联,适合拉取新项目。gitpull,拉取远程仓库最新代码并自动合并到当前本地分支,多人协作开发时提交代码前执行,降低代码冲突概率。gitpush远程别名分支名,将本地分支提交记录推送到远程仓库,新建分支首次推送需要添加-u参数绑定上下游分支。gitfetch,拉取远程更新但不自动合并,你可以先查看差异再手动执行合并,风险比gitpull更低。
| 命令 | 操作行为 | 适用场景 | 风险等级 |
|---|---|---|---|
| gitpull | 拉取+自动合并 | 日常快速同步远程代码 | 中等,容易产生静默冲突 |
| gitfetch | 仅拉取远程更新 | 需要先审阅代码差异再合并 | 低,不会改动本地代码 |
git撤销与回溯命令
gitreset参数提交ID,重置当前分支指向目标提交,参数分为soft、mixed、hard三种。soft只移动分支指针,保留文件改动在暂存区;mixed取消暂存,改动保留在工作区;hard直接丢弃所有本地改动,文件还原到目标提交状态,hard参数会清空本地未提交代码,执行前需要备份文件。gitcheckout--文件名,丢弃工作区单个文件修改,恢复为暂存区版本。gitrevert提交ID,新建提交来抵消旧提交的改动,不会修改原有提交历史,适合已经推送到远程的提交回滚,团队协作场景优先选用这条命令。
该方法的适用边界是,gitreset--hard无法恢复没有任何提交记录的本地新增文件,这类文件一旦丢失,没有git版本快照可以找回。
gitremote-v查看远程仓库绑定地址,确认远程仓库配置是否正确。多人协作项目更换仓库地址时,你可以执行gitremoteset-urlorigin新仓库地址,修改远程仓库链接,不需要重新克隆整个项目。
- gitstash,暂存工作区改动,临时切换分支使用
- gitstashpop,恢复最近一次暂存代码,同时删除暂存记录
- gittag标签名,为当前提交打版本标签,用于标记发布版本
- gitcherry-pick提交ID,把指定提交复制到当前分支
gitrebase分支名,将当前分支提交变基到目标分支,整理提交历史。在已经推送到远程的分支执行rebase,会改写提交历史,其他协作成员拉取代码时会出现异常,已经共享至远程的分支不建议执行变基操作。
