首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么'git commit'没有保存我的更改?

在 Git 中,git commit 命令用于将本地的更改保存到暂存区。当你执行 git commit 命令时,Git 会将当前暂存区中的所有更改保存到一个新的提交(commit)中。这个提交包含了你在该暂存区所做的所有更改,以及一个描述该提交的信息。

当你运行 git commit 命令时,如果更改了多个文件,则 Git 会按照以下顺序进行提交:

  1. 首先,它会检查当前是否已经存在一个提交,如果存在,则不会创建新的提交,而是将当前更改添加到该提交中。
  2. 如果当前没有提交,则 Git 会创建一个新的提交,并将更改保存在该提交中。

因此,当你执行 git commit 命令时,Git 会将当前的更改保存到一个新的提交中,而不会直接将更改保存到本地文件系统中。如果你需要将更改保存到本地文件系统中,则可以使用 git stash 命令将当前的工作暂存起来,然后使用 git apply 命令将暂存区中的更改应用到当前的工作区。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么HibernateDaoSupport没有注入SessionFactory

前言 很早之前,就打算写这一篇文章了(其实有很多源码分析文章打算写,但是自己太拖延了导致很多文章搁浅了)。为什么要写这一文章呢?...事情缘由是同事在SpringBoot项目中有一个A类继承HibernateDaoSupport,但是程序运行总是抛出没有成功注入SessionFactory错误,后来debug Spring源码解决了这个问题...这个错误原因是A类RootBeanDefinition中autowireMode值为0,在AbstractAutowireCapableBeanFactory类中populateBean方法中没有执行到...autowireByName(beanName, mbd, bw, newPvs),导致SessionFactory属性没有注入成功。...beanFactory)方法中不要使用beanFactory.getBean()会造成类性早熟,最终后果就是类中一些属性没有成功注入。

3K10

为什么用了Redis之后,系统性能却没有提升

很多时候,我们在面对一些热点数据时候,通常会选择将热点数据放到redis中,以减少数据库查询,减轻数据库压力。但是如果我们使用redis方式不对,那么可能导致系统性能不升反降。...使用缓存场景不正确 我们知道redis是基于内存实现,所以速度会非常快,我们通常会将热点数据放到redis中,以减少对数据库压力。...但是我们为了保证缓存与数据库数据一致性,在数据进行修改时候,我们就需要对缓存进行维护。 所以如果数据变更很频繁的话,就需要对缓存进行频繁维护,缓存命中率也会特别低。...缓存使用场景应该是修改频率不高,查询频率较高场景。如果使用redis场景不对,通常会导致我们得不偿失。 2. key设计不当导致产生了bigkey 什么是bigkey?...如果我们选择appendfsync always的话,虽然数据安全性高,但是每次写入都要刷盘会导致redis性能很大程度降低,所以我们一般会选择appendfsync everysec策略来对数据进行持久化

1.8K10

CPS推广:为什么佣金还没有到账呢

点击登录推广后台,查看银行信息:https://console.cloud.tencent.com/spread/income图片问:为什么佣金没有到账呢?...佣金次月月结,当月推广订单佣金预计次月月底28~31日到账。...如:11月份推广佣金,需要等到该月结束,次月月结即12月,核算11月推广佣金,扣减掉退款降配订单佣金,确定11月总到账佣金,确定12月推广积分,月结结束后更新12月会员星级,最后财务流程付款,...(3)多次更改银行账号这种情况比较少见,如某推广者刚开始后台填写了银行账号A,后来登录后台修改为银行账号B。最后可能银行卡B未收到佣金,而是支付到了银行账号A。...即:实收推广佣金=应收推广佣金-代扣税费(如有)点击查看税费计算说明问:在哪里查看我佣金收入呢?目前CPS推广会员积分体系,根据月结佣金当月会员星级,佣金分期支付。

10.4K60

#PY小贴士# 抓下来网页为什么没有内容?

刚刚接触爬虫同学常会遇到这样疑问: 为什么网页上面有的信息,用代码抓下来里面就没有,也没有报错?...除开请求本身失败或被反爬情况外,通常这种问题原因其实是: 页面上本来就没有你要内容! 那么网页上内容是哪里来?...现在绝大多数网站内容并非直接通过你访问 URL 请求直接返回,而是会通过一种叫做 AJAX 方法,在页面的基本框架加载完毕后,再通过其他请求向后台服务器再次请求获取。...具体细节不展开了,你可以网上去按给到关键字去搜索相关内容,下次也会专门发下这方面的讲解文章。 那开发者工具里为什么又会在代码里显示出这些内容呢?...这是因为开发者工具元素(Elements)项显示并不是网页原始代码,而是浏览器将页面加载并渲染后结果,它里面包含了异步请求拿到数据和前台JS代码执行后对页面内容修改。

