【前端工程化指南】Git常见操作之保存更改相关操作

保存更改操作

在Git中保存文件更改与其他软件不太一样,这是因为Git在本地仓库与用户之间还存在一个暂存区,因此想要保存文件必须经过两个流程:保存更改至暂存区------>提交更改到本地仓库。并且当更改文件处于不同位置时,拥有不同的状态:

  • 已修改(Modified):文件已被修改,但尚未保存到暂存区。
  • 已暂存(Staged):修改的文件已经添加到暂存区,准备提交到版本控制系统。
  • 已提交(Committed):更改已经提交到本地仓库。

通过这两个步骤,您可以将文件的更改保存到Git的版本历史记录中,以便日后查看、回滚或与其他开发者共享。暂存区的存在使您能够选择性地将更改提交,而不是一次性提交所有更改,从而提供了更大的灵活性

查看文件状态

我们可以通过以下命令查看文件当前的状态

shell 复制代码
git status [--short]
  • --short(可选):指定为简洁模式显示。

暂存更改

我们可以通过以下命令暂存文件的更改

shell 复制代码
git add <file|dir>
  • <file|dir>(必须):指定需要暂存的文件或是文件夹,可使用通配符。

取消暂存更改

我们可以通过以下命令取消暂存文件的更改

shell 复制代码
git restore --staged <file|dir>

提交到本地仓库

我们可以通过以下命令将修改的文件提交到本地仓库

shell 复制代码
git commit [-a] [-m "message"]
  • -a(可选):选择更改的文件提交,即便是未暂存的文件也可直接提交。
  • -m "message"(可选):指定提交的消息。

查看提交记录

我们可以通过以下命令查看仓库的提交记录

shell 复制代码
git log [--oneline] [--author="Author Name"] [--since="yyyy-mm-dd"] [--until="yyyy-mm-dd"] [--grep="keyword"]
  • --oneline(可选):以简洁的单行格式显示提交记录。
  • --author="Author Name"(可选):只显示指定作者的提交记录。
  • --since="yyyy-mm-dd"(可选):只显示指定日期之后的提交记录。
  • --until="yyyy-mm-dd"(可选):只显示指定日期之前的提交记录。
  • --grep="keyword"(可选):只显示包含指定关键字的提交记录。

回退提交

我们可以通过以下命令回退提交

shell 复制代码
git reset [--soft|--mixed|--hard] HEAD~<number>
  • --soft|--mixed|--hard(可选):回退后提交的文件状态。
    • --soft:提交的文件状态更改为已暂存。
    • --mixed:提交的文件状态更改为已修改。
    • --hard:提交的文件直接删除。
  • <number>(必须):指定回退到最近第几次提交记录。

点击链接或微信搜索"汪啊汪" ,关注我及时掌握最新动动态

完整手册可关注该仓库,如有帮助,麻烦给个✨

该站点也会同步更新,已满足PWA,您可安装到桌面随时访问

转载需要经过本人同意,并标明出处!

相关推荐
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
ew452182 小时前
ElementUI表格表头自定义添加checkbox,点击选中样式不生效
前端·javascript·elementui
suibian52352 小时前
AI时代:前端开发的职业发展路径拓宽
前端·人工智能
Moon.92 小时前
el-table的hasChildren不生效?子级没数据还显示箭头号?树形数据无法展开和收缩
前端·vue.js·html
垚垚 Securify 前沿站2 小时前
深入了解 AppScan 工具的使用:筑牢 Web 应用安全防线
运维·前端·网络·安全·web安全·系统安全
工业甲酰苯胺5 小时前
Vue3 基础概念与环境搭建
前端·javascript·vue.js
mosquito_lover16 小时前
怎么把pyqt界面做的像web一样漂亮
前端·python·pyqt
柴柴的小记9 小时前
前端vue引入特殊字体不生效
前端·javascript·vue.js
柠檬豆腐脑9 小时前
从前端到全栈:新闻管理系统及多个应用端展示
前端·全栈
bin91539 小时前
DeepSeek 助力 Vue 开发:打造丝滑的颜色选择器(Color Picker)
前端·javascript·vue.js·ecmascript·deepseek