我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没有执行 git 承诺 。 我如何撤销此操作, 使这些更改不被包含在承诺中 ?
我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没有执行 git 承诺 。 我如何撤销此操作, 使这些更改不被包含在承诺中 ?
当前回答
更新2019年更新
正如其他人在相关问题中所指出的(见这里、这里、这里、这里、这里、这里、这里、这里和这里),你现在可以拆开一个单一文件:
git restore --staged <file>
并取消所有文件( 从回购根部) , 使用 :
git restore --staged .
Notes
git reformation于2019年7月推出,第2.23版发行,加上 " 级国旗 " ,它恢复了指数的内容(这里要求的内容)。
当 Git 状态与 saged uncommitted 文件同步运行时, Git 现在就建议用它来取消 page 文件( 而不是像 v2. 23 之前那样重置 Git 重置 HEAD < file > ) 。
其他回答
运行运行中
git gui
,然后手动删除所有文件,或者选择全部文件,然后从执行按钮中单击非阶段。
git add -A
用于将所有文件添加到您的承诺( 阶段) 。
git reset
是“ git 添加 - A” 命令的对面。它会删除所有要执行的分阶段文件( 手段已准备就绪 ) 。
类似地,要添加一个特定文件来承诺我们使用 Git 添加 < filename> 的方式相同, 在 unstage( 或重置) 上添加一个我们使用 git 添加的具体文件, 我们使用 git 重置 < filename > 。
git 重置与 git 添加完全相反 。
请注意,如果您没有指定修改,则必须包含一个分隔符。例如,我的控制台:
git reset <path_to_file>
fatal: ambiguous argument '<path_to_file>': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
git reset -- <path_to_file>
Unstaged changes after reset:
M <path_to_file>
(1.7.5.4版总版)
对于特定文件 :
git 重置我的檔案. txt git 檢查我的檔案. txt
对于所有添加的文件 :
git 重新设置. git 检查退出 。
注意: 检出将文件的代码更改, 并移动到上次更新( 承诺) 状态。 重置不会更改代码; 它只是重置信头 。
在您启动一个新工程时, 避免这个棘手问题的方法 :
为您的新工程创建主目录。 运行 git init 。 现在创建一个. gitignore 文件( 即使它是空的 ) 。 提交您的. gitignore 文件 。
Git 使得您在没有任何承诺的情况下很难重置 git 重置 。 如果您创建了一个小小的初始承诺, 仅是为了创建一个, 之后您可以按您想要的重置- A 和 git 重置多少次, 以便纠正一切 。
这种方法的另一个优点是,如果你以后遇到一连串的麻烦, 需要刷新你所有的文件, 这很容易:
检查此初始承诺 。 这将删除所有您的文件 。 然后再次检查您最近的承诺 。 这将使用您当前的行终结设置, 获取您文件的新副本 。