- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在我的实验中,我没能发现两者之间的任何功能差异
git reset --hard
和
git reset --merge
使用说明也没有给出任何提示
--hard reset HEAD, index and working tree
--merge reset HEAD, index and working tree
我经常使用 --hard
选项,所以了解它是如何工作的。 --merge
和 --hard
选项有什么区别?
干杯,奥利
也许这里有一个例子,让我们使用以下序列:
cd git_repo
touch file_one
git add file_one
git commit -m "commit one" # sha1 of 123abc
echo "one" >> ./file_one
git commit -a -m "commit two" # sha1 of 234bcd
echo "two" >> ./file_one
git add . # populate index with a change
echo "three" >> ./file_one # populate working area with a change
如果我现在尝试
git reset --merge 123abc
我明白了
error: Entry 'file_one' not uptodate. Cannot merge.
fatal: Could not reset index file to revision '123abc'
原因是file_one在工作区和索引上都有变化
为了解决这个问题我做了
git add .
git reset --merge 123abc
这次成功了,但是,我得到了与 git reset --hard
相同的结果。索引为空,工作区为空,file_one 为空,与第一次提交后一样。
有人能想出说明差异的步骤吗?
最佳答案
来自 git reset manpage :
--hard Matches the working tree and index to that of the tree being switched to. Any changes to tracked files in the working tree since <commit> are lost.--merge Resets the index to match the tree recorded by the named commit, and updates the files that are different between the named commit and the current commit in the working tree.
git reset --merge
是 git reset --hard
的更安全版本,当您的更改和其他人的更改混合在一起时,试图随身携带我们的更改。
关于git - git reset --hard 和 git reset --merge 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1634115/
我是 git 的新手,所以问题可能很简单,git reset --hard HEAD 和 git reset --hard 有什么区别? 最佳答案 HEAD 在您未指定该参数时是隐含的。 但是,您可以
为了恢复工作树和索引中的更改,此答案 ( https://stackoverflow.com/a/5812972/8278160) 建议运行以下命令: git reset --hard 运行它是否与运
这个问题在这里已经有了答案: What's the difference between HEAD^ and HEAD~ in Git? (17 个答案) 关闭 6 年前。 git reset --
我在 Stackoverflow/elsewhere 上尝试了很多链接来正确理解 的行为 git reset --hard option 我知道: 如果它被省略或者它是 origin,则在 origi
只是一个简短的问题。我想知道是否有一个选项或开关可以启用重新加载按钮下的“硬重新加载”和“清空缓存和硬重新加载”选项而无需打开devtools,以便它们始终弹出,即使devtools没有开放。 我知道
我最近在 Chrome 中发现了这个新功能: 我可以找出选项 1 和选项 3 之间的区别,选项 2 可能介于两者之间,但我在任何地方都找不到更精确的信息。 有人知道这 3 个选项的确切行为吗? 最佳答
我正在寻找一种很好的简单方法来查找哪些扇区占用给定文件。我的语言偏好是 C#。 从我的 A-Level Computing 类(class)中,我了解到硬盘驱动器在磁盘的前几 KB 上有一个查找表。在
我相信这是一个被分配的值并且这是无法改变的。一个例子是: int limit =5; for(int i =0 ; i
有些程序可以从硬盘恢复已删除的文件,也有一些程序会覆盖可用空间以防止已删除的文件被恢复。 覆盖可用空间的行为似乎是可以理解的。该程序创建文件并向其中写入任意字节。 但是,当谈到读取已删除的文件时,我感
Python 中有几种用于分割的包和方法。但是,如果我先验地知道某些像素(而不是其他像素)对应于特定对象,我如何使用它来分割其他对象? 哪些在 python 中实现的方法适用于这种方法? 谢谢。 最佳
我试图找到一个文件,然后在不同的目录中创建一个具有相同名称的硬链接(hard link)。但这不起作用,如果我使用 -exec 并在关闭后显示一个结果。我已经让它与 cp 一起工作,但我决定改用硬链接
我想知道是否可以在 Linux 上识别文件(或链接)是否是硬链接(hard link)。例如,如果我创建了: dd if=/dev/urandom bs=1024 count=10000 of=fil
在上次提交后,我的团队认为远程变得太繁重了,最好做一个新的来在 Assets 测试(重 repo )和功能测试(轻 repo )之间拆分任务。所以我做了一个 push --mirror 并创建了一个新
我不确定我是否遇到了默认超时(我可以在某处设置它吗?),但也许我错过了一些东西。当客户端的浏览器建立 websocket 连接时,我保持持久性。然后,在断开连接时,我删除该持久对象。足够简单。当客户端
我正在编写一个备份脚本,它使用硬链接(hard link)来不占用未修改文件的空间。 我想检查给定的文件系统(根据特定目录确定)是否在脚本的开始 支持硬链接(hard link) - 否则,它可能会中
我需要在运行时为路径长度超过 255 个字符的文件创建硬链接(hard link)(这是针对令人恼火的 Excel/Word 2011 限制的解决方法)。但由于稍后可能会再次打开同一个文件,如果我已经
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我的作业要求我访问 test.txt 文档,因此文件名必须硬编码到我的 C 驱动器。我不知道硬编码是什么意思。有人可以帮我解决这个问题吗? 最佳答案 “硬编码”意味着将某些内容放入源代码中。如果您不进
我刚开始玩 Git,想知道一个具体案例: 我错误地做了一个沉重的提交,更糟糕的是我将它推送到远程服务器。 现在我正在尝试使用 git reset --hard v1.0 和 git push -f o
对于 Unix cp,您可以使用 --link 选项。当与文件夹一起使用时,它将 hard link涉及的文件而不是复制,示例 cp --recursive --link foo bar 这在某些情况
我是一名优秀的程序员,十分优秀!