Git pull из рабочего каталога другого пользователя - PullRequest
4 голосов
/ 05 января 2011

Можно ли извлечь определенные файлы или изменения из рабочего каталога других пользователей, используя их локальный IP-адрес?

например.

git pull http://192.168.1.101/sandbox/somefile.php

Следует отметить, что оба пользователя используют Windows XP.

Спасибо

P.

Ответы [ 3 ]

8 голосов
/ 06 января 2011

Благодаря ответу как ответа Рупа, так и ответа Эккса, я до сих пор придумал следующее:

Вам необходимо знать IP-адрес пользователя ПК 192.168.x.x (этобудет показан в примере ниже), а затем вам нужно будет открыть общий доступ к папке в Windows XP.

  1. Щелкните правой кнопкой мыши нужную папку, которую вы хотите отправить на ПК пользователя, и выберите «Свойства».
  2. Выберите вкладку «Общий доступ».
  3. Выберите «Общий доступ к этой папке» и присвойте папке имя.Это будет в следующем примере.
  4. Нажмите OK.

На вашем компьютере вам нужно иметь инициализированный и пустой git-репозиторий, чтобы вы могли добавить новый пульт, прежде чем вы извлечете.

Пример:

git init
git remote add <alias> //<ip_address>/<shared_folder_name>
git pull <alias> <branch>

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

3 голосов
/ 05 января 2011

В качестве альтернативы ответу Рупа , вы можете получить доступ к доменам Windows с помощью

git pull //hostname.domain/share/to/repo

где repo - это папка, в которой находится каталог .git. При извлечении из извлеченной рабочей копии вы не сможете push внести изменения в репо, пока на repo не будет извлечена другая ветвь, как та, к которой вы хотите перейти.

Итак, если вы потянули и хотите отправить изменения обратно в ветку master, вы не сможете нажать, пока не будет извлечена другая ветка на hostname.domain/share/to/repo. Один рабочий процесс должен иметь неиспользуемую ветвь (например, называемую unused_branch) и проверить эту ветку на hostname.domain перед тем, как вы push вернете свои изменения.

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

3 голосов
/ 05 января 2011

Да, хотя это будет зависеть от того, какие механизмы обмена файлами у вас есть. Ваш второй пользователь почти наверняка не будет размещать свой репозиторий по HTTP по умолчанию, хотя вы можете настроить его, если хотите. Что вы, вероятно, хотите сделать, это использовать общий доступ к файлам XP, который вы можете сделать через IP, т.е.

git pull \\192.168.1.101\shared_directory\sandbox

если настроен общий каталог или

git pull \\192.168.1.101\c$\full_path_on_c_drive\sandbox

если общего каталога нет, но у вас достаточно прав доступа к их компьютеру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...