如何在GIT中撤消意外提交的“未转换”文件

时间:2019-05-07 13:26:32

标签: git git-reset

在IntelliJ中,未版本控制的文件突出显示为红色。我不希望他们在我的git repo中。这些可能是我在各种软件包中使用的临时.java文件。

但是,昨晚我不小心添加了数百个未版本控制的文件并提交了它们。我没有推他们。所有这些红色文件现在变成白色了:(

我尝试对最近一次推送的提交进行硬重置,例如20a482h

我做了git reset --hard 20a482h,但文件仍然是白色的。

如果我执行Git > Push,它将显示5次提交的列表!!我去将本地文件重置为昨天晚上发生的确切状态。

如何再次将它们全部变红并且没有版本化?

git status
On branch origin
Your branch is up to date with 'origin'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   .gitignore

Untracked files:
  (use "git add <file>..." to include in what will be committed)

       code/src/main/java/comm/UnwantedFile1.java
       code/src/main/java/comm/UnwantedFile2.java
       ..... 200 + files ....

但是,上面没有列出许多“白色”文件。我希望它们再次变成红色,仅在我的本地文件中,而在其他任何地方。

.gitignore

*.iml
.idea
*.css
/app-layout-demo/src/main/webapp/VAADIN/themes/demo/styles.scss.cache
/app-layout-addon/src/main/polymer/bower_components/
/app-layout-addon/src/main/polymer/build/
### Java template
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

例如,给定下面的“帮助”包。文件QuickTip.java不应为白色,而应为红色。现在,它已经过版本控制,将包含在任何提交/推送中。 Help中的其他2个文件应保持版本。

enter image description here

如何解压缩各种软件包中的200多个文件?

2 个答案:

答案 0 :(得分:1)

一种好的做法是.gitignore个文件。

他们会变成灰色而不是红色,并不再打扰您。

答案 1 :(得分:1)

  1. 运行git log来查看要返回的提交有多远
  2. 运行git reset HEAD^ --soft假设您要重置的最后一次提交,如果要返回2次提交,则可以执行HEAD^^。这会将您的状态重置为该提交,但是由于--soft标志而不会放弃所做的更改,因此现在如果您执行git status,则应该能够再次看到这些文件以及在其中所做的其他更改这些提交
  3. git add您要忽略的文件并重新提交文件
  4. 通过运行git reset --hardgit checkout .git clean -f -d删除/重置不需要的更改来重置/删除/忽略其余文件
  5. 确认更改后,
  6. git push您的更改。