位置: 编程技术 - 正文
推荐整理分享Git服务器的Gitosis安装配置及gitignore的使用方法(git服务器默认端口),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:git服务器默认端口,git服务器端,git 服务器配置,git 服务器配置,git 服务器配置,git服务器端,git服务器端,git服务器端,内容如对您有帮助,希望把文章链接给更多的朋友!
Git服务器Gitosis安装设置
1、安装 openssh服务器复制代码代码如下:sudo apt-get install openssh-server openssh-client2、创建个人公钥和私钥
在默认用户的主目录路径下,运行以下命令,按照提示创建公钥和私钥复制代码代码如下:ssh-keygen -t rsa默认生成位,如果需要提高安全级别,也可以通过下面的命令创建公钥和私钥复制代码代码如下:ssh-keygen -t rsa -b 默认情况下,公钥和私钥会保存在~/.ssh目录下,如下所示:复制代码代码如下:id_rsa id_rsa.pub known_hosts3、安装 git服务器复制代码代码如下:sudo apt-get install git-core4、配置 git服务器
创建git服务器管理用户复制代码代码如下:sudo useradd -m gitsudo passwd git创建git仓库存储目录复制代码代码如下:sudo mkdir /home/git/repositories设置git仓库权限复制代码代码如下:sudo chown git:git /home/git/repositoriessudo chmod /home/git/repositories初始化全局设置复制代码代码如下:git config --global user.name "myname"git config --global user.email "myname@server"5、安装python的setup tool复制代码代码如下:sudo apt-get install python-setuptools6、获取并安装gitosis复制代码代码如下:cd /tmpgit clone gitosissudo python setup.py install7、配置gitosis复制代码代码如下:cp ~/.ssh/id_rsa.pub /tmpsudo -H -u git gitosis-init < /tmp/id_rsa.pubsudo chmod /home/git/repositories/gitosis-admin.git/hooks/post-update8、管理gitosis配置复制代码代码如下:cd ~git clone git@hostname:用户名/gitosis-admin.gitcd gitosis-admin/各个用户按照前面提到的办法生成各自的ssh公钥文件后,服务器管理员把所有人的 ssh公钥文件都拿来,拷贝到keydir目录下。
修改gitosis.conf文件,如下所示复制代码代码如下:[gitosis][group gitosis-admin]writable = gitosis-adminmembers = a@server1[group developers]writable = helloworldmembers = a@server1 b@server2[group test] readonly = helloworldmembers = c@server3这个配置文件表达了如下含义:gitosis-admin组成员有a,该组对gitosis-admin仓库有读写权限; developers组有a,b两个成员,该组对helloworld仓库有读写权限; test组有c一个成员,对helloworld仓库有只读权限。 当然目前这些配置文件的修改只是在你的本地,你必须推送到gitserver上才能真正生效。 加入新文件、提交并push到git服务器:复制代码代码如下:git add .git commit -am "add helloworld project and users"git remote add origin push origin master9、安装apache2复制代码代码如下:sudo apt-get install apache、安装gitweb复制代码代码如下:sudo apt-get install gitweb、配置 gitweb
默认没有 css 加载,把 gitweb 要用的静态文件连接到 DocumentRoot 下:复制代码代码如下:cd /var/www/sudo ln -s /usr/share/gitweb/* .修改配置:复制代码代码如下:sudo vi /etc/gitweb.conf将 $projectroot 改为git仓库存储目录(例如:/home/git/repositories),保存后刷新浏览器。
如果没有找到项目,你需要将$projectroot/*.git 的属性改为,让apache用户有可读权限。可以只改你需要让别人通过web访问的那个git。 内容:复制代码代码如下:# path to git projects (<project>.git)#$projectroot = "/var/cache/git";$projectroot = "/home/git/repositories";# directory to use for temp files$git_temp = "/tmp";# target of the home link on top of all pages$home_link = $my_uri || "/";# html text to include at home page$home_text = "indextext.html";# file with project list; by default, simply scan the projectroot dir.$projects_list = $projectroot;# stylesheet to use@stylesheets = ("/gitweb/static/gitweb.css");# javascript code for gitweb$javascript = "gitweb/static/gitweb.js";# logo to use$logo = "/gitweb/static/git-logo.png";# the 'favicon'$favicon = "/gitweb/static/git-favicon.png";# git-diff-tree(1) options to use for generated patches#@diff_opts = ("-M");@diff_opts = ();、配置apache2
ubuntu中默认的web目录是/var/www,默认的cgi目录是 /usr/lib/cgi-bin/,安装完成gitweb后,gitweb的gitweb.cgi会自动放置到该目录下。
如果你的cgi路径不是默认的/usr/lib/cgi-bin/,需要将gitweb安装在/usr/lib/cgi-bin中的gitweb.cgi复制到原来配置的cgi-bin路径,并在apache的配置文件/etc/apache2/apache.conf末尾加上以下内容:复制代码代码如下:SetEnv GITWEB_CONFIG /etc/gitweb.conf <Directory "/srv/www/cgi-bin/gitweb"> Options FollowSymlinks ExecCGI Allow from all AllowOverride all Order allow,deny <Files gitweb.cgi> SetHandler cgi-script </Files> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.* /gitweb.cgi/$0 [L,PT] </Directory>
Git使用gitignore建立项目过滤规则在进行协作开发代码管理的过程中,常常会遇到某些临时文件、配置文件、或者生成文件等,这些文件由于不同的开发端会不一样,如果使用git add . 将所有文件纳入git库中,那么会出现频繁的改动和push,这样会引起开发上的不便。
Git可以很方便的帮助我们解决这个问题,那就是建立项目文件过滤规则。
git中提供两种过滤机制,一种是全局过滤机制,即对所有的git都适用;另一种是针对某个项目使用的过滤规则。个人倾向于第二种。
以我的一个项目为例,该项目用.net开发,.config文件、包括生成的bin/Debug, bin/Release文件等,我希望不加入git管理。
在代码目录下建立.gitignore文件:vim .gitignore ,内容如下:复制代码代码如下:#过滤数据库文件、sln解决方案文件、配置文件 *.mdb *.ldb *.sln *.config #过滤文件夹Debug,Release,obj Debug/ Release/ obj/
然后调用git add. ,执行 git commit即可。
深入解析Linux系统下的进程切换 Linux内核下进程切换Linux切换并没有使用XCPU的切换方法,Linux切换的实质就是cr3切换(内存空间切换,在switch_mm函数中)+寄存器切换(包括EIP,ESP等,
Linux系统下的ipmitool工具使用指南 本文介绍ipmitool工具的使用,这个命令主要是用来操作服务器硬件的,所以一般的业务运维很少会用它,但它的功能很强大,比如:能够硬重启服务器,
Linux系统下Flash Player崩溃的一个解决办法分享 1月份的时候决定从Ubuntu换到Archlinux,换完之后FlashPlayer就一直没正常过.一打开视屏就crash.从那之后就一直用手机看视屏,很别扭,放着大屏不用一直盯着手
标签: git服务器默认端口
本文链接地址:https://www.jiuchutong.com/biancheng/353250.html 转载请保留说明!上一篇:Linux系统下Git操作命令整理(linux git教程)
下一篇:深入解析Linux系统下的进程切换(linux 解析)
友情链接: 武汉网站建设