Настраивать:
У меня есть клиент с репозиторием системы контроля версий TFVC. Корень - это папка, а не ветка. По всей иерархии разбросаны ветви, иногда в 2, а иногда и в 3 уровня. Чтобы использовать git-tfs для переноса репозитория, мне нужно, чтобы корень был веткой. Однако, когда я пытаюсь преобразовать корневую папку в ветку, я получаю эту ошибку:
You cannot create a branch at $/myProject because a branch already exists at $/myProject/Releases/7.3/Metadata.
If $/myProject/Releases/7.3/Metadata is not a branch convert it back to a folder and retry the operation.
Вопрос:
Есть ли какое-либо влияние на то, что я «деветвлюю» некоторые из этих веток, превращая их в обычные папки, чтобы я мог сделать корень веткой, а затем использовать git-tfs для ее переноса? Могу ли я потерять часть истории? Рискую ли я повредить репозиторий системы управления версиями или потерять какие-либо данные? Я стараюсь быть очень осторожным с исходным кодом клиента и не рискую потерять какие-либо данные.
Спасибо!
Обновлять:
Мое обоснование того, что мне нужно преобразовать корень в ветку: * Когда я создал простой тестовый репозиторий, чтобы попробовать миграцию, и запустил эту команду.
git tfs list-remote-branches https://mysite.visualstudio.com/
я получил это сообщение
"Ветви TFS не найдены!"
И в этой проблеме github было сказано, что я должен переключиться на ветку , тогда я увижу это, и это сработает. Поэтому я предположил, что клон не будет работать, поскольку его не было в списке. Кроме того, с аналогичным структурированным тестовым репозиторием, когда я запустил git tfs list-remote-branches, я получил:
Ветки TFS, которые можно клонировать:
$/myproject1/Релизы/7.1/Метаданные [*]
$/myproject1/Релизы/7.2/Метаданные [*]
$/myproject1/Релизы/7.3/Метаданные [*]
$/myproject1/магистраль/основной [*]
Клонирование корневых ветвей (отмеченных [*]) рекомендуется!
PS: если ваша ветка не указана здесь, возможно, вам следует преобразовать содержащую ее папку в ветку в TFS: -> Откройте «Проводник управления исходным кодом» и для каждой папки, соответствующей ветке, щелкните правой кнопкой мыши папку и выберите «Ветвление и Слияние» > «Преобразовать в ветвь».
Исходя из этого, я подумал, что мне нужно преобразовать его в ветку. Следующая команда, которую я выполнил, была
git-tfs clone https://mysite.visualstudio.com/ $/myproject1
Я думал, что это дало мне ошибку, когда корень был папкой, но это просто дало мне предупреждение, когда я только что перезапустил его. Структура папок была примерно такой: папка/папка/ветвь, папка/папка/папка/ветвь/папка и т. д.
предупреждение: вы собираетесь клонировать весь репозиторий или слишком высокий путь к репозиторию! => Если вы хотите управлять ветками с помощью git-tfs, вместо этого клонируйте одну из этих веток: - $/myproject1/Releases/7.1/Metadata - $/myproject1/Releases/7.2/Metadata
Так что похоже ответы правильные. Вы можете клонировать с корнем без проблем. Спасибо!
git tfs clone <URL> $/myProject
. И какую команду вы использовали, чтобы преобразовать корневую папку в ветку, пока получили ошибку? - person Marina Liu   schedule 18.06.2018git-tfs clone https://mysite.visualstudio.com/ $/myproject1
перенесет все версии репозитория TFVC в ветку git по умолчаниюmaster
. Он покажет только предупреждение, а не ошибку (как вы обнаружили). А если вам нужно мигрировать определенную ветку TFVC, то укажите ветку вgit tfs clone command
. - person Marina Liu   schedule 19.06.2018