2.1K20

#PY小贴士# git仓库为什么每次提交都有很多改动?

git 是如今最流行代码版本管理工具,没有之一。...今天说一个 git 使用时细节:.gitignore 我们在使用 git 管理代码时,如果默认把项目里所有文件都 add 进去,加入到仓库中,会有几方面问题: 不必要文件被加入,导致仓库很大...其实就一个原则:git 只用来上传代码,其他都不应该加到仓库里 应当忽略文件包括: 系统生成临时文件 编译产生结果文件(比如 .pyc) 用户数据(这个尤其不能加仓库里) 个人开发环境相关配置文件...x.pyc # 忽略根目录下 TMP 文件夹中文件 /TMP # 忽略所有名为 build 文件夹中文件 build/ # 忽略名为 doc 文件夹里 .txt 结尾文件(不包含子目录)...doc/*.txt # 忽略名为 doc 文件夹里 .pdf 结尾文件(包含子目录) doc/**/*.pdf 另外,Github 也提供了很多不同语言/项目适用 .gitignore 文件模板供使用

60610

Git 不要只会 pull 和 push,试试这 5 条提高效率命令

stash 命令能够将还未 commit 代码存起来,让你工作目录变得干净。 应用场景 猜你心里一定在想:为什么要变干净?...当你修复完线上问题,切回 feature 分支,想恢复代码也只需要: git stash apply 相关命令 # 保存当前未commit代码 git stash # 保存当前未commit代码并添加备注...cherry-pick 描述 给定一个或多个现有提交,应用每个提交引入更改,为每个提交记录一个新提交。这需要您工作树清洁(没有从头提交修改)。...revert 描述 给定一个或多个现有提交,恢复相关提交引入更改,并记录一些这些更改新提交。这就要求你工作树是干净没有来自头部修改)。...此选项指定主线父编号(从1开始),并允许 revert 反转相对于指定父编号更改 理解是因为合并提交是两条分支交集节点,而 git 不知道需要撤销哪一条分支,需要添加参数 -m 指定主线分支

1.1K20

Git 不能只会 pull 和 push,试试这5条提高效率命令吧!

可大多数工程师还是只会最基本保存、拉取、推送,遇到一些commit管理问题就束手无策,或者用一些不优雅方式解决。 本文分享在开发工作中实践过实用命令。...stash 命令能够将还未 commit 代码存起来,让你工作目录变得干净。 应用场景 猜你心里一定在想:为什么要变干净?...cherry-pick 描述 给定一个或多个现有提交,应用每个提交引入更改,为每个提交记录一个新提交。这需要您工作树清洁(没有从头提交修改)。...revert 描述 给定一个或多个现有提交,恢复相关提交引入更改,并记录一些这些更改新提交。这就要求你工作树是干净没有来自头部修改)。...此选项指定主线父编号(从1开始),并允许 revert 反转相对于指定父编号更改 理解是因为合并提交是两条分支交集节点,而 git 不知道需要撤销哪一条分支,需要添加参数 -m 指定主线分支

50520

Git 不能只会 pull 和 push,试试这5条提高效率命令吧!

可大多数工程师还是只会最基本保存、拉取、推送,遇到一些commit管理问题就束手无策,或者用一些不优雅方式解决。 本文分享在开发工作中实践过实用命令。...该命令将保存本地修改,并恢复工作目录以匹配头部提交。 stash 命令能够将还未 commit 代码存起来,让你工作目录变得干净。 应用场景 猜你心里一定在想:为什么要变干净?...cherry-pick 描述 给定一个或多个现有提交,应用每个提交引入更改,为每个提交记录一个新提交。这需要您工作树清洁(没有从头提交修改)。...revert 描述 给定一个或多个现有提交,恢复相关提交引入更改,并记录一些这些更改新提交。这就要求你工作树是干净没有来自头部修改)。...此选项指定主线父编号(从1开始),并允许 revert 反转相对于指定父编号更改 理解是因为合并提交是两条分支交集节点,而 git 不知道需要撤销哪一条分支,需要添加参数 -m 指定主线分支

38140

Git 不要只会 pull 和 push,学学这 5 条提高效率命令

