- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想拆分一个提交,但不确定要使用哪个重置选项。
我正在查看页面 In plain English, what does "git reset" do? , 但我意识到我并不真正理解 git 索引或暂存区是什么,因此解释没有帮助。
此外,--mixed
和 --soft
的用例在我看来在那个答案中是一样的(当你想修复并重新提交时)。有人可以进一步分解吗?我意识到 --mixed
可能是一个不错的选择,但我想知道为什么。最后,--hard
呢?
谁能给我一个工作流程示例,说明如何选择这 3 个选项?
最佳答案
当您修改存储库中的文件时,更改最初是未暂存的。为了提交它,您必须使用 git add
暂存它,即将它添加到索引中。当您进行提交时,提交的更改是那些已添加到索引中的更改。
git reset
至少会更改当前分支 (HEAD
) 指向的位置。 --mixed
和 --soft
之间的区别在于你的索引是否也被修改了。所以,如果我们在 master
分支上进行这一系列提交:
- A - B - C (master)
HEAD
指向C
并且索引匹配C
。
当我们运行 git reset --soft B
时,master
(因此 HEAD
)现在指向 B
,但索引仍然有 C
的变化; git status
将显示它们已上演。因此,如果我们此时运行 git commit
,我们将获得一个新的提交,其中包含与 C
相同的更改。
好的,那么从这里重新开始:
- A - B - C (master)
现在让我们做 git reset --mixed B
。 (注意:--mixed
是默认选项)。 master
和 HEAD
再次指向 B,但这次索引也被修改为匹配 B
。如果我们此时运行 git commit
,则不会发生任何事情,因为索引与 HEAD
匹配。我们仍然在工作目录中进行更改,但由于它们不在索引中,git status
将它们显示为未暂存。要提交它们,您需要 git add
然后像往常一样提交。
最后,--hard
与 --mixed
相同(它改变了你的 HEAD
和索引),除了 --hard
还会修改您的工作目录。如果我们在 C
并运行 git reset --hard B
,那么在 C
中添加的更改以及您未提交的任何更改有,将被删除,并且您的工作副本中的文件将匹配提交 B
。由于您可能会以这种方式永久丢失更改,因此您应该始终在执行硬重置之前运行 git status
以确保您的工作目录是干净的或者您可以接受丢失未提交的更改。
最后,可视化:
关于git - git reset --mixed、--soft 和 --hard 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3528245/
任何调用 npm run升级到 Mix v4.x 后导致 mix 未定义。我在每次运行时都会看到这样的错误: > npm run development > @ development /projec
升级到 Laravel-Mix 6 之前: Laravel-Mix 版本:5.0.9(支持 Webpack 4) NPM 版本:6.14.5 通过这个 laravel 混合版本,我能够通过运行 pac
在 Laravel 5.5 中,我使用 laravel-mix 来编译我的 Assets 。 但是我不清楚:mix.js 之间有什么区别?和 mix.scripts为什么我要使用一个而不是另一个? 最
我有以下 webpack.mix.js: const { mix } = require('laravel-mix'); mix.scripts([ 'resources/assets/js/
目前,我正在寻找在运行 mix 任务时添加 SQL 语句日志记录的方法。例如,mix ecto.rollback 和 mix ecto.migrate 等命令输出信息: ... 13:45:53.01
我知道这个问题已经被问过了,答案总是单独的答案。 但是我看到 Mix.EctoSQL.ensure_started 提到了很多,这似乎是公认的方法。 然而,在 ecto_sql 3.1.2 中,此功能
mix compile ==> gettext could not compile dependency :gettext, "mix compile" failed. You can recompi
我正在使用 Laravel 5.5 ,在 webpack.mix 文件中,mix.styles 函数完美运行,我完美地编译了我的 css 文件,但是mix.scripts 不编译我在文档中找到的 js
如果我有一个mix.exs文件,例如: defmodule Mix.Tasks.My_task do use Mix.Task @shortdoc "Perform my task" de
这是我第一次使用 Laravel Mix、NodeJS 和 NPM。我试图遵循 Laravel 的文档并相信我做得对,但谁知道呢。 我正在尝试将多个 CSS 文件合并为一个。 webpack.mix.
我对系统发育回归模型比较陌生。过去,当我的树中每个物种只有 1 个条目时,我使用了 PGLS。现在我有一个包含总共 9 个物种的数千条记录的数据集,我想运行一个系统发育模型。我阅读了最常见软件包(例如
TLDR; 您是否必须链接 Laravel Mix 方法来维护执行顺序?是否有任何异步方法会阻止使用以下非链接模式,mix.scripts(); mix.js(); mix.sass(); ? 我运行
我想为支持“显示:网格”但不支持 IE/MS Edge 的浏览器提供特定部分的 CSS。你如何混合正面和负面的@support 查询? 你能写“and not”还是有类似的符号?不幸的是,以下方法不起
在生产中,加载我使用的 Assets ,例如: 并期望在编译时看到: 但是我只是看到相对路径: webpack.mix.js: mix .js('resources/assets/js/ap
有人可以向我解释一下 MIX 中的除法(来自 Knuth 的 TAOCP)是如何在字节到字节的基础上工作的吗? rA = |-| . . . .0| rX = |+|1235|0|3|1| 内存位置
我正在尝试使用我从 themeforest 与 Laravel 购买的主题 我已经使用 mix.copy 将我的字体从 node_modules 移动到我的 public 目录,这工作正常。/ 但是,
至少就在两周前,我一直在代理后面使用mix。但是我昨天发现 mix 无法在代理后面工作。混合版本是1.1.1。mix local.hex 运行。但是mix deps.get 出现错误。 $ mix d
我有一个 C++ 程序,我在其中使用递归迭代器遍历我作为参数提供给程序的文件夹。 问题是,当我在路径上调用 .string 时,我在路径中混合了\和/。使用 .generic_string 修复了这个
所以我有一个 JS 文件,我想使用 Laravel mix 进行混合、复制和压缩;我的 webpack.mix.js 文件如下所示: const mix = require('laravel-mix'
我有一个 Elixir 伞形项目。这个项目中的每个应用程序都可以使用 mix escript.build 编译成可执行文件。 我正在尝试从伞项目的根目录运行此命令并收到以下错误 ** (Runtime
我是一名优秀的程序员,十分优秀!