Возможно ли передать объект непосредственно из памяти в репозиторий, или вам всегда приходится записывать память в файл, только чтобы git перезагрузил файл в память?GIT фиксировать из памяти, а не файл
ответ
Нет, вам не нужно сначала записывать на диск. Вы можете создавать капли из памяти, передавая данные на git hash-object -w --stdin
. Вы можете добавить их непосредственно к индексу или построить с ними деревья и зафиксировать их напрямую. Некоторые детали можно найти здесь: http://git-scm.com/book/en/Git-Internals-Git-Objects
Спасибо за ссылку - из раздела «сантехника» было ясно, как это можно сделать. Я думаю, это именно то, что я искал. – eswint
Обратите внимание, что это немного уклоняется от вопроса - добавление файла в индекс также записывает содержимое в файл в файловой системе до тех пор, пока не будет вызвано фиксация (или что-то еще, что действует на индекс). –
@NevikRehnel: Это неправда. Создание объекта для файла является частью процесса фиксации. Если вы хешируете свои капли, затем создаете дерево, а затем создаете объект фиксации, вы только «совершаете». Конечно, есть файловые записи. Но это только результат сохранения git-репо в файловой системе. Мы по-прежнему «фиксируем объект непосредственно из памяти в репозиторий». – Chronial
- 1. Git/Github: Фиксировать заблудился
- 2. git бетон фиксировать позиционирование
- 3. Есть ли способ заставить git не фиксировать специальный файл?
- 4. Git принудительно фиксировать пар файлов
- 5. Git app osx - не фиксировать изменения
- 6. Git фиксировать каталог, пока он не находится в пути git
- 7. Git фиксировать сообщения, потерянные vi
- 8. Может ли git непрерывно фиксировать изменения, внесенные в файл?
- 9. Git-SVN из памяти
- 10. Состояние Git из памяти
- 11. Как фиксировать один файл за раз с помощью Git?
- 12. Git из памяти, а затем фатальный - ранний EOF
- 13. получить файл из другой ветки на git
- 14. Git не может найти файлы в ветке, но не будет фиксировать, потому что файл слишком большой
- 15. Автоматически фиксировать в git через python
- 16. git - фиксировать один репозиторий в пустой директории, не загрузив репо
- 17. Merge Фиксировать строки сообщений обернута Git
- 18. Как фиксировать DAGS, хранящиеся в GIT
- 19. ASP.NET поток контента из памяти, а не из файла
- 20. Инструменты Visual Studio для Git не могут фиксировать
- 21. Фиксировать на новой ветке не визуализируется
- 22. Удалить файл из Git
- 23. Создать файл в памяти, а не файловую систему
- 24. Удалить файл из git
- 25. Файлы с отображением памяти. Сопоставьте структуру, а не файл?
- 26. Не удается удалить файл из git commit
- 27. Почему `` GIT дифф автозаполнения на ветку, а не файл
- 28. git признать файл из .git папки
- 29. Всегда автоматически добавлять/ставить/фиксировать определенный файл при модификации
- 30. XmlReader, как это сделать из памяти, а не из диска
Я не уверен, что ваш вопрос имеет смысл. Репозиторий git * - это куча файлов. –
Как вы тестируете свои изменения, не записывая их сначала в файл? Я полагаю, ваш компилятор или интерпретатор использует ваши изменения в памяти? Теперь, если вы создаете ramdisk, тогда вы можете зафиксировать память, но вы все равно будете сохранять из памяти в память и перезагружать ее в память. У Ramdisks также есть крутая способность мгновенно откатывать любые коммиты (и незафиксированные изменения), которые вы не нажали, так что функция тоже может быть полезна. – cjc343
Вы спрашиваете, нужно ли сохранять файл (записанный на диск) перед записью? –