使用 git 作为代码版本管理,早已是现在开发者必备技能,但是大多数开发者还是只会最基本保存,拉去,推送,遇到一些 commit 管理问题就束手无策,或者用一些不优雅方式解决。...而 git reset –soft 作用正如其名, --soft(柔软) 除了回溯节点外,还会保留节点修改内容。应用场景:回溯节点,为什么要保留修改内容?...cherry-pick描述:给定一个或多个现有提交,应用每个提交引入更改,为每个提交记录一个新提交。这需要您工作树清洁(没有从同意提交修改)。...revert描述:给定一个或多个现有提交,恢复相关提交引入更改,并记录一些这些更改新提交,这就要求你工作树是干净没有来自头部修改)。将现有的提交还原,恢复提交内容,并生成一条还原记录。...为什么会这样,在官方文档中有接受:通常无法 revert 合并,因为您不知道合并哪一侧应被视为主线,此选项指定父编号(从 1 开始),并允许 revert 反转相对于指定父编号更改理解是因为合并提交是两条分支交集节点

42220

git rebase 合并多个提交

rebase可以修改记录,总是做小更改就提交,仓库有好多看起来很乱 git没有可以把最后一个提交提交到服务器能力,可以用rebase来做到把多个提交合并为一个。...下面的代码可以让大家新建一个分支并且到这个分支来做把多个提交合并为一个 git branch 更改 git checkout 更改 提交更改 git commit 更改 然后到主分支看最新提交 git...checkout master git log 记下那提交 id 然后 把更改合并master分支 git merge 更改id 用rebase把更改多个合为最后一个 git rebase -i...记下提交 在打开文件pick除了第一个pick,改为s 修改方法:按下 i 修改 修改完,按esc,然后输入:wq保存 然后git会让你写修改commit,按i修改,#开头是注释,commit...假如我有三个提交 commit : A commit : B commit : C 合并后就可以写commit : ABC 写完按esc,:wq保存 提交就是最后一个保存 commit 这样可以多个提交合并为一个

93010

git rebase 合并多个提交

rebase可以修改记录,总是做小更改就提交,仓库有好多看起来很乱 git没有可以把最后一个提交提交到服务器能力,可以用rebase来做到把多个提交合并为一个。...下面的代码可以让大家新建一个分支并且到这个分支来做把多个提交合并为一个 git branch 更改 git checkout 更改 提交更改 git commit 更改 然后到主分支看最新提交 git...checkout master git log 记下那提交 id 然后 把更改合并master分支 git merge 更改id 用rebase把更改多个合为最后一个 git rebase -i 记下提交...在打开文件pick除了第一个pick,改为s 修改方法:按下 i 修改 修改完,按esc,然后输入:wq保存 然后git会让你写修改commit,按i修改,#开头是注释,commit是合并多个...假如我有三个提交 commit : A commit : B commit : C 合并后就可以写commit : ABC 写完按esc,:wq保存 提交就是最后一个保存 commit 这样可以多个提交合并为一个

1.1K40

Git 5条提高效率命令

stash 命令能够将还未 commit 代码存起来,让你工作目录变得干净 git stash # 保存起来 git stash apply # 释放出来 # 保存当前未commit代码并添加备注...这使您所有更改文件更改为“要提交更改”。 回退你已提交 commit,并将 commit 修改内容放回到暂存区。...这需要您工作树清洁(没有从头提交修改)。 将已经提交 commit,复制出新 commit 应用到分支里 应用场景 commit 都提交了,为什么还要复制新出来?...revert 给定一个或多个现有提交,恢复相关提交引入更改,并记录一些这些更改新提交。这就要求你工作树是干净没有来自头部修改)。...) HEAD@{3}: commit (initial): first update 回到想要commit git reset --hard 35c16d8 有个大胆想法 小伙伴在平常有没有遇到以下这种情况

17620

Git】:基础基础

可以一次性添加所有嵌套文件和目录 11.2. git commit git commit 命令会取出暂存区文件并保存到仓库中。..." 分支 无法删除当前所在分支 如果某个分支上有任何其他分支上都没有包含 commit(也就是这个 commit 是要被删除分支独有的),git 不会删除该分支。...要解决文件中冲突: 找到并删掉存在合并冲突指示符所有行 决定保留哪些行 保存文件 暂存文件 提交 commit 13. 撤销更改 13.1....更改最后一个 commit git commit --amend 如果你工作目录没有内容(也就是仓库中没有任何未 commit 更改),那么运行 git commit --amend 将使你能够重新提供...git commit --amend 使你能够包含忘记包含文件(或文件更改) 编辑文件 保存文件 暂存文件 运行 git commit --amend 13.2.

72241

一个故事带你了解版本控制

看到很多人(也包括)都在运行诸如 git pull,git push 以及运行其他一些不理解命令。为什么既要 commit 还要 push?为什么每个新特性都需要新建一个分支?...想将设计保存在本地—git commit 提交就像将更改保存在本地,每一次新提交都有一个数字,也代表了你可以返回保存点,就像在任务游戏中你可以返回到之前保存点一样,所以当张三建造橱柜时候,他可以提交它们以保证他更改不会丢失...想将设计保存在存储库中安全位置—git push 存储库是存储所有分支地方,包括主分支,它就像一个文件夹,里面有关于项目的所有文件,包括它们修订历史。...张三厨房做完了,我们设计不匹配—合并冲突(Merge conflicts) 试图将张三新变更合并到我分支中,但是如果没有把张三开放式厨房一侧墙砌好,会发生什么呢?...我们设计存在冲突,Git 可以自动解决一些冲突,但不能解决所有冲突,Git 有时需要你帮助来确定应该保留哪些更改,因为其中一些更改是相互冲突

47440

Git 不要只会 pull 和 push,学学这 5 条提高效率命令(下)

使用git作为代码版本管理,早已是现在开发者必备技能,但是大多数开发者还是只会最基本保存,拉去,推送,遇到一些commit管理问题就束手无策,或者用一些不优雅方式解决。...revert描述:给定一个或多个现有提交,恢复相关提交引入更改,并记录一些这些更改新提交,这就要求你工作树是干净没有来自头部修改)。将现有的提交还原,恢复提交内容,并生成一条还原记录。...revert合并提交在gitcommit记录里,还有一种类型是合并提交,想要revert合并提交,使用上会有些不一样。现在master分支里多了条合并提交。...为什么会这样,在官方文档中有接受:通常无法revert合并,因为您不知道合并哪一侧应被视为主线,此选项指定父编号(从1开始),并允许revert反转相对于指定父编号更改理解是因为合并提交是两条分支交集节点...因为使用revert后,v2.0分支commit还是会保留再master分支记录中,当你再次合并进去时,git判断有相同commitHash,就忽略了相关commit需改内容。

34720

Git 版本控制系统完整指南

切换平台: 将焦点转向 GitHub 将焦点转向 Bitbucket 将焦点转向 GitLab 为什么使用 Git? 超过 70% 开发者使用 Git! 开发者可以从世界任何地方协同工作。...然后保存或移动它到你刚刚创建文件夹中。 在这个示例中,将使用一个简单 HTML 文件,类似于这样: This is the first file in my new Git Repo. 然后将它保存到我们新文件夹中,命名为 index.html。...来将其包含在将要提交内容中) index.html 没有添加到提交但未跟踪文件存在(使用 "git add" 来跟踪) 现在 Git 已经意识到这个文件了,但还没有将它添加到我们仓库中!...添加提交可以跟踪我们进度和更改Git 将每个提交视为更改点或“保存点”。如果你发现 bug 或想要做更改,它是项目中可以返回一个点。 当我们提交时,应该始终包含一条消息。

14300

程序员20大Git面试问题及答案

你应该说明 “工作目录” 和 “裸存储库” 之间区别。Git “裸” 存储库只包含版本控制信息而没有工作文件(没有工作树),并且它不包含特殊 .git 子目录。...从图中可以看出,每个更改首先在暂存区域中进行验证,将其称为“stage file”,然后将更改提交到存储库。9.什么是 git stash?首先应该解释 git stash 必要性。...解决这个问题答案是 git stash。再解释什么是git stash。stash 会将你工作目录,即修改后跟踪文件和暂存更改保存在一堆未完成更改中,你可以随时重新应用这些更改。...12.git config 功能是什么?首先说明为什么我们需要 git config。git 使用你用户名将提交与身份相关联。...工作区:表示新增或修改了某个文件,但还没有提交保存;暂存区:表示把已新增或修改文件,放在下次提交时要保存清单中;本地仓库:文件已经被安全地保存在本地仓库中了。

17010

2022 最新 Git 面试题

你应该说明 “工作目录” 和 “裸存储库” 之间区别。 Git “裸” 存储库只包含版本控制信息而没有工作文件(没有工作树),并且它不包含特殊 .git 子目录。...从图中可 以看出,每个更改首先在暂存区域中进行验证,将其称为“stage file”,然后将更改提交到存储库。 9.什么是 git stash? 首先应该解释 git stash 必要性。...stash 会将你工作目录,即修改后跟踪文件和暂存更改保存在一堆未完成更改中,你可以随时 重新应用这些更改。 10.什么是git stash drop?...12.git config 功能是什么? 首先说明为什么我们需要 git config 。 git 使用你用户名将提交与身份相关联。...工作区:表示新增或修改了某个文件,但还没有提交保存; 暂存区:表示把已新增或修改文件,放在下次提交时要保存清单中; 本地仓库:文件已经被安全地保存在本地仓库中了。

9810
领券