git如何重置<;文件名>;工作

git如何重置<;文件名>;工作,git,add,reset,staging,Git,Add,Reset,Staging,关于git reset有两种说法是正确的,但考虑到我对git工作原理的了解有限,我发现它们相互矛盾 有没有办法调和这两种说法 报表1: Git reset file1将从临时区域取消添加file1 当您将file1添加到暂存中,并且您改变了主意并希望将其从暂存区域中删除时,将使用此命令 报表2: Git reset file1将文件从头部复制到暂存区域 根据语句2,git reset将文件添加到暂存区域 那么,当文件刚从HEAD复制到staging区域时,如何将其从staging区域删除?HEA

关于
git reset
有两种说法是正确的,但考虑到我对git工作原理的了解有限,我发现它们相互矛盾

有没有办法调和这两种说法

报表1:
Git reset file1
将从临时区域取消添加file1

当您将file1添加到暂存中,并且您改变了主意并希望将其从暂存区域中删除时,将使用此命令

报表2:
Git reset file1
将文件从头部复制到暂存区域

根据语句2,
git reset
将文件添加到暂存区域


那么,当文件刚从HEAD复制到staging区域时,如何将其从staging区域删除?

HEAD指当前分支的HEAD,即最新提交。更改文件时,工作副本中的文件与文件头不同。暂存此差异意味着将文件从工作副本复制到暂存区域


取消堆叠意味着从暂存区移除与头部的差异。因此,通过将状态从HEAD复制回staging区域来完成取消挂起。

HEAD指的是当前分支的HEAD,即最新提交。更改文件时,工作副本中的文件与文件头不同。暂存此差异意味着将文件从工作副本复制到暂存区域


取消堆叠意味着从暂存区移除与头部的差异。因此,可以通过将状态从磁头复制回暂存区来取消暂存。

git重置如何工作?

让我们举一个例子:

我们将octodog.txt添加到我们的家庭octofamily

git add octofamily/octodog.txtcode
所以现在,octodog是这个家庭的一部分,octocat(我们以前的文件)都很沮丧

由于我们爱章鱼猫胜过爱章鱼狗,我们将通过删除octodog.txt来扭转它的皱眉

git checkout -- octocat.txt
可以使用git reset命令取消文件的存储。继续并删除octofamily/octodog.txt

git reset octofamily/octodog.txt
git reset在解压octodog.txt方面做得很好,但是你会注意到他仍然在那里。他只是不再演戏了。如果我们能回到章鱼狗来破坏聚会之前的情形,那就太好了

可以使用以下命令将文件更改回上次提交时的状态:

git签出--

继续,并清除自上次提交octocat.txt以来的所有更改

git checkout -- octocat.txt
供进一步参考和了解git


希望它能消除您所有与git相关的疑问:)

git重置如何工作?

让我们举一个例子:

我们将octodog.txt添加到我们的家庭octofamily

git add octofamily/octodog.txtcode
所以现在,octodog是这个家庭的一部分,octocat(我们以前的文件)都很沮丧

由于我们爱章鱼猫胜过爱章鱼狗,我们将通过删除octodog.txt来扭转它的皱眉

git checkout -- octocat.txt
可以使用git reset命令取消文件的存储。继续并删除octofamily/octodog.txt

git reset octofamily/octodog.txt
git reset在解压octodog.txt方面做得很好,但是你会注意到他仍然在那里。他只是不再演戏了。如果我们能回到章鱼狗来破坏聚会之前的情形,那就太好了

可以使用以下命令将文件更改回上次提交时的状态:

git签出--

继续,并清除自上次提交octocat.txt以来的所有更改

git checkout -- octocat.txt
供进一步参考和了解git


希望它能消除您所有与git相关的疑问:)

我不确定您在哪里读到这两条语句,但中的描述似乎很清楚。我不确定您在哪里读到这两条语句,但中的描述似乎很清楚。好的,这是关于删除差异,而不是删除文件。所以,在我将修改过的跟踪文件添加到暂存区域之前,它已经在那里了?在提交更改时,暂存区域将写入存储库中的树,并创建一个引用该新树的提交。在此之后,暂存区域保持原样,因此是的,状态保持上次提交时的状态。此外,更改标头(即通过使用git checkout切换分支)可以被认为是首先将索引更新为提交状态(请参阅),然后将任何差异应用于工作副本(请参阅)。因此,在本例中,暂存区域还包含最新提交的状态。好的,这是关于删除差异,而不是删除文件。所以,在我将修改过的跟踪文件添加到暂存区域之前,它已经在那里了?在提交更改时,暂存区域将写入存储库中的树,并创建一个引用该新树的提交。在此之后,暂存区域保持原样,因此是的,状态保持上次提交时的状态。此外,更改标头(即通过使用git checkout切换分支)可以被认为是首先将索引更新为提交状态(请参阅),然后将任何差异应用于工作副本(请参阅)。因此,在本例中,暂存区域还包含最新提交的状态。