首页服务器git服务器安装 windows怎么安装git服务器

git服务器安装 windows怎么安装git服务器

编程之家2023-10-21109次浏览

大家好,今天小编来为大家解答以下的问题,关于git服务器安装,windows怎么安装git服务器这个很多人还不知道,现在让我们一起来看看吧!

git服务器安装 windows怎么安装git服务器

mac 怎么安装git 服务器

本文介绍如何在 mac机器上创建 Git服务器,总体思路是:使用gitosis来简化创建过程,在用作服务器的机器上创建一个名为 git的账户来创建 git服务器,其他客户端通过 ssh机制访问 git服务器。

一,创建 git账户

1,在用作服务器的机器上创建 git账户。我们可以通过 System Preferences->accounts来添加。在这里我添加一个 git的 administrator账户,administrator不是必须的,在这里仅仅为了方便。

2,设置远程访问

logout当前账户,使用 git账户登录;在 System Preferences->Sharing中,勾选 Remote Login。

二,下载安装 gitosis

git服务器安装 windows怎么安装git服务器

1,Mac OSX Yosemite默认已经为我们安装了 Git和 Python,可以使用如下命令查看其版本信息:

yourname:~ git$git--version

git version 2.3.2(Apple Git-55)

yourname:~ git$python--version

Python 2.7.9

2,通过命令 git clone git@github.com:tv42/gitosis.git来下载 gitosis

git服务器安装 windows怎么安装git服务器

yourname:~ git$ git clone git@github.com:tv42/gitosis.git

Cloning into gitosis

remote: Counting objects: 614, done.

remote: Compressing objects: 100%(183/183), done.

remote: Total 614(delta 434), reused 594(delta 422)

Receiving objects: 100%(614/614), 93.82 KiB| 45 KiB/s, done.

Resolving deltas: 100%(434/434), done.

3,进入 gitosis目录,使用命令 sudo python setup.py install来执行 python脚本来安装 gitosis。

yourname:~ git$ cd gitosis/yourname:gitosis git$ sudo python setup.py install

running install

running bdist_egg

running egg_info

creating gitosis.egg-info

……

Using/Library/Python/2.6/site-packages/setuptools-0.6c9-py2.6.egg

Finished processing dependencies for gitosis==0.2

三,制作 ssh rsa公钥

1,回到 client机器上,制作 ssh公钥。在这里我的使用同一台机器上的另一个账户作为 client。如果作为 client的机器与作为 server的机器不是同一台,也是类型的流程:制作公钥,放置到服务的/tmp目录下。只不过在同一台机器上,我们可以通过开启另一个 terminal,使用 su切换到 local账户就可以同时操作两个账户。

yourname:~ git$ su local_accountPassword:bash-3.2$ cd~

bash-3.2$ ssh-keygen-t rsa

Generating public/private rsa key pair.

Enter file in which to save the key(/Users/local_account/.ssh/id_rsa):

Enter passphrase(empty for no passphrase):

Enter same passphrase again:Your identification has been saved in/Users/local_account/.ssh/id_rsa.

Your public key has been saved in/Users/local_account/.ssh/id_rsa.pub.

bash-3.2$ cd.ssh

bash-3.2$ ls

id_rsa id_rsa.pub

bash-3.2$ cp id_rsa.pub/tmp/yourame.pub

在上面的命令里,首先通过 su切换到 local账户(只有在同一台机器上才有效),然后进入到 local账户的 home目录,使用 ssh-keygen-t rsa生成 id_rsa.pub,最后将该文件拷贝放置到/tmp/yourname.pub,这样 git账户就可以访问 yourname.pub了,在这里改名是为了便于在 git中辨识多个 client。

四,使用 ssh公钥初始化 gitosis

1,不论你是以那种方式(邮件,usb等等)拷贝 yourname.pub至服务器的/tmp/yourname.pub。下面的流程都是一样,登入服务器机器的 git账户,进入先前提到 gitosis目录,进行如下操作初始化 gitosis,初始化完成后,会在 git的 home下创建 repositories目录。

yourname:gitosis git$ sudo-H-u git gitosis-init</tmp/yourname.pub

Initialized empty Git repository in/Users/git/repositories/gitosis-admin.git/

