Git remote 'set-url' команда изменяет URL нескольких папок

По умолчанию столбцы основаны на типе данных. Я не проверял, но для ссылки вы могли бы попробовать подвергнуть данные как Uri, но это может быть обнадеживающим. Действительно, если вам нужен определенный тип столбца - добавьте столбцы через код и установите DataGridView.AutoGenerateColumns на false.

Как предполагает Andrew; обычно для генерации столбцов используется нечто , подобное , и вы получите столбец для каждого (доступного для просмотра + общедоступного + читаемого) свойства. Если вам нужно, есть слой абстракции, но это не поможет добавить столбец гиперссылки.

0
задан Valeria S. 19 March 2019 в 09:36
поделиться

1 ответ

Если у вас есть

.../
  parent/
    project1/
    project2/

и все они имеют конфигурацию remote, то наиболее вероятная ситуация заключается в том, что

(1) Существует каталог .../parent/.git, который отображает parent и все его подпапки как рабочее дерево одного репо

(2) Не существует каталогов .../parent/project1/.git или .../parent/project2.git, которые бы отображали каждую папку проекта в свой собственный репозиторий git

]

Если раньше они вели себя как независимые репозитории, но не больше, то кажется, что каталог parent/.git каким-то образом был создан (возможно, через git init), и каким-то образом .git. каталоги были удалены.

Быстрый отказ от ответственности: я считаю очень маловероятным, что папки проектов .git были случайно удалены. В приведенном ниже совете принимается ситуация, представленная на первый взгляд, и поэтому она является недействительной, если замечания, изложенные в вопросе, являются неточными или если некоторые «мелкие детали» были опущены.

Тем не менее ... если вышеупомянутое действительно каким-то образом произошло, то удаление каталогов .git является значительной потерей данных (по крайней мере, локально). К счастью, git remotes можно рассматривать как своего рода «резервное копирование» большинства локальных данных, поэтому, если вы недавно синхронизировались с каждым удаленным проектом, вы сможете восстановить без особых хлопот. [тысяча сто тридцать одна]

Итак, первое, что я хотел бы сделать, оставив пока parent в покое, создать новый родительский каталог (например, .../parent2). В этом каталоге создайте новые клоны каждого репозитория проекта с удаленного компьютера.

Далее вы бы сравнили, что находится в каждом каталоге проекта в parent2 с тем, что находится в соответствующем каталоге в parent. (Вы можете использовать git diff или какой-либо другой инструмент для массовых различий, например, Beyond Compare.) И то, что вы делаете от этого, зависит от того, что вы найдете.

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

Если есть различия, вам, возможно, придется посмотреть, есть ли у вас локальные изменения не на пульте, есть ли на пульте изменения, которых у вас не было локально, или и то, и другое. Локальные изменения, не относящиеся к удаленному, могут быть зафиксированы в рамках коммитов (очевидно, случайного) монорэпо, которое вы в настоящее время имеете в parent - в этом случае их можно извлечь, используя git filter-branch с --parent-filter, а затем перенести в отдельный проект репо должны быть объединены любым способом, который имеет смысл. Или отдельные изменения могут быть потеряны, и вам, возможно, придется просто обновить отдельные состояния репозиториев, чтобы отразить ваши самые новые изменения.

И одно особое соображение - может быть, что одна (или более) из вновь клонированных копий содержат всю структуру parent. Это может произойти, если в какой-то момент вы задали URL-адрес репо parent, как если бы он был URL-адресом для конкретного проекта. Поиск в истории может выявить момент, когда это произошло.

Ни одна из этих процедур очистки не прописана на 100%, потому что слишком много неизвестно о том, что вы найдете в процессе повторного клонирования, и последующие шаги зависят от того, что вы найдете.

0
ответ дан Mark Adelsberger 19 March 2019 в 09:36
поделиться
Другие вопросы по тегам:

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