Как использовать Git, чтобы разрешить многопользовательскому редактированию файлов с нескольких компьютеров, подключенных к одному серверу

Я использовал TFS Source Control для хранения своего кода в централизованном репозитории, но единственным недостатком было то, что я не мог просто загрузить один файл, внести изменения и вернуть его обратно. Кроме того, на каждом ПК должен быть установлен VS. лицензия на использование системы управления версиями.

Я искал другие варианты и наткнулся на Git и установил его на свой компьютер. Я создал репозиторий и все еще изучаю все тонкости. У меня есть вопрос, на который, я надеюсь, это сообщество поможет мне ответить.

У меня есть сервер, на котором я хотел бы проверить все репозитории и разрешить нескольким компьютерам загружать файл на свой локальный компьютер, вносить изменения и возвращать их на сервер.

Вот сценарий:

введите здесь описание изображения

Поэтому, если я создам новые файлы/проект на своем ПК (ПК 1), я хотел бы зафиксировать их на сервере. Как только это будет сделано, ПК 2 хотел бы загрузить это на локальный компьютер, внести изменения и передать их обратно на сервер. ПК 2 также хотел бы иметь возможность выбирать файл, который он хочет загрузить локально для редактирования.

Возможно ли это с Git или есть лучшая альтернатива системе управления версиями TFS.

Я хотел бы следующую функцию:

  • Дайте пользователю свободу возвращать/извлекать папку/файл/проект
  • Используйте централизованный сервер репозитория, где пользователь может зарегистрировать свою папку/файл/проект.
  • Можно использовать проводник Windows или минимальную настройку

Спасибо за помощь.


person SearchForKnowledge    schedule 24.02.2015    source источник
comment
Да, с Git это возможно. как создать удаленный репозиторий git из локального"> stackoverflow.com/questions/6648995/   -  person gpullen    schedule 24.02.2015
comment
Я хочу использовать графический интерфейс, потому что командная строка неудобна для конечных пользователей.   -  person SearchForKnowledge    schedule 24.02.2015
comment
Извините .. Я просто использую командную строку, но Source Tree кажется популярным и может быть тем, что вы ищете для настройки удаленного/голого репозитория git и прост в использовании sourcetreeapp.com   -  person gpullen    schedule 24.02.2015
comment
Спасибо за ответ. Я нигде не видел, как настроить сервер для размещения файла. :/Любая помощь будет оценена по достоинству.   -  person SearchForKnowledge    schedule 24.02.2015


Ответы (2)


Надеюсь, это прояснит ситуацию.. Не могу вместить все это в комментарии!!

Что такое пульты?

Удаленные — это URL-адреса в репозитории Git для других удаленных репозиториев, размещенных в Интернете, локально или в сети.

Такие пульты можно использовать для синхронизации изменений нескольких репозиториев Git. Локальный репозиторий Git может быть подключен к нескольким удаленным репозиториям, и вы можете синхронизировать с ними свой локальный репозиторий с помощью операций Git.

Примечание. Думайте о пультах как о коротких закладках для репозиториев. Вы всегда можете подключиться к удаленному репозиторию, если знаете его URL и если у вас есть к нему доступ. Без пультов пользователю пришлось бы вводить URL-адрес для каждой команды, которая взаимодействует с другим репозиторием.

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

Удаленные репозитории Git Совет Удаленный репозиторий также может быть размещен в локальной файловой системе.

Пустые репозитории

Удаленный репозиторий на сервере обычно не требует рабочего дерева. Репозиторий Git без рабочего дерева называется пустым репозиторием. Вы можете создать такой репозиторий с опцией --bare.

создать голый репозиторий

git init --bare По соглашению имя пустого репозитория должно заканчиваться расширением .git.

Чтобы создать голый репозиторий Git в Интернете, вы должны, например, подключиться к своему серверу по протоколу SSH или использовать какую-либо платформу хостинга Git, например, GitHub.com.

person gpullen    schedule 24.02.2015
comment
Я использую SourceTree, что позволяет мне локально создавать проект Git. Просто пытаюсь понять, как настроить сервер для размещения моих файлов, чтобы другие могли его использовать. Спасибо. - person SearchForKnowledge; 24.02.2015
comment
Используйте платформу хостинга git, например Github или Bitbucket, или файловый сервер, к которому у вас есть доступ. Настройте с помощью команды, как показано выше git init --bare. Используйте следующую команду, чтобы добавить удаленный сервер в ваш новый голый репозиторий, используя исходное имя › git remote add origin ../remote-repository.git - person gpullen; 24.02.2015
comment
Попробуйте прочитать это, как настроить «общее репо» gitguys.com/topics/ - person gpullen; 24.02.2015
comment
Я решил использовать TortoiseSVN, который легко настроить и использовать. Спасибо за помощь. - person SearchForKnowledge; 25.02.2015

