Форум программистов, компьютерный форум, киберфорум
Git
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590

В чем смысл индексации файлов?

06.03.2018, 18:04. Показов 3999. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!

Для того, что бы отправить изменения в удаленный репозиторий, с файлами нужно выполнить несколько операций:

1. Проиндексировать;
2. Выполнить коммит;
3. Отправить.

Операцию 2 можно выполнить только с проиндексированными файлами. Но я не понимаю зачем вообще нужна эта функция? Мне, с моей колокольни, кажется, что это лишняя операция. Но наверняка это для чего-то нужно делать, просто в моем сценарии это получается "лишним".

Проясните, пожалуйста, в чем смысл индексации файлов?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.03.2018, 18:04
Ответы с готовыми решениями:

В чем ошибка индексации файлов?
private void WriteToFile(string path, ListBox listBox) { using (var sw = new StreamWriter(new FileStream(path,...

В чем смысл заголовочных файлов?
Не понимаю в чем смысл заголовочных файлов,точнее даже не так. Вот к примеру если я пишу клиент-сервер приложение и вот при создании...

в чём смысл dtd- и xsl-файлов в XML?
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT size=3><FONT color=#000000><STRONG><SPAN style="FONT-FAMILY: Arial в чём смысл dtd- и...

2
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,205
Записей в блоге: 24
06.03.2018, 21:42
Лучший ответ Сообщение было отмечено V0fka как решение

Решение

Во-первых, индексация присуща не всем системам контроля версий. Скорее, лишь некоторым, будучи их киллерфичей. Так, mercurial не поддерживает из коробки индексацию. Но у Вас вопрос о git.

(начала ответа на сам вопрос)
Во-вторых, индексация нужна для того, чтобы определить те изменения, которые необходимо включить в следующий коммит. Так, в течении одного этапа разработки могут быть произведены изменения как те, что имеет смысл включить в следующий коммит, так и прочие, в числе которых вспомогательные изменения (всякие там console.log), промежуточная/вспомогательная переконфигурация системы, а также изменения, нарушающие семантическую атомарность, в том числе экспериментальные и неоттестированные изменения, которые, вероятно, будут в ключены в последующий коммит или вынесены в отдельную ветвь.
Возможность индексации позволяет формировать правильные (семантически атомарные) коммиты без необходимости танцевать со временными ветвями или клонами рабочей директории.
Необходимость индексации приводит к повышению качества коммитов, поскольку во время комманды глаз пробегает список внесённых изменений.
(конец ответа на сам вопрос)

Git предлагает индексацию не только на уровне файлов, но и на уровне отдельных блоков (см. git-add с ключом -p)

В-третьих, инструмент выбирается сообразно поставленным задачам. Git позволяет объединить (1) и (2) за счёт комманды git commit -A. А Вам не кажется избыточным разделение (2) и (3) в Вашем сценарии использования git? Почему бы не включить функцию отправления коммитов на сервер в состав git-commit, убрав лишнюю операцию git-pull? Вероятно, потому что кому-то таки удобно разделять эти две операции, остальные же используют централизованные СКВ. Так же и с индексацией (альтернатива была упомянута выше).

Не по теме:

Кстати, для информации: в darcs тоже есть аналог индексации, причём на уровне блоков кода (а не файлов), и она является частью процесса фиксации (а не отдельная операция, как в git). Если процесс фиксации прервать или откатить, то процесс выбора фрагментов, которые необходимо включить в коммит, нужно повторить сначала. Кому-то так даже удобнее.

2
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
12.03.2018, 18:53  [ТС]
Mysterious Light, спасибо за развернутый ответ!

Цитата Сообщение от Mysterious Light Посмотреть сообщение
А Вам не кажется избыточным разделение (2) и (3) в Вашем сценарии использования git?
Конкретно в моем сценарии использования это, наверное, действительно лишнее, т.к. я после коммита сразу отправляю коммит в удаленный репозиторий. Но в целом я это разделение понимаю: например в какой-то момент может не быть интернета на компе, а ты дошел до какой-то логической точки (выполнил какую-то конкретную задачу, например) и хочешь зафиксировать результаты работы хотя бы локально.

Не по теме:

В основной своей массе я работаю со специфической СКР, схожей по функциям, если не ошибаюсь, на SVN: для выполнения работы - файл(ы) блокируешь, после выполнения работы делаешь коммит, который отправляет данные в удаленный репозиторий и разблокирует файл(ы) (разблокировка проиcходит автоматически, если не укажешь обратного при коммите). Поэтому, наверное, есть непонимание каких-то вещей в других инструментах. Но я не утверждаю, что там что-то плохо. Просто пробую разобраться для себя.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.03.2018, 18:53
Помогаю со студенческими работами здесь

В чем смысл разделения кода на несколько файлов в си?
В учебнике по си было сказано что это нужно для того чтобы было легче поддерживать программу, легче управлять различными частями и т.д., но...

Есть ли смысл закрывать от индексации рекламу?
У меня несколько вопросов по оптимизации страниц сайта с рекламой от Google AdSense. 1) Считаются ли ссылки с AdSense внешними? ...

В чем смысл this
Доброго время суток...Объяснить пожалуйста в чем смысл this??? Такой вопрос в билете на зачете .... ни как не могу внятно сформулировать....

В чем смысл?
Привет всем! Не могу понять - в чем смысл магазинов электронных книг? Можно ведь скачать абсолютно бесплатно! У них что, качество...

В чем смысл полиморфизма
Объясните, пожалуйста, смысл полиморфизма. Не могу никак вникнуть. Где и как он используется? И примерчик, пожалуйста


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru