windows – 如何在linux上设置私有git服务器

前端之家收集整理的这篇文章主要介绍了windows – 如何在linux上设置私有git服务器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试过跟着 how-set-up-your-own-private-git-server-linuxprivate-remote-git-repositories-ubuntu-linode,但我仍然有问题.

我的本地环境是windows和我的远程linux.我有几个问题:

>在第一篇文章中,它描述了为服务器设置一个公共ssh密钥 – 我从来没有这样做,我不知道在哪里键入命令(甚至不知道本地或远程!!):ssh myuser @ server.com mkdir .ssh和scp〜/ .ssh / id_rsa.pub myuser@server.com:.ssh / authorized_keys
>在我本地的dev机器上应该运行msysgit?有没有替代,因为我安装的版本占用了1.4 GB!我从http://code.google.com/p/msysgit/downloads/list安装了msysGit-netinstall-1.7.4-preview20110204.exe

我试图跳过git用户和公钥,在远程机器上创建存储库,但是当我尝试git remote add origin ssh:// [username] @ [domain / ip / hostname] / srv / git / [project-名称]作为root用户说:fatal:不是git仓库(或任何父目录):.git

我不知道这是否应该在这里,或者如果最好迁移到不同的网站,但由于我可以帮助我继续回答.

我只是撇去你链接文章.看起来他们都在处理通过ssh访问git服务器,这是我所关注的.

首先,在你的服务器上:

您需要在服务器上设置一个帐户,以便您可以登录.这可以是通用的git帐户,也可以是您自己的个人帐户.目前,我们假设您正在设置它与个人帐户配合使用.您想要做的是创建您的帐户,然后在该帐户(例如,在您的主目录中)可访问的位置创建git存储库.

mkdir myrepo.git
cd myrepo.git
git --bare init --shared=all

所以现在你在服务器上有一个git仓库.根据您正在使用的git客户端,您现在可能不需要混淆键.如果您的服务器上配置了SSH以允许密码登录,那么当需要与服务器进行交互时,您可能只需连接并输入密码即可.如果要设置键,您需要做的是生成一个ssh公钥.我不知道如何在Windows中执行此操作,但在linux中,您可以执行以下操作:

ssh-keygen -t rsa -b 1024

该命令将生成两个文件“id_rsa”和“id_rsa.pub”;您使用的任何工具也应该生成两个文件,一个公钥和一个私钥.它们可能具有不同的名称,但现在假设“id_rsa.pub”是您的公钥文件名称.

您要将公钥复制到服务器,您可以使用scp,ftp或使用thumbdrive将其移动.无论哪种方式,一旦你得到它到服务器,它可以访问您的用户,登录作为您的用户在服务器上.您要将公钥添加到“authorized_hosts”文件中,因此在登录到服务器上的帐户后,请执行以下操作:

cd
mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_hosts
rm id_rsa.pub

现在,从您的工作站,您需要配置您的ssh客户端以使用您生成的私钥.再次,我不知道如何在Windows上这样做,它可能会根据您使用的ssh客户端而有所不同,因此您需要在其他地方获取该信息.

接下来,您需要创建本地存储库,添加一些文件并进行提交.请注意,您无法克隆所做的远程存储库,因为没有任何内容.一旦您在本地做了一些提交,您需要将远程服务器设置在存储库中.

如果您使用git命令行工具,可以运行:

git remote add origin user@yourserver:myrepo.git

如果将存储库放在主目录以外的位置,请使用完整路径:

git remote add origin user@yourserver:/path/to/repo.git

请注意,您需要“.git”,因为您的目录名称具有“.git”作为名称的一部分.

如果您正在使用GUI工具,那么您只需编辑存储库的配置文件.这将在您的存储库的“.git / config”的顶层.你会想添加一些东西

[remote "origin"]
    url = user@yourserver:/path/to/repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*

现在您的远程设备已配置,并且本地有一些提交,您可以将主分支推送到服务器.如果使用命令行使用:

git push origin master

或者,如果你在另一个分支上工作:

git push origin mybranch

如果您正在使用GUI前端,那么您需要查找该工具的文档,了解如何推送.

猜你在找的Windows相关文章