Reinitialized existing Git repository in/Users/git/repositories/gitosis-admin.git/

在这里,会将该 client当做认证受信任的账户,因此在 git的 home目录下会有记录,文件 authorized_keys的内容与 yourname.pub差不多。

yourname:~ git$ cd~yourname:~ git$ cd.sshyourname:.ssh git$ ls

authorized_keys

我们需要将 authorizd_keys稍做修改,用文本编辑器打开它,删除里面的"command="gitosis-serve yourname",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty"这一行:

yourname:.ssh git$ open-e authorized_keys

然后,我们对 post-update赋予可写权限,以便 client端可以提交更改。

yourname:gitosis git$ sudo chmod 755/Users/git/repositories//gitosis-admin.git/hooks/post-update

Password:

yourname:.ssh git$ cd~

yourname:~ git$ cd repositories/

yourname:repositories git$ ls

gitosis-admin.git

yourname:repositories git$

在上面的命令中可以看到,gitosis也是作为仓库的形式给出,我们可以在其他账户下 checkout,然后对 gitosis进行配置管理等等,而无需使用服务器的 git账户进行。

最后一步,修改 git账户的 PATH路径。

yourname:gitosis git$ touch~/.bashrc

yourname:gitosis git$ echo PATH=/usr/local/bin:/usr/local/git/bin:\$PATH>.bashrc

yourname:gitosis git$ echo export PATH>>.bashrc

yourname:gitosis git$ cat.bashrc

PATH=/usr/local/bin:/usr/local/git/bin:$PATHexport PATH

至此,服务器的配置完成。

五,client配置

1,回到 local账户,首先在 terminal输入如下命令修改 local的 git配置:

bash-3.2$ git config--global user.name"yourgitname"bash-3.2$ git config--global user.email"yourmail@yourcom.com"

2,测试服务器是否连接正确,将 10.1.4.211换成你服务的名称或服务器地址即可。

yourname:~ local_account$ ssh git@10.1.4.211Last login: Mon Nov 7 13:11:38 2011 from 10.1.4.211

3,在本地 clone服务器仓库,下面以 gitosis-admin.git为例:

bash-3.2$ git clone git@10.1.4.211:repositories/gitosis-admin.git

Cloning into gitosis-adminremote: Counting objects: 5, done.remote: Compressing objects: 100%(5/5), done.remote: Total 5(delta 0), reused 5(delta 0)

Receiving objects: 100%(5/5), done.

bash-3.2$ ls

Desktop InstallApp Music Sites

Documents Library Pictures gitosis-admin

Downloads Movies Public

bash-3.2$ git

在上面的输出中可以看到,我们已经成功 clone服务器的 gitosis-admin仓库至本地了。

4,在本地管理 gitosis-admin:

进入 gitosis-admin目录,我们来查看一下其目录结构:gitosis.conf文件是一个配置文件,里面定义哪些用户可以访问哪些仓库,我们可以修改这个配置;`keydir`是存放ssh公钥的地方。

bash-3.2$ cd gitosis-admin/

bash-3.2$ ls

gitosis.conf keydir

bash-3.2$ cd keydir/

bash-3.2$ ls

yourname.pub

我们只需要将其他 client产生的 ssh公钥添加到 keydir目录下,并在 gitosis.conf文件中配置这些用户可以访问的仓库(用户名与放置在 keydir下sh公钥名相同,这就是在前面我们要修改ssh公钥名的原因),然后将改动提交至服务器,这样就可以让其他的 client端访问服务器的代码仓库了。

5,仓库权限管理

gitosis.conf文件是用来设置用户、仓库和权限的控制文件。keydir目录则是保存所有具有访问权限用户公钥的地方—每人一个。在 keydir里的文件名(比如上面的 yourname.pub)应该跟你的不一样— Gitosis会自动从使用 gitosis-init脚本导入的公钥尾部的描述中获取该名字。

看一下 gitosis.conf文件的内容,它应该只包含与刚刚克隆的 gitosis-admin相关的信息:

$ cat gitosis.conf

[gitosis]

[group gitosis-admin]

members= scott

writable= gitosis-admin

