What's the -practical- difference between a Bare and non-Bare repository?

Я полагаю, что Ваш первый образец на самом деле создает анонимную функцию, которая может взять много различных подписей, тело которых является отдельным оператором Console.WriteLine.... Поскольку это может соответствовать различным подписям, это не вызывает проблему. Во втором образце сам синтаксис лямбды определяет функцию, которая не берет параметров с тем же телом. Очевидно, последний не согласовывается с определенным Действием, таким образом, Вы получаете ошибку.

Анонимная Ссылка Метода C#

существует один случай, в котором анонимный метод обеспечивает функциональность, не найденную в лямбда-выражениях. Анонимные методы позволяют Вам опустить список параметров, и это означает, что анонимный метод может быть преобразован в делегатов со множеством подписей. Это не возможно с лямбда-выражениями.

187
задан CharlesB 27 August 2012 в 02:39
поделиться

1 ответ

default/non-bare Мерзавец repo содержит две части состояния:

  1. А снимок изо всех файлов в репозитории (это - то, что "рабочее дерево" означает на жаргоне Мерзавца)
  2. А история из всех изменений, внесенных во все файлы, которые когда-либо были в репозитории (кажется, нет краткой части жаргона Мерзавца, который охватывает все это)

, снимок - то, о чем Вы, вероятно, думаете как свой проект: Ваши файлы кода, файлы типа "build", сценарии помощника и что-либо еще Вы присваиваете версию с Мерзавцем.

история является состоянием, которое позволяет Вам проверять другую фиксацию и получать полный снимок того, на что были похожи файлы в Вашем репозитории, когда та фиксация была добавлена. Это состоит из набора структур данных, которые являются внутренними Мерзавцу, с которым Вы, вероятно, никогда не взаимодействовали непосредственно. Значительно, история только хранит метаданные (например, "Пользователь U добавил это много строк к Файлу F во Время T как часть Фиксации C"), это также хранит данные (например, "Пользователь U добавил эти точные строки в Файл F").

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

А пустой репозиторий является репозиторием Мерзавца, который не имеет снимка. Это просто хранит историю.

, Почему Вы хотели бы это? Ну, если Вы только собираетесь взаимодействовать со своими файлами с помощью Мерзавца (то есть, Вы не собираетесь редактировать свои файлы непосредственно или использовать их для создания исполняемого файла), можно оставить свободное место, не имея в наличии снимок. В частности, если Вы поддерживаете централизованную версию своего repo на сервере где-нибудь (т.е. Вы в основном размещаете свой собственный GitHub), тот сервер должен, вероятно, иметь пустой repo (Вы все еще использовали бы непустой repo на своей локальной машине, хотя, так как Вы, по-видимому, захотите отредактировать свой снимок).

, Если Вы хотите более всестороннее объяснение пустого repos и другого варианта использования в качестве примера, я описал сообщение в блоге здесь: https://stegosaurusdormant.com/blog/bare-git-repo /

1
ответ дан 23 November 2019 в 05:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: