news 2026/4/23 10:51:25

git 常见命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
git 常见命令

Git 是分布式版本控制系统,以下是按日常开发流程分类的常用命令,涵盖从初始化、代码提交到协作开发的核心场景,附关键说明:

一、基础配置(首次安装必做)

# 配置全局用户名(关联提交记录)gitconfig --global user.name"Your Name"# 配置全局邮箱(与Git账号/仓库邮箱一致)gitconfig --global user.email"your.email@example.com"# 查看配置信息gitconfig --list# 重置配置(如需修改)gitconfig --global --unset user.name

二、仓库初始化/克隆

# 本地新建仓库(初始化.git目录)gitinit# 克隆远程仓库到本地(HTTPS方式)gitclone https://github.com/用户名/仓库名.git# 克隆远程仓库并指定本地目录名gitclone https://github.com/用户名/仓库名.git 自定义目录名# SSH方式克隆(需配置SSH密钥,免密码)gitclone git@github.com:用户名/仓库名.git

三、工作区/暂存区操作(日常开发高频)

# 查看文件状态(红:未追踪/修改;绿:已暂存)gitstatus# 简化状态输出gitstatus -s# 将指定文件添加到暂存区gitadd文件名/目录名# 添加所有修改/新增文件到暂存区gitadd.# 添加所有跟踪文件的修改(不含新增未追踪文件)gitadd-u# 撤销工作区修改(恢复到最近一次提交/暂存状态)gitcheckout -- 文件名# 撤销暂存区文件(回到工作区)gitreset HEAD 文件名# 删除文件并同步到暂存区gitrm文件名# 仅删除暂存区记录,保留本地文件gitrm--cached 文件名# 重命名文件并同步到暂存区gitmv旧文件名 新文件名

四、提交代码(版本记录)

# 提交暂存区文件到本地仓库,必须写提交信息gitcommit -m"feat: 新增用户登录功能"# 提交时自动将已跟踪的修改文件加入暂存区(跳过git add)gitcommit -am"fix: 修复登录密码加密问题"# 修改最近一次提交(仅未推送到远程时用)gitcommit --amend# 合并多次提交(交互式,需编辑提交记录)gitrebase -i HEAD~3# 合并最近3次提交

五、分支操作(核心协作能力)

# 查看所有分支(*表示当前分支)gitbranch# 查看远程分支gitbranch -r# 查看所有分支(含远程)gitbranch -a# 创建新分支gitbranch 分支名# 创建并切换到新分支gitcheckout -b 分支名# (Git 2.23+推荐)创建并切换分支gitswitch -c 分支名# 切换到已有分支gitcheckout 分支名# (Git 2.23+推荐)切换分支gitswitch 分支名# 删除本地分支(需先切换到其他分支)gitbranch -d 分支名# 强制删除未合并的本地分支gitbranch -D 分支名# 删除远程分支gitpush origin --delete 分支名# 或简写gitpush origin :分支名# 重命名本地分支gitbranch -m 旧分支名 新分支名

六、远程仓库操作(协作同步)

# 查看已关联的远程仓库gitremote -v# 添加远程仓库(命名为origin,默认别名)gitremoteaddorigin https://github.com/用户名/仓库名.git# 修改远程仓库地址gitremote set-url origin 新地址# 拉取远程仓库最新代码(合并到当前分支)gitpull# 拉取指定远程分支到本地指定分支gitpull origin 远程分支名:本地分支名# 推送本地分支到远程仓库gitpush origin 本地分支名# 首次推送时关联远程分支(后续可直接git push)gitpush -u origin 本地分支名# 拉取远程所有分支信息(不合并)gitfetch

七、合并/变基(分支整合)

# 切换到主分支,合并功能分支gitcheckout maingitmerge 功能分支名# 变基(将当前分支提交“移植”到目标分支顶部,更整洁)gitcheckout 功能分支名gitrebase main# 解决合并/变基冲突后,继续操作gitadd冲突文件gitrebase --continue# 变基冲突# 或gitmerge --continue# 合并冲突# 放弃合并/变基gitmerge --abortgitrebase --abort

八、版本回退(纠错必备)

# 查看提交历史(含哈希值、作者、信息)gitlog# 简化日志输出gitlog --oneline# 查看所有操作记录(包括回退、删除分支)gitreflog# 回退到指定版本(保留工作区修改,仅撤销提交)gitreset --soft 提交哈希值# 回退到指定版本(撤销提交+暂存区,保留工作区)gitreset --mixed 提交哈希值# 默认模式# 强制回退到指定版本(清空工作区/暂存区,谨慎使用)gitreset --hard 提交哈希值# 恢复已删除的提交(结合git reflog找哈希值)gitreset --hard 提交哈希值# 撤销某次提交(生成反向提交,保留历史,推荐)gitrevert 提交哈希值

九、暂存工作区(临时切换分支)

# 暂存当前工作区未提交的修改gitstash# 暂存并添加备注gitstash save"修复登录bug的临时修改"# 查看所有暂存记录gitstash list# 恢复最近一次暂存(保留暂存记录)gitstash apply# 恢复指定暂存(git stash list查看序号)gitstash apply stash@{0}# 恢复并删除暂存记录gitstash pop# 删除指定暂存gitstash drop stash@{0}# 删除所有暂存gitstashclear

十、标签(版本发布)

# 创建轻量标签(仅标记,无备注)gittag v1.0.0# 创建附注标签(含详细信息,推荐)gittag -a v1.0.0 -m"发布v1.0.0版本,支持用户登录"# 查看所有标签gittag# 推送指定标签到远程gitpush origin v1.0.0# 推送所有标签到远程gitpush origin --tags# 删除本地标签gittag -d v1.0.0# 删除远程标签gitpush origin --delete v1.0.0

核心原则&注意事项

  1. 未推送到远程的修改:可大胆用git reset/git rebase调整;
  2. 已推送到远程的修改:优先用git revert而非git reset --hard,避免破坏协作历史;
  3. 冲突解决:冲突文件中<<<<<<< HEAD是当前分支内容,=======分隔,>>>>>>> 分支名是合并分支内容,手动编辑后保存再提交;
  4. SSH免密:克隆/推送用SSH地址需先配置SSH密钥(本地生成公钥,添加到Git平台账号)。

以上是90%日常开发场景的核心命令,可根据实际需求组合使用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 21:28:29

终极手绘风格组件库:wired-elements完全使用指南

终极手绘风格组件库&#xff1a;wired-elements完全使用指南 【免费下载链接】wired-elements 项目地址: https://gitcode.com/gh_mirrors/wir/wired-elements 想要为你的Web项目注入独特的创意和个性吗&#xff1f;wired-elements正是你需要的完美解决方案&#xff01…

作者头像 李华
网站建设 2026/4/23 10:51:24

彻底解决Windows系统卡顿:Wsappx进程高占用的完整修复方案

彻底解决Windows系统卡顿&#xff1a;Wsappx进程高占用的完整修复方案 【免费下载链接】Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe.Appx解决Wsappx进程占用问题的必备组件 Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe.Appx —— 解决Wsappx进程占…

作者头像 李华
网站建设 2026/4/23 10:50:38

数字艺术史中的图像标注标准化研究:文献综述与方法论探讨

数字艺术史中的图像标注标准化研究&#xff1a;文献综述与方法论探讨 核心文献&#xff1a;Maronet与Truc的标注共享实践研究 论文信息 La Maronet&#xff08;法国国家科学研究中心&#xff09;与Alice Truc&#xff08;雷恩第二大学&#xff09;于2025年6月在《Transforma…

作者头像 李华
网站建设 2026/4/23 13:38:22

立即实操的“帮助下决策或者判断决策”的小方法

文章目录前言一、达成目标的方法本质二、“下决策或者判断决策”的方法1.思考决策“极好”和“极坏”的情况总结前言 人们一天平均要做出大约35000个决定。 这种决策的过程消耗了大量的能量资源&#xff0c;而同时自控力也是稀有资源&#xff0c;我们都想着要把它用到“更重要…

作者头像 李华
网站建设 2026/4/23 14:59:57

Bosque语言:下一代编程范式的开发体验革命

在当今云原生和分布式系统蓬勃发展的时代&#xff0c;开发者们面临着一个核心矛盾&#xff1a;如何在保持开发效率的同时&#xff0c;确保系统的可靠性和可维护性&#xff1f;Bosque语言的出现&#xff0c;为我们提供了一种全新的解决方案。 【免费下载链接】BosqueLanguage Th…

作者头像 李华
网站建设 2026/4/23 12:10:42

nerfstudio与Blender Python API:三步实现3D建模自动化工作流

nerfstudio与Blender Python API&#xff1a;三步实现3D建模自动化工作流 【免费下载链接】nerfstudio A collaboration friendly studio for NeRFs 项目地址: https://gitcode.com/GitHub_Trending/ne/nerfstudio 你是否曾因手动调整3D模型的顶点和纹理而耗费数小时&am…

作者头像 李华