我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没有执行 git 承诺 。 我如何撤销此操作, 使这些更改不被包含在承诺中 ?
我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没有执行 git 承诺 。 我如何撤销此操作, 使这些更改不被包含在承诺中 ?
当前回答
也许Git已经进化了 自从你提出问题之后
$> git --version
git version 1.6.2.1
现在,你可以试试:
git reset HEAD .
这应该就是你要找的
其他回答
吉特拥有每一个可以想象到的行动的指令, 但是它需要广泛的知识才能把事情弄好, 并且因为它充其量是反直觉的...
你以前做过的事:
更改文件并使用 git 添加. , 或 git 添加 < file > 。
你想怎样:
删除索引中的文件, 但保留其版本, 并保留工作副本中未承诺的更改 : git 重置 HEAD < file > 将文件重置为 HEAD 最后一个状态, 撤销更改并将其从索引中删除 : # 思考 ` svn return < file\\ IIRC. git 重置 HEAD < file> git checkout < file > # 如果您有一个像 {file} 这样的\\ 一样的\\ branch}, 使用: git checkout - < file > 这是需要的, 因为 git 重置 -- hard HEAD 将不与单个文件一起工作 。 从索引和版本中删除 < file > , 保留未翻过的文件, 工作副本中的更改 : git rm -cacheed < file > 将 < file > 从工作副本和版本中完全删除: git rm < file > 。
如果您在初始承诺中且无法使用 Git 重设, 请声明“ 破产” 并删除. git 文件夹并重新开始
git reset filename.txt
将会从当前索引“ 即将被执行” 区域中删除一个名为文件名. txt 的文件, 而不更改其它内容 。
还有一个互动模式:
git add -i
选择 选项 3 到 取消 添加文件 。 在我的情况中, 我通常要添加多个文件, 用交互模式, 您可以使用这样的数字来添加文件 。 这将除 4: 1, 1, 2, 3, 和 5 以外, 全部要用这个数字来添加文件 : 1, 2, 3 和 5
要选择一个序列, 只要类型 1-5 就可以从 1 到 5 全部取出 。
Git 中转文件
git add -A
用于将所有文件添加到您的承诺( 阶段) 。
git reset
是“ git 添加 - A” 命令的对面。它会删除所有要执行的分阶段文件( 手段已准备就绪 ) 。
类似地,要添加一个特定文件来承诺我们使用 Git 添加 < filename> 的方式相同, 在 unstage( 或重置) 上添加一个我们使用 git 添加的具体文件, 我们使用 git 重置 < filename > 。
git 重置与 git 添加完全相反 。