У меня есть репозиторий, который управляется tfs. Однако локально я хотел бы управлять им через git, а push-изменения - tfs. Когда я создаю репозиторий git там VS2013 в командной строке, это решение управляется только git. Если я попытаюсь отредактировать любой файл, он жалуется, что файл читается только, я не могу сохранить его в предыдущей версии. Поэтому мой вопрос заключается в том, чтобы Visual Studio 2013 вообще забыть о git и управлять им как репозиторий tfs. Я могу управлять git из командной строки. Или есть способ сделать это для проверки файлов из tfs repo, когда я делаю изменения?
Отключить git в Visual Studio 2013
Ответ 1
Для вашего сценария Git-tf
, вероятно, лучшее решение, оно создаст локальное репо на git на основе вашей исходной папки управления TFVC, Когда вы закончите, вы можете нажать свои изменения с git прямо на TFVC из командной строки. Поскольку вы уже удобны в командной строке, это может хорошо сработать для вас.
Очень сложно заставить Visual Studio оставаться в Team Source Source Control, если в той же папке есть репозиторий git.
Как ужасное обходное решение, закройте свое решение, переименуйте папку .git
в _git
и перезагрузите решение. Это должно вернуть TFVC, но если этого не произойдет, переустановите решение TFVC, если используете file → source control → advanced → Change Source Control. Затем, после проверки, снова закройте решение, переименуйте _git
назад на .git
и перезагрузите.
Как упоминает Эд в комментариях, вы можете переместить свою папку .git в другую папку, например:
\MyProjects
\GitRoot
| \.git
\MySolution
\MyFirstProject
\MySecondProject
Это позволяет Visual Studio использовать привязки TFVC, и вы можете сообщить командной строке git, что каталог .git находится в другом месте, используя аргумент команды git --git-dir=\MyProjects\GitRoot\.git
.
Вы можете установить переменную среды с именем GIT_DIR
, чтобы исправить это за один раз, как упоминает @hlovdal.
И есть еще один трюк, который упоминает @Eric, который создает имена текстовых файлов .git
, которые имеют в нем следующее:
gitdir: _git
Переименуйте папку .git в _git, затем убедитесь, что вы добавили _git
в .gitignore
Совет:, чтобы создать файл, начинающийся с .
из проводника Windows, вы можете использовать параметр New/Text Document:
Затем назовите файл .git.
(убедитесь, что установлен флажок Показывать расширения файлов):
Ответ 2
Решение, изложенное здесь, хорошо подходит для меня: Как отключить интеграцию Git в Visual Studio 2013 на постоянной основе?
По существу:
- Переименуйте папку .git в _git, так как @jessehouwing говорит
- Создайте текстовый файл с именем .git, содержащий только строку "gitdir:/Path/To/_git"
- Добавить _git в .gitignore
В Visual Studio теперь будут использоваться только TFS, а Git работает правильно.
Ответ 3
Я предлагаю тезисы:
- Перейдите в
TOOLS Tab
в Visual Studio - Выберите
Options
элементы - Слева выберите
Source Control
- В элементе
Plugin Selection
введитеNone
в раскрывающемся списке
Ответ 4
Вы можете удалить поддержку git из Visual Studio 2013, используя некоторые хаки реестра. Это, конечно, немного рискованно, но у меня еще остались проблемы после удаления поддержки git с помощью этого метода:
http://blog.markrendle.net/disable-the-git-source-control-add-in-in-vs2013-permanently/
Это сводится к простому удалению всех элементов, связанных с GUID {11B8E6D7-C08B-4385-B321-321078CDD1F8}
Ответ 5
Плохое решение: закройте свое решение, переименуйте папку .git в _git и перезагрузите решение, сработавшее для меня. Спасибо jessehouwing.