A电脑共享git仓库目录(C:\Users\xxx\Desktop\code\cpp-httplib
)的文件夹,将文件夹权限更改为Everyone读取写入
比如A的ip是100.74.215.22,共享cpp-httplib的目录(该目录下存在.git)
在另一台电脑B上,命令行输入一下命令,即可克隆(如果是在A电脑的其他目录,可以输入git clone file:///C:\Users\xxx\Desktop\code\cpp-httplib
)
|
|
在B电脑克隆后的目录中,可以看到.git/config文件可以看到远端增加了一个局域网能访问的远端位置(如果是在A电脑的其他目录,url = file:///C:\Users\xxx\Desktop\code\cpp-httplib
):
一般来说他是一个git服务器的地址,比如
|
|
此时,B电脑可以对该仓库进行一些更改,比如创建一个分支LJL,做一个提交
再推回远端仓库git push origin LJL
这个origin即是上面截图红框圈起的别名,也就是向A电脑的远端推送LJL分支。
推送一个新分支显然是一个无害的操作,可以顺利进行。
注意,如果你想要在B电脑的master分支更新一次提交然后推送到A电脑,同时远端(A电脑)的HEAD指针也在master分支。B电脑提交master分支更新A电脑的HEAD指针,这是不被允许的。git会拒绝push到A电脑
如果想解除限制,可以在A电脑的目录下,git config --local receive.denyCurrentBranch ignore
,
它的作用等价于在A电脑的.git/config文件添加[receive] denyCurrentBranch = ignore
这两行
|
|
B电脑就可以更新A电脑的HEAD指针了,当然如果A电脑工作区有内容没有保存,会造成混乱。试了一下远端会暂存一次更改,再用新的HEAD覆盖,确实挺混乱的。