A. 怎么在自己的服务器上建立git仓库
1.架设Git服务器我们以Ubuntu为例。首先,在git服务器上创建一个名为'git'的用户,并为其创建一个.ssh目录。并将其权限设置为仅git用户有读写权限$sudoadsergit$sugit$cd$mkdir.ssh$chmod700.ssh接下来,把开发者的SSH公钥添加到这个用户的authorized_keys文件中。假设你通过电邮收到了几个公钥并存到了临时文件里。重复一下,公钥大致看起来是这个样子:$cat/tmp/id_rsa.john.pubssh-/ww+/T17//5zytK6Ztg3RPKK+/nLF6JLtPofwFBlgc+AYYgPqdAv8JggJICUvax2T9va5gsg-keypair只要把它们逐个追加到authorized_keys文件尾部即可,同时将authorized_keys设置为仅git用户有读写权限。$cat/tmp/id_rsa.john.pub>>~/.ssh/authorized_keys$cat/tmp/id_rsa.josie.pub>>~/.ssh/authorized_keys$cat/tmp/id_rsa.jessica.pub>>~/.ssh/authorized_keys$chmod600~/.ssh/authorized_keys现在可以用--bare选项运行gitinit来建立一个裸仓库,这会初始化一个不包含工作目录的仓库。$cd/opt/git$mkdirproject.git$cdproject.git$git--bareinit这时,Join,Josie或者Jessica就可以把它加为远程仓库,推送一个分支,从而把第一个版本的项目文件上传到仓库里了。值得注意的是,每次添加一个新项目都需要通过shell登入主机并创建一个裸仓库目录。我们不妨以gitserver作为git用户及项目仓库所在的主机名。如果在网络内部运行该主机,并在DNS中设定gitserver指向该主机,那么以下这些命令都是可用的:#在John的电脑上$cdmyproject$gitinit$gitadd.$gitcommit-m'initialcommit'$gitremoteaddorigingit@gitserver:/opt/git/project.git$gitpushoriginmaster这样,其他人的克隆和推送也一样变得很简单:$gitclonegit@gitserver:/opt/git/project.git$vimREADME$gitcommit-am'fixfortheREADMEfile'$gitpushoriginmaster用这个方法可以很快捷地为少数几个开发者架设一个可读写的Git服务。作为一个额外的防范措施,你可以用Git自带的git-shell工具限制git用户的活动范围。只要把它设为git用户登入的shell,那么该用户就无法使用普通的bash或者csh什么的shell程序。编辑/etc/passwd文件:$sudovim/etc/passwd在文件末尾,你应该能找到类似这样的行:git:x:1000:1000::/home/git:/bin/sh把bin/sh改为/usr/bin/git-shell(或者用whichgit-shell查看它的实际安装路径)。该行修改后的样子如下:git:x:1000:1000::/home/git:/usr/bin/git-shell现在git用户只能用SSH连接来推送和获取Git仓库,而不能直接使用主机shell。尝试普通SSH登录的话,会看到下面这样的拒绝信息:$sshgit@gitserverfatal:WhatdoyouthinkIam?Ashell?Connectiontogitserverclosed.这里提供的方法,组内所有成员对project都有读写权限,也就是说每个分支都可以push代码,如果需要更加细致的权限控制,请使用Gitosis或者Gitolite。2.搭建Gitweb安装gitweb之后就可以通过网站访问我们的项目了。就像gitweb.conf#pathtogitprojects(.git)$projectroot="/opt/git";至此gitweb就可以使用了,现在可以通过config[core]repositoryformatversion=0filemode=truebare=true[hooks]mailinglist="[email protected],[email protected]"#收件人列表[email protected]#送件人地址emailprefix="[Projectcommit]"#邮件标题前缀showrev="gitshow-C%s;echo"#不只显示有变化的文件,同时也显示改变的内容为了使邮件显示的更清楚,还要修改一下工程目录当中的description文件,在description文件中,默认第一行是项目名称,所以要在第一行填入该项目的名称,这个在邮件中会有显示。$vim/opt/git/project.git/descriptionProject_A
B. 如何在linux下使用Gitblit工具创建Git仓库服务
首先在服务器上建立一个目录,并在该目录下安装最新的Gitblit。
$sudomkdir-p/opt/gitblit
$cd/opt/gitblit
从Gitblit官方站点下载最新版的Gitblit。这里安装1.6.2版本。所以,请在安装时根据具体的版本对命令进行修改。
$sudowgethttp://dl.bintray.com/gitblit/releases/gitblit-1.6.2.tar.gz
接下来,将下载到的tar压缩包解压至之前创建的目录/opt/gitblit/
$sudotar-zxvfgitblit-1.6.2.tar.gz
对Gitblit进行配置:如果需要定制Gitblit的行为,可以修改gitblit/data/gitblit.properties。在完成配置后,运行安装好的gitblit。有两种方式来运行gitblit,第一种是通过下面的命令手动运行:
$sudojava-jargitblit.jar--baseFolderdata
另一种是将gitblit添加为服务。下面是在linux下将gitblit添加为服务的步骤:
$sudo./install-service-ubuntu.sh
$sudoservicegitblitstart
在浏览器中打开http://localhost:8080或https://localhost:8443,也可以将localhost根据本地配置替换为IP地址。输入默认的管理员凭证:admin/admin并点击login按钮。
添加一个新的用户:首先,需要以admin用户登录,username=admin,password=admin。
然后,点击用户图标>users>(+)newuser来创建一个新用户
现在将创建一个开箱可用的仓库。点击repositories>(+)newrepository。
同样可以使用命令行创建一个新的仓库
touchREADME.md
gitinit
gitaddREADME.md
gitcommit-m"firstcommit"
gitremoteaddoriginssh://arunlinoxide@localhost:29418/linoxide.com.git
gitpush-uoriginmaster
请将其中的用户名arunlinoxide替换为添加的用户名。
在命令行中push一个已存在的仓库
gitremoteaddoriginssh://arunlinoxide@localhost:29418/linoxide.com.git
gitpush-uoriginmaster
注意:强烈建议所有人修改用户名“admin”的密码。
C. 如何创建 SVN 服务器,并搭建自己的 SVN 仓库
步骤一: 下载并安装 VisualSVN。
步骤二 : 搭建仓库 之【创建用户】。
步骤三 : 搭建仓库--- 之【创建仓库】。
说明:
如果需要在 Vista, Win7, Windows Server 2008 或者更高级的 Windows 系统上安装 SVN 服务器,使用 VisualSVN_Server_3.5.0.0 完全没有问题,但如果你想在 Windows Server 2003 上安装 SVN 服务器, 对不起,这个版本无法安装。
D. 如何在服务器新建git 代码仓库
git pull <name>
如果pull时提示“You asked me to pull without telling me whichbranch you want to merge with”,
说明本地有新建分支且已同步到服务器上,当从服务器下载代码时需要在本地config中配置该分支的merge信息。
配置时可以参考下面的例子:
$ git config branch.master.remote origin //master是分支名,origin是远程仓库名
$ git config branch.master.merge refs/heads/master!
E. 如何在服务器新建git 代码仓库
git
pull
如果pull时提示“You
asked
me
to
pull
without
telling
me
whichbranch
you
want
to
merge
with”,
说明本地有新建分支且已同步到服务器上,当从服务器下载代码时需要在本地config中配置该分支的merge信息。
配置时可以参考下面的例子:
$
git
config
branch.master.remote
origin
//master是分支名,origin是远程仓库名
$
git
config
branch.master.merge
refs/heads/master!
F. 如何搭建git私有仓库
以ubuntu服务器为例,如果要创建小范围的私有git服务器,是非常简单的,只需要如下几个简单步骤:
Step 1: 安装git
直接通过sudo apt-get install git即可完成。
Step 2: 创建git用户
git用户用来通过SSH连接git服务,输入命令:
$ sudo adser git
Step 3: 创建证书登录
首先收集所有需要登录的用户公钥,然后导入到/home/git/.ssh/authorized_keys文件即可。
Step 4: 初始化git仓库
假设仓库位于/srv/sample.git,在/srv目录下输入命令:
$ sudo git init --bare sample.git
这样就创建了一个裸仓库,裸仓库没有working dir,因为服务器上的git仓库纯粹是为了共享,仓库目录一般以.git结尾。然后把owner改为git:
$ sudo chown -R git:git sample.git
Step 5: 防止登录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。
Step 6: 克隆仓库
在客户端就可以通过ssh克隆仓库了:
$ git clone git@server:/srv/sample.gitCloning into 'sample'...warning: You appear to have cloned an empty repository.
然后,就可以正常推送了:
$ touch README$ git add README$ git commit -m "add readme"$ git push origin masterCounting objects: 3, done.Writing objects: 100% (3/3), 212 bytes, done.Total 3 (delta 0), reused 0 (delta 0)To git@ubuntu:/srv/sample.git
* [new branch] master -> master
G. 如何在Linux下使用Gitblit工具创建Git仓库服务
1.创建Gitblit安装目录
首先我们将在我们的服务器上建立一个目录,并在该目录下安装最新的Gitblit。
$ sudo mkdir -p /opt/gitblit$ cd /opt/gitblit
添加新的仓库
使用命令行创建一个新的仓库
touch README.md git init git add README.md git commit -m "first commit" git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git git push -u origin master
请将其中的用户名arunlinoxide替换为你添加的用户名。
在命令行中push一个已存在的仓库
git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git git push -u origin master
注意:强烈建议所有人修改用户名“admin”的密码。
H. 如何在Linux下使用Gitblit工具创建Git仓库服务
1.创建Gitblit安装目录
首先我们将在我们的服务器上建立一个目录,并在该目录下安装最新的Gitblit。
$ sudo mkdir -p /opt/gitblit$ cd /opt/gitblit
添加新的仓库
使用命令行创建一个新的仓库
touch README.md git init git add README.md git commit -m "first commit" git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git git push -u origin master
请将其中的用户名arunlinoxide替换为你添加的用户名。
在命令行中push一个已存在的仓库
git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git git push -u origin master
注意:强烈建议所有人修改用户名“admin”的密码。
结论
欢呼吧!我们已经在Linux电脑中安装好了最新版本的Gitblit。接下来我们便可以在我们的大小项目中享受这样一个优美的版本控制系统。有了Gitblit,版本控制便再容易不过了。它有易于学习、轻量级、高性能的特点。因此,如果你有任何的问题、建议和反馈,请在留言处留言。
I. 如何在自己的服务器上建立 git 仓库
1. lvm 2. raid 3. distribute filesystem(glusterfs\sector\......) 4 (我知道) 前面三选做完两块盘块用建基本服务器事
J. 如何在Linux下使用Gitblit工具创建Git仓库服务
嗨!朋友,如何在Linux服务器或者PC上安装Gitblit工具。首先,我们看看什么是Git,它的功能以及安装Gitblit的步骤。Git是分布式版本控制系统,它强调速度、数据一致性,并且支持分布式、非线性工作流。它最初由LinusTorvalds在2005年为Linux内核设计和开发,使用GPLv2证书,并从此成为软件开发中使用最广泛的版本控制系统。
Gitblit是完全开源的软件,它基于纯粹的Java堆栈,被设计以在Git仓库速度和效率方面胜任从小型到极大型的项目。它很容易学习和上手,并有着闪电般的性能。它在很多方面远胜Subversion、CVS、Perforce和ClearCase等SCM(版本控制)工具,比如,如快速本地分支、易于暂存、多工作流等。
方法/步骤
一、最为基本的需要了解一下它的功能了,
Gitblit的功能
它可以做为一个哑仓库视图,没有管理控制以及用户账户。
它可以做为完整的Git服务,拥有克隆、推送和仓库访问控制。
它能独立于其他Git工具使用(包括实际的Git),它能和您已有的工具协作。
1.创建Gitblit安装目录
首先我们将在我们的服务器上建立一个目录,并在该目录下安装最新的Gitblit。
$sudomkdir-p/opt/gitblit
$cd/opt/gitblit
2.下载并解压
现在,我们将从Gitblit官方站点下载最新版的Gitblit。这里我们将安装1.6.2版本。所以,请在安装时根据具体的版本对命令进行修改。
$sudowgethttp://dl.bintray.com/gitblit/releases/gitblit-1.6.2.tar.gz
接下来,我们将下载到的tar压缩包解压至之前创建的目录/opt/gitblit/
$sudotar-zxvfgitblit-1.6.2.tar.gz
3.配置并运行
现在,我们将对Gitblit进行配置。如果你想要定制Gitblit的行为,你可以修改gitblit/data/gitblit.properties。在完成配置后,我们将运行安装好的gitblit。有两种方式来运行gitblit,第一种是通过下面的命令手动运行:
$sudojava-jargitblit.jar--baseFolderdata
另一种是将gitblit添加为服务。下面是在linux下将gitblit添加为服务的步骤。
由于我在使用Ubuntu,下面的命令将是sudocpservice-ubuntu.sh/etc/init.d/gitblit,所以请根据你的发行版修改文件名service-ubuntu.sh为相应的你运行的发行版。
$sudo./install-service-ubuntu.sh
$sudoservicegitblitstart
在浏览器中打开http://localhost:8080或https://localhost:8443,也可以将localhost根据本地配置替换为IP地址。输入默认的管理员凭证:admin/admin并点击login按钮。
二、现在,我们将添加一个新的用户。首先,需要以admin用户登录,username=admin,password=admin。
三、然后,点击用户图标>users>(+)newuser来创建一个新用户,如下图所示。
四、之后我们将创建一个开箱可用的仓库。点击repositories>(+)newrepository。然后,添加新的仓库。
使用命令行创建一个新的仓库
touchREADME.md
gitinit
gitaddREADME.md
gitcommit-m"firstcommit"
gitremoteaddoriginssh://arunlinoxide@localhost:29418/linoxide.com.git
gitpush-uoriginmaster
请将其中的用户名arunlinoxide替换为添加的用户名。
在命令行中push一个已存在的仓库
gitremoteaddoriginssh://arunlinoxide@localhost:29418/linoxide.com.git
gitpush-uoriginmaster
注意:强烈建议所有人修改用户名“admin”的密码。
结论
欢呼吧!我们已经在Linux电脑中安装好了最新版本的Gitblit。接下来我们便可以在我们的大小项目中享受这样一个优美的版本控制系统。有了Gitblit,版本控制便再容易不过了。它有易于学习、轻量级、高性能的特点。