Как отменить случайно зафиксированные «неверсированные» файлы в GIT - PullRequest
2 голосов
/ 07 мая 2019

В IntelliJ неверсированные файлы выделяются красным.Я не хочу, чтобы они были в моем git-репо.Это могут быть временные .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 не должен быть белым, он должен бытькрасный. Сейчас он версионен и будет включен в любой коммит / пуш. Другие 2 файла в Help должны оставаться версионными.

enter image description here

Howразвернуть 200+ файлов в различных пакетах?

Ответы [ 2 ]

1 голос
/ 07 мая 2019
  1. Запустите git log, чтобы увидеть, как далеко находится коммит, к которому вы хотите вернуться, это
  2. Выполнить git reset HEAD^ --soft Предполагая, что это последний коммит, который вы хотите сбросить, если вы хотите вернуться назад2 коммита вы можете сделать HEAD^^ вместо этого.Это восстановит ваше состояние до этого коммита, но не отменит ваши изменения благодаря флагу --soft, поэтому теперь, если вы сделаете git status, вы сможете снова увидеть эти файлы вместе с другими изменениями, которые вы сделали в этих коммитах
  3. git add файлы, которые вы хотите игнорировать, которые вы не делаете, и сделать новый коммит
  4. Сброс / удаление / игнорирование оставшихся файлов, выполнив git reset --hard, git checkout . и git clean -f -d для удаленияи сбросьте нежелательные изменения
  5. git push ваши изменения после проверки изменений.
1 голос
/ 07 мая 2019

Хорошей практикой было бы .gitignore файлы.

Они станут серыми вместо красного и перестанут вас беспокоить.

...