Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
该命令是否为;git重置—硬重置<;承诺>&引用;是否删除另一个分支中的提交历史记录?_Git_Git Reset - Fatal编程技术网

该命令是否为;git重置—硬重置<;承诺>&引用;是否删除另一个分支中的提交历史记录?

该命令是否为;git重置—硬重置<;承诺>&引用;是否删除另一个分支中的提交历史记录?,git,git-reset,Git,Git Reset,比如说,到目前为止,我提交了a、b、c、d。我目前在d中,我想回到a a和d在master分支中b和c是temp分支 在这种情况下,如果我运行git reset--hard,如果在master分支上运行reset命令,则不会更改另一个分支(temp)的提交历史记录 reset命令实际上永远不会删除提交或更改当前未签出的分支的内容。只需移动你的头部指针即可 值得一提的一个非常有用的工具是。每次创建提交(或更新分支的提示)时,reflog中都会存储一个条目。您可以使用以下命令查看reflog的内容:

比如说,到目前为止,我提交了
a、b、c、d
。我目前在
d
中,我想回到
a

a
d
master
分支中<代码>b和
c
temp
分支


在这种情况下,如果我运行
git reset--hard,如果在
master
分支上运行
reset
命令,则不会更改另一个分支(
temp
)的提交历史记录

reset
命令实际上永远不会删除提交或更改当前未签出的分支的内容。只需移动你的
头部
指针即可

值得一提的一个非常有用的工具是。每次创建提交(或更新分支的提示)时,reflog中都会存储一个条目。您可以使用以下命令查看reflog的内容:
git reflog


因此,如果你觉得自己“丢失”了一个提交,你可以在reflog中搜索它,然后cherry将其取回。

,我看到有人的回答说,
一条警告,git reset将改变历史记录——如果我做了几次提交,然后重置为第一次提交,随后的提交将不再出现在提交历史记录中。
,我想我可能会失去我想回去的一切。他错了吗?您将“丢失”当前所在分支上的提交(但其他分支将保持不变)……但实际上,如果需要,通过在reflog中定位上一点并使用
reset--hard
返回该点,这些提交很容易恢复,明白吗!非常感谢。