无法使用git从unstage移动文件

时间:2015-06-19 05:56:35

标签: git github

我试图取消暂停两个文件。当我输入git status时,我的消息是:

  On branch master
  Your branch is up-to-date with 'origin/master'.
  Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   public/javascripts/app.js
    new file:   views/templates/caffeineTable.html

我使用git reset HEAD和unstage文件,如命令行所示。但是,当我按照说明操作时,我会回到我的分支主管

  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
    modified:   public/javascripts/app.js

我按照第一步添加了文件进行更新。然而, 当我做一个git状态。我回到了同一个起始位置。

我仔细阅读了git https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things上的文档,但我不确定git checkout是否是我需要的。

目标是让所有内容都保持最新状态,而不是暂存。

1 个答案:

答案 0 :(得分:2)

你需要一些关于git的基本概念。当你迈出第二步时:

(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
  modified:   public/javascripts/app.js

git告诉你,app.js文件与上一版本相比发生了变化。您的文件(可能)是最新的,但有一些额外的更改。你可以使用

git diff

显示它与HEAD版本(=历史记录中的最后一个版本)的区别。现在git为您提供两种选择:

  1. git add:您希望暂存这些更改;这意味着准备这些更改以提交它们并将它们保存在历史记录中。
  2. git checkout:您希望弃置这些更改;这无法撤消;您的文件将替换为该文件的HEAD版本。