«Размер» - это количество байтов на проводе, а «контент» - это фактический размер ресурса. Некоторые вещи могут сделать их разными, в том числе:
Размер - это объединенный размер заголовков ответов (как правило, несколько сотен байт) плюс тело ответа, предоставленное сервером. Контент - это размер декодированного контента ресурса. Если ресурс был загружен из кеша браузера, а не по сети, это поле будет содержать текст (из кеша).
blockquote>
Можно отменить git add
перед фиксацией с
git reset <file>
, который удалит ее из текущего индекса ("собирающийся фиксироваться" список), не изменяя ничто больше.
можно использовать
git reset
без любого имени файла для неподготавливания всех должных изменений. Это может пригодиться, когда существует слишком много файлов, которые будут перечислены один за другим за разумное количество времени.
В старых версиях Мерзавца, вышеупомянутые команды эквивалентны git reset HEAD <file>
и git reset HEAD
соответственно и перестанут работать, если HEAD
не определено (потому что Вы еще не сделали фиксаций в своем repo), или неоднозначный (потому что Вы создали ответвление, названное HEAD
, который является глупой вещью, которую Вы не должны делать). Это было изменено в Мерзавце 1.8.2 , тем не менее, так в современных версиях Мерзавца, можно использовать команды выше даже до создания первой фиксации:
"мерзавец сбросил" (без опций или параметров) привыкший к ошибке, когда у Вас нет фиксаций в Вашей истории, но это теперь дает Вам пустой индекс (для соответствия несуществующей фиксации, Вы даже не включены).
Если Вы вводите:
git status
мерзавец скажет Вам, что подготавливается, и т.д., включая инструкции относительно того, как не подготовить:
use "git reset HEAD <file>..." to unstage
я нахожу, что мерзавец делает довольно хорошее задание пошагового перемещения меня, чтобы сделать правильную вещь в таких ситуациях.
Примечание: Недавние версии мерзавца (1.8.4.x) изменили это сообщение:
(use "git rm --cached <file>..." to unstage)
git remove
или git rm
может использоваться для этого, с эти --cached
флаг. Попробуйте:
git help rm
Вы хотите:
git rm --cached <added_file_to_undo>
Обоснование:
Когда я был плохо знаком с этим, я сначала попробовал
git reset .
(для отмены моей всей начальной буквы добавляют), только для получения этого (не так) полезное сообщение:
fatal: Failed to resolve 'HEAD' as a valid ref.
Оказывается, что это вызвано тем, что ГОЛОВА касательно (переходят?) не существует до окончания первой фиксации. Таким образом, Вы столкнетесь с проблемой того же новичка как я, если Ваш рабочий процесс, как мой, был чем-то как:
git init
git add .
git status
... много дерьма прокручивает...
=> Чертовски, я не хотел добавлять все это.
Google "мерзавец отмены добавляет"
=> находят Переполнение стека - yay
git reset .
=> фатальный: Не удалось разрешить 'ГОЛОВУ' как допустимое касательно.
Далее оказывается, что существует ошибка, зарегистрированная против бесполезности этого в списке рассылки.
И что правильное решение было тут же в выводе состояния Git (который, да, я замял как 'дерьмо),
... # Changes to be committed: # (use "git rm --cached <file>..." to unstage) ...
И решение действительно состоит в том, чтобы использовать git rm --cached FILE
.
Отметьте предупреждения в другом месте здесь - git rm
удаляет Вашу локальную рабочую копию файла, но не, если Вы используете - кэшируемый. Вот результат git help rm
:
- кэшируемое Использование эта опция не подготовить и удалить пути только из индекса. Рабочие древовидные файлы, или измененный или нет, оставят.
Я продолжаю использовать
git rm --cached .
удалить все и запуститься снова. Не работал хотя, потому что в то время как add .
является рекурсивным, складывается rm
потребности -r
рекурсивно вызывать. Вздох.
git rm -r --cached .
Хорошо, теперь я вернулся туда, где я запустил. В следующий раз я собираюсь использовать -n
чтобы сделать пробный прогон и видеть, что будет добавлено:
git add -n .
Я архивировал все к безопасному месту перед доверием git help rm
о --cached
ничего не уничтожая (и что, если я написал его c орфографическими ошибками).
Для удаления новых файлов из промежуточной области (и только в случае нового файла), поскольку предложено выше:
git rm --cached FILE
Используйте rm --cached только для новых файлов, случайно добавленных.
Если у вас начальная фиксация и вы не можете использовать git reset
, просто объявите «Git банкротство» и удалите .git
папку и начать заново
Возможно, Git изменился с тех пор, как вы разместили свой вопрос.
$> git --version
git version 1.6.2.1
Теперь вы можете попробовать:
git reset HEAD .
Это должно быть то, что вы ищете.
git rm --cached . -r
рекурсивно «удалит» все, что вы добавили из текущего каталога
Просто введите git reset
, он вернется обратно, и это будет похоже на то, что вы никогда не набирали ] git add.
с момента вашего последнего коммита. Убедитесь, что вы сделали это раньше.
Существует другой прием:
git stash
git stash apply
(я всегда забываю reset
команда)
ITuple<out T>
интерфейс? – TDaver 13 August 2013 в 11:48