如何在本地网络上设置 Git?
How to setup Git on local network?
我下载了 Git 安装程序并尝试为我网络中的计算机进行安装。我搜索了该过程,但发现它用于在 github.com 上在线托管代码。我找到了一些链接,但没有完整的过程。
我知道如何推和拉。
您必须在服务器端创建一个存储库。转到应该是存储库的文件夹并执行:
git init --bare
然后您必须使用以下命令在您的客户端上克隆存储库:
git clone user@gitserver:/path/to/your/folder
观看 this 了解更多信息。
创建新存储库
- 使用 git 创建目录 bash 或手动创建
用户按照命令创建存储库
cd /repo/path/projectname.git
git init --bare
初始化目录后共享目录并授予本地组所有权限
创建本地工作区
为本地用户或其他计算机创建另一个本地存储库,以相同的顺序使用以下命令
cd ~/workspace/local/path
git init
git clone user@gitserver:/path/to/your/folder
git add origin repo/path
git add .
git status
git commit
如果您询问如何连接到同一网络上另一台计算机托管的存储库,请查看 this Whosebug thread。
基本上,您需要使用 git daemon。如果您只需要设置一个存储库,那是每台机器的一行:
服务器:
git daemon --base-path=/path/to/repo --export-all
客户:
git remote add LocalServerName git://<serveraddress>/
或
git clone git://<serveraddress>/
其中 <serveraddress>
是对该机器的一些引用(IPv4、IPv6、.local 等)。您还可以为 daemon
命令指定 --verbose 以获得更详细的输出。
我认为,您也可以 --base-path
指向一个包含许多存储库的文件夹,这样您就可以在客户端指定您想要的项目,如下所示:
git daemon --base-path=/path/to/all/repos
git remote add ServerName git://<serveraddress>/MyProject/
请注意:使用 --export-all 将使网络上的任何计算机从您的存储库中提取。
就像 1、2、3、4 一样简单:
1) 转到要初始化服务器的文件夹(例如:c:\temp
)。
2) 打开此文件夹中的 git bash
。
3) 类型:
git init projectName --bare // e.g => git init test --bare
好了,您刚刚设置了服务器!
4) 选择要初始化客户端存储库的位置并在那里打开 git bash
。
类型:
git clone path/projectName // e.g => git clone c:/temp/test
IMPORTANT! DO NOT FORGET TO CHANGE BACKSLASH (\
) IN THE PATH TO
DIRECT SLASH(/
).
您可以照常使用此存储库并使用您喜欢的 git 客户端打开它。
从本地网络中的另一台计算机连接到此服务器:
(in windows 7) 首先进入控制面板 > 网络和共享中心 > 更改高级共享设置。
勾选开启网络发现。
然后转到您设置服务器的文件夹,并将其共享给您想要授予访问权限的用户。
然后输入:
git clone //ip/projectName // e.g => git clone //192.168.11.125/test
希望有用。
来自JJ-Brown's
Basically, you'll want to use git daemon.
为此,请确保使用 Git 2.32(2021 年第 2 季度):“git daemon
"(man) 已针对以反斜杠作为目录分隔符的系统收紧。
见commit 9a7f1ce (25 Mar 2021) by René Scharfe (rscharfe
)。
(由 Junio C Hamano -- gitster
-- in commit bde35a2 合并,2021 年 4 月 8 日)
daemon
: sanitize all directory separators
Signed-off-by: René Scharfe
Acked-by: Johannes Schindelin
When sanitizing client-supplied strings on Windows, also strip off backslashes, not just slashes.
在[计算机 1]
中创建扩展名为 .git
的服务器文件夹 [repository]
mkdir folder.git
cd folder.git
git init --bare
在您网络中的另一台计算机中 [计算机 2]
mkdir myApp
cd myApp
git init
git add .
git commit -m "first commit"
git remote add origin alex@195.185.1.65:/home/alex/folder.git
git push origin master
- 将
alex
替换为您的用户名
- 将
195.185.1.65
替换为您的服务器计算机的 IP 地址
您网络中的任何计算机都可以访问存储库 [folder.git]
git clone alex@195.185.1.65:/home/alex/folder.git
- 这将下载名称为
folder
的目录,就像您从 GitHub. 执行此操作一样
假设
git
默认使用 ssh 协议在计算机之间进行连接。
- 您可以通过从远程计算机执行
ssh alex@195.185.1.65
来设置 ssh,它会询问您是否允许连接,写 yes。我认为这比将 public 密钥 复制到位于 /home/.ssh/authorized_keys
的服务器 授权密钥 文件更容易。
- 记得将
alex
替换为您的 用户名,还有 195.185.1.65
替换为您的 IP 地址。
我下载了 Git 安装程序并尝试为我网络中的计算机进行安装。我搜索了该过程,但发现它用于在 github.com 上在线托管代码。我找到了一些链接,但没有完整的过程。
我知道如何推和拉。
您必须在服务器端创建一个存储库。转到应该是存储库的文件夹并执行:
git init --bare
然后您必须使用以下命令在您的客户端上克隆存储库:
git clone user@gitserver:/path/to/your/folder
观看 this 了解更多信息。
创建新存储库
- 使用 git 创建目录 bash 或手动创建
用户按照命令创建存储库
cd /repo/path/projectname.git git init --bare
初始化目录后共享目录并授予本地组所有权限
创建本地工作区
为本地用户或其他计算机创建另一个本地存储库,以相同的顺序使用以下命令
cd ~/workspace/local/path git init git clone user@gitserver:/path/to/your/folder git add origin repo/path git add . git status git commit
如果您询问如何连接到同一网络上另一台计算机托管的存储库,请查看 this Whosebug thread。
基本上,您需要使用 git daemon。如果您只需要设置一个存储库,那是每台机器的一行:
服务器:
git daemon --base-path=/path/to/repo --export-all
客户:
git remote add LocalServerName git://<serveraddress>/
或
git clone git://<serveraddress>/
其中 <serveraddress>
是对该机器的一些引用(IPv4、IPv6、.local 等)。您还可以为 daemon
命令指定 --verbose 以获得更详细的输出。
我认为,您也可以 --base-path
指向一个包含许多存储库的文件夹,这样您就可以在客户端指定您想要的项目,如下所示:
git daemon --base-path=/path/to/all/repos
git remote add ServerName git://<serveraddress>/MyProject/
请注意:使用 --export-all 将使网络上的任何计算机从您的存储库中提取。
就像 1、2、3、4 一样简单:
1) 转到要初始化服务器的文件夹(例如:c:\temp
)。
2) 打开此文件夹中的 git bash
。
3) 类型:
git init projectName --bare // e.g => git init test --bare
好了,您刚刚设置了服务器!
4) 选择要初始化客户端存储库的位置并在那里打开 git bash
。
类型:
git clone path/projectName // e.g => git clone c:/temp/test
IMPORTANT! DO NOT FORGET TO CHANGE BACKSLASH (
\
) IN THE PATH TO DIRECT SLASH(/
).
您可以照常使用此存储库并使用您喜欢的 git 客户端打开它。
从本地网络中的另一台计算机连接到此服务器:
(in windows 7) 首先进入控制面板 > 网络和共享中心 > 更改高级共享设置。 勾选开启网络发现。
然后转到您设置服务器的文件夹,并将其共享给您想要授予访问权限的用户。
然后输入:
git clone //ip/projectName // e.g => git clone //192.168.11.125/test
希望有用。
来自JJ-Brown's
Basically, you'll want to use git daemon.
为此,请确保使用 Git 2.32(2021 年第 2 季度):“git daemon
"(man) 已针对以反斜杠作为目录分隔符的系统收紧。
见commit 9a7f1ce (25 Mar 2021) by René Scharfe (rscharfe
)。
(由 Junio C Hamano -- gitster
-- in commit bde35a2 合并,2021 年 4 月 8 日)
daemon
: sanitize all directory separatorsSigned-off-by: René Scharfe
Acked-by: Johannes Schindelin
When sanitizing client-supplied strings on Windows, also strip off backslashes, not just slashes.
在[计算机 1]
中创建扩展名为.git
的服务器文件夹 [repository]
mkdir folder.git
cd folder.git
git init --bare
在您网络中的另一台计算机中 [计算机 2]
mkdir myApp
cd myApp
git init
git add .
git commit -m "first commit"
git remote add origin alex@195.185.1.65:/home/alex/folder.git
git push origin master
- 将
alex
替换为您的用户名 - 将
195.185.1.65
替换为您的服务器计算机的 IP 地址
您网络中的任何计算机都可以访问存储库 [folder.git]
git clone alex@195.185.1.65:/home/alex/folder.git
- 这将下载名称为
folder
的目录,就像您从 GitHub. 执行此操作一样
假设
git
默认使用 ssh 协议在计算机之间进行连接。- 您可以通过从远程计算机执行
ssh alex@195.185.1.65
来设置 ssh,它会询问您是否允许连接,写 yes。我认为这比将 public 密钥 复制到位于/home/.ssh/authorized_keys
的服务器 授权密钥 文件更容易。 - 记得将
alex
替换为您的 用户名,还有195.185.1.65
替换为您的 IP 地址。