是否可以使用本地 IP 地址从其他用户的工作目录中提取特定文件或更改?
例如
git pull http://192.168.1.101/sandbox/somefile.php
应该注意的是,这两个用户都使用的是 Windows XP。
谢谢,
P。
感谢 Rup 的回答和 eckes 的回答,到目前为止,我想出了以下几点:
您需要知道用户 PC 的 IP 地址192.168.x.x
(这将在下面的示例中),然后您需要在 Windows XP 中共享该文件夹。
在您的 PC 上,您需要有一个已初始化且空的 git 存储库,以便您在拉取之前添加新的远程。
例子:
git init
git remote add <alias> //<ip_address>/<shared_folder_name>
git pull <alias> <branch>
上面的问题是它会复制共享文件夹的全部内容。我仍在寻找一种从其他用户工作目录中提取个人文件的方法。
是的,尽管这取决于您拥有的文件共享机制。默认情况下,您的其他用户几乎肯定不会通过 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
如果没有共享目录但您对他们的机器有足够的访问权限。
作为Rup 答案的替代方案,您可以使用访问 windows 域框
git pull //hostname.domain/share/to/repo
repo
包含该.git
目录的文件夹在哪里。从签出的工作副本中提取时,您将无法将push
更改返回到存储库,直到签出另一个分支repo
作为您要推送到的分支。
因此,如果您拉出并想要将更改推送回分支master
,则在签出另一个分支之前您将无法推送hostname.domain/share/to/repo
。一个工作流程是拥有一个未使用的分支(例如,称为)并在您更改回来之前unused_branch
检查该分支。hostname.domain
push
更简洁的选择是在您和其他用户可以访问的计算机上拥有一个裸仓库。在这种情况下,您可以push
不必先签出另一个分支,因为裸仓库没有签出的工作副本。