dev*_*ium 5 git version-control
假设我刚创建了一个回购
git init
Run Code Online (Sandbox Code Playgroud)
然后呢
git add .
Run Code Online (Sandbox Code Playgroud)
然后我做了一个
git status
Run Code Online (Sandbox Code Playgroud)
并注意到有一些我不想要的文件.我去了.git/info/,并将这些文件添加到exclude文件中.然后我试着
git reset .
Run Code Online (Sandbox Code Playgroud)
但得到了一个
fatal: Failed to resolve 'HEAD' as a valid ref.
Run Code Online (Sandbox Code Playgroud)
尝试一个
git reset --hard
Run Code Online (Sandbox Code Playgroud)
有同样的效果.我想这是因为我还没有提交?那么如何才能在一个新的,无聊的回购中取得同样的效果呢?
谢谢
Mar*_*air 16
更新:你的问题的标题暗示你想要取消所有文件,但从你的问题的文本,听起来好像你只想取消其中几个 - 你现在已经澄清了这一点,我已经添加我的回答有点提到如何取消刚刚添加的每个新文件.
您看到的错误是正确的,因为您还没有创建任何提交.
当你git add .为工作树"上演"下一步提交的所有内容时.除了忽略这些文件之外,您还想要取消它们.如果您键入git status,它会提示您如何执行此操作:
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
Run Code Online (Sandbox Code Playgroud)
...因此,如果您要unstage的文件foo.txt和bar.c,你会怎么做:
git rm --cached foo.txt bar.c
Run Code Online (Sandbox Code Playgroud)
然后你可以继续并创建你的第一个提交:
git commit
Run Code Online (Sandbox Code Playgroud)
......正如你所料.
你已经在下面说明了,你实际上想要取消你刚添加的每个文件 - 在这种情况下,你可以像grzuy所说的那样修改它:
git rm -r --cached .
Run Code Online (Sandbox Code Playgroud)
...并且更有选择性地开始暂存文件git add filename.
| 归档时间: |
|
| 查看次数: |
3776 次 |
| 最近记录: |