它显示用户 yourname—初始化 Gitosis公钥的拥有者—是唯一能管理 gitosis-admin项目的人。

现在我们来添加一个新项目。为此我们要建立一个名为 mobile的新段落,在其中罗列手机开发团队的开发者,以及他们拥有写权限的项目。由于 yourname是系统中的唯一用户,我们把他设为唯一用户,并允许他读写名为 iphone_project的新项目:

[group mobile]

members= scott

writable= iphone_project

修改完之后,提交 gitosis-admin里的改动,并推送到服务器使其生效:

$ git commit-am'add iphone_project and mobile group'[master 8962da8] add iphone_project and mobile group

1 file changed, 4 insertions(+)

$ git push origin master

Counting objects: 5, done.

Compressing objects: 100%(3/3), done.

Writing objects: 100%(3/3), 272 bytes| 0 bytes/s, done.

Total 3(delta 0), reused 0(delta 0)

To git@gitserver:gitosis-admin.git

fb27aec..8962da8 master-> master

6,添加新项目到仓库种

在新工程 iphone_project里首次推送数据到服务器前,得先设定该服务器地址为远程仓库。但你不用事先到服务器上手工创建该项目的裸仓库— Gitosis会在第一次遇到推送时自动创建:

$ git remote add origin git@gitserver:iphone_project.git

$ git push origin master

Initialized empty Git repository in/opt/git/iphone_project.git/

Counting objects: 3, done.

Writing objects: 100%(3/3), 230 bytes| 0 bytes/s, done.

Total 3(delta 0), reused 0(delta 0)

To git@gitserver:iphone_project.git

* [new branch] master-> master

请注意,这里不用指明完整路径(实际上,如果加上反而没用),只需要一个冒号加项目名字即可— Gitosis会自动帮你映射到实际位置。

要和朋友们在一个项目上协同工作,就得重新添加他们的公钥。不过这次不用在服务器上一个一个手工添加到~/.ssh/authorized_keys文件末端,而只需管理 keydir目录中的公钥文件。文件的命名将决定在 gitosis.conf中对用户的标识。现在我们为 John,Josie和 Jessica添加公钥:

$ cp/tmp/id_rsa.john.pub keydir/john.pub

$ cp/tmp/id_rsa.josie.pub keydir/josie.pub

$ cp/tmp/id_rsa.jessica.pub keydir/jessica.pub

然后把他们都加进 mobile团队,让他们对 iphone_project具有读写权限:

[group mobile]

members= scott john josie jessica

writable= iphone_project

如果你提交并推送这个修改,四个用户将同时具有该项目的读写权限。

Gitosis也具有简单的访问控制功能。如果想让 John只有读权限,可以这样做:

[group mobile]

members= scott josie jessica

writable= iphone_project

[group mobile_ro]

members= johnreadonly= iphone_project

现在 John可以克隆和获取更新,但 Gitosis不会允许他向项目推送任何内容。像这样的组可以随意创建,多少不限,每个都可以包含若干不同的用户和项目。甚至还可以指定某个组为成员之一(在组名前加上@前缀),自动继承该组的成员:

[group mobile_committers]

members= scott josie jessica

[group mobile]

members=@mobile_committers

writable= iphone_project

[group mobile_2]

members=@mobile_committers john

writable= another_iphone_project

如果遇到意外问题,试试看把 loglevel=DEBUG加到 [gitosis]的段落(译注:把日志设置为调试级别,记录更详细的运行信息。)。如果一不小心搞错了配置,失去了推送权限,也可以手工修改服务器上的/home/git/.gitosis.conf文件— Gitosis实际是从该文件读取信息的。它在得到推送数据时,会把新的 gitosis.conf存到该路径上。所以如果你手工编辑该文件的话,它会一直保持到下次向 gitosis-admin推送新版本的配置内容为

怎么clone自己搭建的git服务器

首先需要装好CentOS系统,作为测试,你可以选择装在虚拟机上,这样比较方便。这步默认你会,就不讲了。

有了CentOS,那么如何搭建Git服务器呢?

1、首先需要安装Git,可以使用yum源在线安装:

[root@localhost Desktop]# yum install-y git

2、创建一个git用户,用来运行git服务

# adduser git

