4

ローカルIPアドレスを使用して、特定のファイルまたは変更を別のユーザーの作業ディレクトリからプルすることは可能ですか?

例えば

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

両方のユーザーがWindowsXPを使用していることに注意してください。

ありがとう、

P。

4

3 に答える 3

8

Rupの答えとeckesの答えの両方の応答のおかげで、私はこれまでに次のことを思いついた。

ユーザーのPCのIPアドレスを知っている必要があり192.168.x.x(これは以下の例になります)、次にWindowsXPでフォルダーを共有する必要があります。

  1. ユーザーのPCで共有する目的のフォルダーを右クリックし、[プロパティ]を選択します。
  2. [共有]タブを選択します。
  3. [このフォルダを共有する]を選択し、フォルダに名前を付けます。これは、以下の例のようになります。
  4. [OK]をクリックします。

PCでは、プルする前に新しいリモートを追加するために、初期化された空のgitリポジトリが必要です。

例:

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

上記の問題は、共有フォルダの内容全体がコピーされることです。私はまだ別のユーザーの作業ディレクトリから個々のファイルをプルする方法を探しています。

于 2011-01-06T10:39:17.330 に答える
3

はい。ただし、使用しているファイル共有メカニズムによって異なります。他のユーザーは、必要に応じてこれを設定することもできますが、デフォルトでHTTPを介してリポジトリをホストすることはほぼ確実ではありません。おそらくやりたいことは、IP経由で実行できるXPのファイル共有を使用することです。

git pull \\192.168.1.101\shared_directory\sandbox

共有ディレクトリが設定されている場合、または

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

共有ディレクトリがないが、そのマシンへの十分なアクセス権がある場合。

于 2011-01-05T10:42:42.203 に答える
3

Rupの回答の代わりに、次を使用してWindowsドメインボックスにアクセスできます。

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

repoディレクトリを含むフォルダはどこにありますか.git。チェックアウトされた作業コピーからプルする場合、プッシュ先のブランチとしてpush別のブランチがチェックアウトされるまで、変更をリポジトリに戻すことはできませんrepo

したがって、プルして変更をブランチにプッシュバックしたい場合は、master別のブランチがチェックアウトされるまでプッシュできませんhostname.domain/share/to/repo。1つのワークフローは、未使用のブランチ(たとえば、と呼ばれる)を用意し、変更を元に戻す前にunused_branchこのブランチをチェックアウトすることです。hostname.domainpush

よりクリーンな代替手段は、あなたと他のユーザーがアクセスできるコンピューター上に裸のリポジトリを置くことです。その場合、pushベアリポジトリにはチェックアウトされた作業コピーがないため、前に別のブランチをチェックアウトする必要はありません。

于 2011-01-05T10:51:18.590 に答える