Вы должны понимать, что (централизованное управление версиями) несколько отличается от TFS. Ниже приведены подсказки, которые могут помочь вам ответить на ваш вопрос.

  • создайте новый репозиторий внутри вашего локального компьютера (у которого тоже есть репозиторий), это в основном можно использовать для любого каталога, независимо от того, является ли проект новым или существующим в настоящее время на вашем компьютере.

    git инициировать

  • регистрация выполняется сначала локально с использованием «фиксации», которая отправляет/проверяет ваши изменения в вашем локальном репозитории (а не на центральном сервере)

    git commit -m "комментарий"

  • отправка изменений (несколько коммитов) из вашего локального репозитория в репозиторий сервера

    мастер происхождения git push

  • Теперь после "push" другие машины (ваши коллеги) могли получить эти изменения с помощью команды pull.

  • Существуют графические инструменты для работы с git на платформах Linux или Windows. Узнайте о них здесь.

СОВЕТ: существует расширение для Visual Studio, которое также можно использовать если вы все еще собираетесь его использовать.

person Muhammad Soliman    schedule 24.02.2015
comment
Спасибо за ответ. Я просто хочу иметь центральное расположение, где я могу хранить коды всех пользователей (проектов/файлов) в сети и позволять другим загружать, вносить изменения и обновлять центральное расположение. Некоторая безопасность также должна присутствовать, чтобы гарантировать, что кто-то может получить доступ к тому, что контролируется. - person SearchForKnowledge; 24.02.2015
comment
Также в Git я создаю новый репозиторий, как другой пользователь с другого ПК может получить к нему доступ для внесения изменений? - person SearchForKnowledge; 24.02.2015
comment
это руководство отвечает на ваш вопрос atlassian.com/git/tutorials/syncing - person Muhammad Soliman; 24.02.2015
comment
SourceTree Выглядит как хороший вариант. Я создал новый репозиторий с помощью Git на своем локальном ПК. Руководство показывает командную строку. Есть ли способ настроить его из SourceTree? Нужно ли настраивать диск/папку на сервере для всех репозиториев? - person SearchForKnowledge; 24.02.2015
comment
Если вы используете Windows, вы можете установить git для Windows, также известный как msysgit msysgit.github.io, который устанавливает cheetah расширение, которое помогает в создании контекстного меню в самом проводнике Windows (щелкните ПРАВОЙ кнопкой мыши в любой папке, затем выберите «git init»)... всякий раз, когда вы отправляете свои изменения на сервер, он автоматически создает папки/файлы в своем репозитории в соответствии с к вашей физической структуре с ее историей тоже. вам нужно больше узнать о git .. это потрясающе, и это заслуживает большего чтения - person Muhammad Soliman; 24.02.2015
comment
Спасибо. У меня это уже есть. Просто не смог найти достаточно информации для такого новичка, как я, где объясняется, как настроить его с центральным сервером. - person SearchForKnowledge; 24.02.2015
comment
Поэтому я создал папку на своем сервере (\\my-serv-1\temp\gitrepo), в которой буду хранить все репозитории всех пользователей в сети. В SourceTree я нажимаю Remote и ввожу \\\\my-serv-1\\temp\gitrepo` and push it but I get the following error: fatal: \\my-serv-1\temp\gitrepo не похоже на репозиторий git. - person SearchForKnowledge; 24.02.2015
comment
лучше читать учебники: git-scm.com/book/ca /v1/Git-on-the-Server с использованием протокола HTTP: kernel.org/pub/software/scm/git/docs/howto/ с использованием протокола git: git-scm.com/book/en/v1/Git-on-the- Сервер-Настройка-Сервера - person Muhammad Soliman; 24.02.2015
comment
Все через командную строку. Нет графического интерфейса? Извините, но я новичок в этом. - person SearchForKnowledge; 24.02.2015
comment
Я решил использовать TortoiseSVN, который легко настроить и использовать. Спасибо за помощь. - person SearchForKnowledge; 25.02.2015