Я разработчик .NET, и я много раз использовал TFS (сервер Team Foundation) в качестве программного обеспечения для управления исходным кодом. Хорошие возможности TFS:
- Хорошая интеграция с Visual Studio (поэтому я делаю практически все визуально; нет консольных команд)
- Легкая регистрация, процесс регистрации
- Простое объединение и разрешение конфликтов
- Простые автоматизированные сборки
- разветвление
Теперь я хочу использовать Git в качестве основы, репозитория и контроля исходного кода моих проектов с открытым исходным кодом. Мои проекты написаны на языке C #, JavaScript или PHP с базами данных MySQL или SQL Server в качестве механизма хранения.
Я просто использовал помощь github.com для этой цели, создал там профиль и загрузил графический интерфейс для Git. До этой части было так легко.
Но я почти застрял в том, чтобы идти дальше. Я просто хочу сделать несколько простых (действительно простых) операций, в том числе:
- Создание проекта на Git и сопоставление его с папкой на моем ноутбуке
- Извлечение / проверка файлов и папок
- Разрешение конфликтов
Это все, что мне нужно сделать сейчас. Но кажется, что графический интерфейс не такой удобный для пользователя. Я ожидаю, что GUI будет иметь Connect To...
или что-то подобное, а затем я ожидаю, что список проектов будет показан, и когда я выберу один, я ожидаю увидеть список файлов и папок этого проекта, так же, как исследование вашего проекта TFS в Visual Studio. Затем я хочу иметь возможность щелкнуть правой кнопкой мыши файл и выбрать check-in...
или check-out
и все в таком духе.
Много ли я ожидаю? Что я должен сделать, чтобы легко использовать Git, как TFS? Что мне здесь не хватает?
источник
Ответы:
Преимущества, которые дает Git, заключаются в том, что они отбрасывают множество старых предположений о том, что должна делать VCS. Недостатки Git связаны с тем, что они не могут использовать предыдущий опыт и не могут делать то, что вы привыкли.
Если вы собираетесь переключиться с чего-то другого на git, попробуйте запустить tabula-rasa (хотя это невозможно сделать на практике). Оценивайте это на основе того, что он делает и насколько хорошо это делает, а не на том, как он это делает, по сравнению с тем, как вы привыкли это делать. Дело не в том, что вы ожидаете слишком многого, а в том, что ваши ожидания ортогональны тому, что обеспечивает git. Если вы женаты на работе с графическим интерфейсом, вы будете разочарованы. У Git есть инструменты для графического интерфейса, но они мало что добавляют. Это не означает, что их не так много, поскольку графическое приложение не так много может добавить. GitK помогает не в повседневных операциях, а скорее в визуализации структуры ветвей и изучении или поиске истории.
Вот глупая аналогия с тем, что я подразумеваю под «ортогональным». Одна из вещей, которую вы можете сделать с газетой - это обернуть в нее рыбу или использовать ее для разметки клетки для птиц. Но они не важны для функции газеты, это второстепенные особенности формы, в которой она появляется. Ожидается, что git «проверит файлы», или «позволит выбрать проекты», или предоставит «подключиться к ... "Это все равно, что ожидать, чтобы иметь возможность заворачивать рыбу или выровнять свою птичью клетку на веб-сайте газеты .
источник
Вы рассматривали ртутный? Как и git, это DCVS и позволяет вам делать все аккуратные вещи, которые можно сделать с DCVS. Как и в git, есть довольно хороший поставщик облачных сервисов (bitbucket). Но, в отличие от Git, история Windows довольно приличная, вы не гражданин второго класса. У вас есть хорошие варианты инструментов (TortiseHG) и довольно приличная интеграция с Visual Studio (VisualHG).
Ничто не будет похоже на TFS в визуальной студии - мир просто так не устроен.
источник
svn
и пропустил много вещей, в которых было так простоhg
. Теперь я двигаюсьgit
и испытываю смешанные чувства. Я люблю возвращаться ко многим из тех средств, в которых я пропустилsvn
, но я все еще скучаю по простоте поhg
сравнению с ненужной сложностьюgit
. Даже просто установка TortoiseGit на Windows требует, чтобы вы перепрыгивали через обручи, которые просто не нужны с TortoiseHg .Я перешел с SVN на git год назад, и я очень рад этому. Однако я не полагаюсь ни на какой графический интерфейс, и в случае, если вы жестко отказываетесь от командной строки, это может быть проблемой.
Вы, кажется, ожидаете
git
работать так, как привыкли, но это не так. Это не сложно, но вы должны взглянуть на его принципы, прежде чем продолжить.Git распространяется, что означает, что вы всегда работаете с локальным репозиторием, который может быть сопоставлен с любым количеством удаленных устройств, включая ноль. При игре с чужим проектом я использую два пульта: их git или SVN-репозиторий и мой собственный сервер.
Я всегда начинаю с создания пустой директории, а затем либо
git init
илиgit clone SOME-REMOTE-REPOSITORY
. Эта ссылка может помочь вам.Вы пропустили, чтобы написать, какой графический интерфейс вы используете. И то
TortoiseGit
и другое,git-gui
безусловно, может сделать это.Для этого я использую
git-gui
или мой любимый текстовый редактор.Подключиться к чему, когда может быть от 0 до N пультов? Git не остается подключенным к удаленному серверу, он создает соединение только временно и только для нескольких команд, работающих с удаленным репозиторием. Большая часть работы выполняется на месте.
Я предполагаю, что
projects
вы имеете в видуrepositories
.Боюсь, что такого нет. Git на удаленном сервере работает строго только с одним репозиторием. Перечисление всех репозиториев эквивалентно перечислению всех каталогов, содержащих подкаталог
.git
. Я уверен, что есть что-то вроде этогоGitHub
.Опять же, я боюсь, что такого нет, так как
git
работает локально. И опять же, это было бы не очень полезно. Просто клонируйте репозиторий и изучите его на своем компьютере. Хотя клонирование огромных репозиториев занимает некоторое время, все последующие операции выполняются намного быстрее, и вы можете посмотреть любой коммит или ветку.Опять же
git
работает локально. Поэтому нет смысла регистрироваться или выезжать на удаленный репо. Работать таким образом - пустая трата времени даже в быстрой локальной сети. Загрузите репозиторий на свой компьютер, поработайте с ним иgit push
внесите изменения в пульт. Подумайте об этом, как о публикации ваших изменений, а также о создании резервной копии. Вы должны совершать локально очень часто .Перед началом работы
git fetch
илиgit pull
изменениями с пульта на случай, если кто-то еще мог с ним работать.Да и нет. Вы ожидаете что-то отличное от того, что оно предлагает. Вы можете получить что-то намного лучше,
git
он мощный, гибкий, безопасный, быстрый, как ад, и может делать все, что вам нужно, но он не может точно имитировать то, что делает централизованная VCS.источник
Я сделал журнал из визуального источника безопасным для TFS, SVN и GIT.
Переход от VSS к TFS был приятным опытом. Переход от ТФС до SVN был приятным опытом. Переход от SVN к GIT был своего рода внутренней битвой.
Часто я чувствую себя достаточно консервативным и пытаюсь понять, что работает. Хороший графический интерфейс для меня предпочтительнее командной строки, и я нашел какой-то графический интерфейс, который позволил бы мне играть с классными детьми, с которыми я работаю. Все они использовали git исключительно с командной строкой.
Настал момент для меня, когда я прекратил поиски gui с серебряной пулей и начал пробовать git bash (я все еще учусь).
У меня установлены некоторые guis, и они дополняют git из командной строки. Расширения Git, поставщик управления исходным кодом Git для visual studio и черепаховый git. Но я говорю, познакомьтесь с git bash. Команды могут быть немного загадочными, но как только вы изучите их, они будут намного быстрее, чем графический интерфейс.
Разветвление с помощью git просто УДИВИТЕЛЬНО по сравнению с другими. Создание веток и переключение между ветвями это практически мгновенно. Вы можете делать то, что вам не нужно делать с svn, потому что svn в основном копирует вашу рабочую копию (по крайней мере, так, как я это сделал).
Я считаю, что у Git более крутая кривая обучения, чем у SVN. Но как только вы "получите" git, вы не захотите возвращаться.
Git полностью
источник
Вы привыкли иметь сервер, который хранит ваши файлы и является всемогущим владельцем их. Для редактирования файла вам необходимо запросить разрешение у сервера.
Git не такой. Подумайте о git так: у вас есть локальный репозиторий. Git позволяет вам зафиксировать изменения, отменить фиксацию, легко и быстро выполнить ветвление и т. Д. Когда вы хотите сделать резервную копию своей истории управления исходным кодом, вы отправляете свои изменения в другой репозиторий, который «просто случайно» является сервером, таким как GitHub.com.
Процедура:
Это все.
источник
Что вы имеете в виду, "the" git gui? Их, если я правильно помню, есть миллиард, включая плагин для визуальной интеграции студии. Если один графический интерфейс не работает для вас, попробуйте еще, пока не найдете тот, который работает. Я лично использую разные графические интерфейсы для разных задач (и CLI для других).
Однако git - это скорее среда контроля версий, чем фиксированная система. Вы все еще должны изучить некоторые основы, чтобы получить максимальную отдачу от этого.
источник
да
Ничего. Git ориентирован на CLI и не имеет хорошего интерфейса (я знаю о TortoiseGit, который не является ответом по сравнению с другими Tortoise *). Вы можете попробовать использовать SmartGit (остерегайтесь Java)
источник