两者之间有什么区别
sizeof(set)
和
set
希望这没什么大不一样,因为我可能只是偶然地弄砸了一些东西。
答案 0 :(得分:1)
以 git reset --soft <commit>
的形式,git只会更新它所坐的“提交”,而不会触及索引或工作树。
当索引或工作树的状态准确但它基于错误的提交(或者您想要删除一个提交,因此将--soft重置为先前的提交)时,这有时会很方便。例如:
清除历史记录:
git reset --soft <first-commit-in-log>
git commit --amend
这将产生git替换第一个提交并丢弃所有后续提交的效果,但仍具有完全相同的文件。
以 git reset origin/dev
的形式,git将获取任何原始/开发内容(树或指向树的提交)的内容,并使用其内容更新索引。这仍然不会影响工作树,但是索引中的文件将显示为准备提交(origin/dev
中的文件)。
This is useful for yanking a file out of history
git reset <commit> path/to/file
git checkout path/to/file
第一个命令从path/to/file
的历史记录中提取<commit>
的版本并将其放入索引。第二个命令获取索引的新内容,并覆盖工作树中该文件的内容。
git reset
是一种功能非常强大的命令,具有很多可能性。建议您克隆一个仓库并使用它。