如果我想通过ssh访问远程存储库,那么安装Git server是否有必要?
请您解释一下,如果我只需要将存储库放在远程机器上并通过ssh访问它,我真的需要在远程机器上安装git server吗 我的无知可能是因为误解了一些关键的git操作原理,所以如果有人能给我解释一下,我会很高兴 我认为,git的远程服务器只是一个存储文件的地方,就像我的PC的本地文件夹一样,我可以让具有ssh访问权限的远程服务器在其上托管我的repo,而无需在那里安装git服务器二进制文件如果我想通过ssh访问远程存储库,那么安装Git server是否有必要?,git,Git,请您解释一下,如果我只需要将存储库放在远程机器上并通过ssh访问它,我真的需要在远程机器上安装git server吗 我的无知可能是因为误解了一些关键的git操作原理,所以如果有人能给我解释一下,我会很高兴 我认为,git的远程服务器只是一个存储文件的地方,就像我的PC的本地文件夹一样,我可以让具有ssh访问权限的远程服务器在其上托管我的repo,而无需在那里安装git服务器二进制文件 可能吗?如果没有,你能解释一下我错过了什么吗?当然可以在没有“git服务器”的情况下进行ssh访问。 不过,您
可能吗?如果没有,你能解释一下我错过了什么吗?当然可以在没有“git服务器”的情况下进行ssh访问。
不过,您需要一个ssh服务器(守护进程) 不要混合使用“远程服务器”和“远程(或实际上是上游)repo”:远程repo可以是当前repo(本地协议)旁边的一个简单目录 就是一个很好的例子,它使用ssh的强制命令机制来管理授权(而不是访问)。
请注意,只需一个sshd就足以实现git-repo访问
另请参阅Git支持的各种协议。如果通过SSH操作,则不需要Git服务器。诀窍是获得正确的文件权限,以便每个人都可以编辑文件 如果您只是为了自己,请在服务器上:
git init --bare
如果您与其他开发人员合作,则需要:
mkdir repo
chgrp GROUP repo
chmod g+rwxs repo
cd repo
git init --bare --shared=group
git运行所需的所有文件都存储在本地签出(在
.git
目录中)。您只需通过SSH访问git存储库,并将其有效地当作本地机器上的存储库,例如,通过本地装载远程文件夹
但是,我不知道您为什么要这样做。如果不安装git二进制文件,您就无法做任何有用的事情。如果您只是想使用存储库进行私有版本控制,那么您最好在本地安装并运行,然后使用常用的备份方法进行备份。如果您想使用存储库与其他人协作,那么您需要所有合作者都可以访问的服务器上可用的git二进制文件
git“服务器”和git“客户端”之间没有明显的区别。它是一个分布式版本控制系统,这意味着每个签出本身就是一个功能齐全的版本存储库。+1指出这一点(在大多数情况下)你确实需要在远程机器上安装git,即使你不需要任何特殊的服务器软件。为了方便起见,我将使用remote server在我的三台电脑上同步我的工作。除了我之外,没有人会使用它。因此,我想我可以通过SSH创建远程存储库,对吗?你真的需要在远程机器上安装git来实现p是的,基本上-你只需要一个非常小的命令集(请参阅,但是只安装
git
要比减少到这个集容易得多。结果是,当你通过ssh推送时,你实际上是在远程上运行git命令。”通过在本地挂载远程文件夹“-我不认为这在所有情况下都有效。如果不同机器上的两个用户从第三台机器上安装了相同的git repo,该怎么办。文件锁定和存在两个可能不同版本的git真的有效吗?在所有情况下?在远程机器上安装git允许每个用户的git在远程机器上运行git命令(例如,相同的git,具有相同的文件系统)。这将保证文件锁定和访问正常工作。