客户端。
git并没有服务端,不要求特殊的服务端程序。
至于git remote,这个,git仅需要远程为它提供一套可管理文件的通道而已,如ssh和https。
所以,git remote可以是包括本地磁盘另一个文件夹在内的很多种。git push操作就是你操作的那个git直接对远程的文件进行的管理。
至于github服务,它必然是在前前后后挂了一堆操作,但对你操作的git程序来讲,它github远程和别的远程并无二致。
git宣称的它是分布式版本系统,就是如此,在这个系统中,它所有的机器上仓库都被认为是平等的,机器或者程序就是这么认为的。至于我们喜欢上把某一台服务器或者github作为中心仓库作为权威仓库,那只是我们人的看法和用法。
觉得说的好的,就点个赞呗。这绝对有益于你理解git操作,更好地利用git为我们服务。Enjoy GIT
git本身是个单机版,没有客户端和服务端。
git remote的原理就是直接把另一个git库做个本地镜像。更新本地镜像就是git fetch,pull就是更新本地镜像然后再把镜像和本地分支合并……
过去大家用来下盗版的 BT (BitTorrent) 是客户端还是服务器端?P2P(点对点协议,不是贷款那个 P2P)的软件都同时是客户端和服务器端,它们直接跟小伙伴通信,不经过服务器端协调和中转。
Git 也是一样的,你看到可以给你 push 和 pull 的服务器端,其实跟你的客户端没有本质差异。你们之间的通信,是两个 Git 之间的对等通信。