2013-11-25 37 views
1

我是新的git,我想知道是否有可能重置更改为unstaged文件?例如。Git重置更改从unstaged文件

  1. echo 1 > file1.txt
  2. git add file1.txt
  3. git commit -m "file1 added to repo"
  4. echo 2 > file1.txt
  5. git add file1.txt
  6. echo 3 > file1.txt

我回购的国家,现在看起来是这样的:

  1. 在回购我有与内容1
  2. 文件中的阶段,我已经得到了文件的内容2
  3. 在工作目录我有文件的内容3

如何将文件重置为第2点(通过命令echo 3 > file2.txt进行重置更改)

+0

我不知道我明白了。你想file1.txt *不*现在被添加? – cm2

+0

现在清楚了吗? – pepuch

+0

5,我想你的意思是'git add file2.txt'? – cm2

回答

1

问题解决了。我需要使用git checkout -- file1.txt。我没有看到git help(使用“git checkout - ...”放弃工作目录中的更改),因为主要是我的文件尚未回购。在我添加文件回购git显示mi提示。

1

根据git给出的注释,您应该这样做:

git reset HEAD file1.txt

这将移动file1.txt出追踪到未跟踪文件。

1

这样做

git checkout file2.txt 

将重置更改为未分级的文件

1

使用

git clean -n 

检查什么文件将被删除,然后

git clean -f 

删除untr ACKED文件

1

如果你想FILE1.TXT unstage:

git reset file1.txt 

如果你想unstage一切(这是同在这种情况下):

git reset