3、初始化git仓库:这里我们选择/data/git/learngit.git来作为我们的git仓库

[root@localhost git]# git init--bare learngit.git

Initialized empty Git repository in/data/git/learngit.git/

执行以上命令,会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:

[root@localhost git]# chown git:git learngit.git

4、在这里,Git服务器就已经搭得差不多了。下面我们在客户端clone一下远程仓库

Zhu@XXX/E/testgit/8.34

$ git clone git@192.168.8.34:/data/git/learngit.git

Cloning into'learngit'...

The authenticity of host'192.168.8.34(192.168.8.34)' can't be established.

RSA key fingerprint is 2b:55:45:e7:4c:29:cc:05:33:78:03:bd:a8:cd:08:9d.

Are you sure you want to continue connecting(yes/no)? yes

Warning: Permanently added'192.168.8.34'(RSA) to the list of known hosts.

git@192.168.8.34's password:

这里两点需要注意:第一,当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:

The authenticity of host'github.com(xx.xx.xx.xx)' can't be established.

RSA key fingerprint is xx.xx.xx.xx.xx.

Are you sure you want to continue connecting(yes/no)?

这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。

Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:

Warning: Permanently added'github.com'(RSA) to the list of known hosts.

这个警告只会出现一次,后面的操作就不会有任何警告了。

如果你实在担心有人冒充GitHub服务器,输入yes前可以对照GitHub的RSA Key的指纹信息是否与SSH连接给出的一致。

第二,这里提示你输入密码才能clone,当然如果你知道密码,可以键入密码来进行clone,但是更为常见的方式,是利用SSH的公钥来完成验证。

5、创建SSH Key

首先在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen-t rsa-C"youremail@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

6、Git服务器打开RSA认证

然后就可以去Git服务器上添加你的公钥用来验证你的信息了。在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,即:

1.RSAAuthentication yes

2.PubkeyAuthentication yes

3.AuthorizedKeysFile.ssh/authorized_keys

这里我们可以看到公钥存放在.ssh/authorized_keys文件中。所以我们在/home/git下创建.ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。

然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了:

Zhu@XXX/E/testgit/8.34

$ git clone git@192.168.8.34:/data/git/learngit.git

Cloning into'learngit'...

warning: You appear to have cloned an empty repository.

Checking connectivity... done.

7、禁用git用户的shell登陆

出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

git:x:1001:1001:,,,:/home/git:/bin/bash

最后一个冒号后改为:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

windows怎么安装git服务器

Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP, HTTPS, SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在windows下的开发要把自己的Git仓库共享出去的话,就必须做SSH服务器。

一、安装GIT

Windows下使用msysgit,

本文使用Git-1.7.8-preview20111206.exe安装要点步骤

安装完成后,可以使用Git bash在命令行模式下操作git

二、安装CopSSH

安装CopSSH之前先确保防火墙开启了SSH端口,这个虽然不影响CopSSH的安装,但是影响SSH访问,所以写在前面。

CopSSH是windows下的SSH服务器软件,下载地址baidu之,本文使用的是Copssh_4.1.0_Installer.exe,

安装完成后,到控制面板中新建一个管理员账户root,用这个账户来共享SSH。然后你在账户管理中会看到之前的SvcCOPSSH账户。

将root用户添加到CopSSH用户中,为简单操作,允许使用密码认证方式

若是不允许密码认证,则需要使用公钥密钥方式认证,

三、CopSSH中使用GIT

现在已经安装GIT和CopSSH,接下来需要做的就是让CopSSH可以使用GIT的命令,这样不仅能够远程SSH管理GIT服务器,而且可以将GIT仓库通过SSH共享。具体的操作方法是将GIT的某些命令程序和动态链接库复制到CopSSH安装目录下即可。

l将$ Git\libexec\git-core目录下的git.exe, git-receive-pack.exe, git-upload-archive.exe, git-upload-pack.exe复制到$ICW\bin目录下

l将$Git\bin目录下的libiconv-2.dll复制到$ICW\bin目录下

重启CopSSH即可

关于git服务器安装,windows怎么安装git服务器的介绍到此结束,希望对大家有所帮助。

数据库数据分析 sql数据分析是啥意思数据库 实现?简述数据库设计过程