❶ 如何在mac上使用git连接私有的gitlab服务器
首先要 ssh远程登陆工具比secureCRT等
案 基于SSH直接搭建
Git支持协议主要四种:
本: 需要文件共享系统权限控制
HTTP:速度慢
SSH:同支持读写操作支持匿名读取(Git默认协议)
GIT:快
搭建难易程度特点综合筛选合适ssh并且部服务器基本都ssh服务所省少麻烦基本思路给每ssh帐号家通用户名口令访问显选择做些余并且于repo权限难管理
使用Github候利用rsa.pub公钥/私钥式服务端拥用户公钥(*.pub)跨繁琐口令直接认证提交服务端根据同用户身份其权限着更加灵管理我采用种式
服务端
使远程库访问更加直观先服务器创建名git账户clone候面格式:
git clone git@server:some.git
创建新用户创建repo等目录
$sudo adser git
$su git
$cd ~
$mkdir repos
HOME.ssh目录没则创建创建authorized_keys文件文件用管理所git用户公钥面用户于项目着R+W权限
客户端
于每客户端我需要密钥公钥Github用户.ssh目录定id_rsa.pubid_rsa两文件其第系统公钥另自要保存密钥没终端执行:ssh-keygen完自公钥提交给管理员注册行
完
步管理员团队员公钥添加authorized_keys比同susie加入:
$ cat susie.pub >> authorized_keys
至家通git@server:repos/some.git访问公共版本库
问题
安全问题员登录git用户shell,细节权限支等控制
管理麻烦新建repo,或者增加员比较麻烦尤其修改候
案二 使用Gitolite服务
Gitolite 基于SSH协议构建便管理git repo应用通其源码安装.
安装
安装按照官给定文档轻易实现:
$ git clone git://github.com/sitaramc/gitolite
$ mkdir -p $HOME/bin
$ gitolite/install -to $HOME/bin
$ gitolite setup -pk YourName.pub
执行条命令候gitolite识别则通面两种式解决:
gitolite添加PATH面
通$HOME/bin/gitolite setup -pk YourName.pub 执行
至gitolite服务端搭建完毕发现HOME目录增加文件projects.list目录repositories,者我版本仓库每新建repo候其创建
使用
候说gitolite管理模式创建gitolite-adminrepo管理员通像repo提交配置文件实现git服务器控制
首先repo导入我workspace:前需要配置本ssh,gitolite要求管理员本密钥其注册公钥名字致比我安装候指定 -pk面 admin.pub 则管理员本需要由admin应私钥我通~/.ssh/config进行配置(注:些系统用confMac OSX 效能用config).
host gitolite
user git
hostname yourhostname.com
port 22
identityfile ~/.ssh/admin
我访问gitolite候自根据配置文件执行配置完根据面命令gitolite-admin转移本
git clone gitolite:gitolite-admin.git
克隆完发现gitolite-admin面两目录其conf保存配置文件我通编辑面gitolite.conf文件管理git服务器keydir目录保存用户公钥pub文件
我讲修改repo 提交候gitolite自应用些配置管理程便
配置规则
打gitolite.conf文件看其示例:
To add new users alice, bob, and carol, obtain their public keys and add them to 'keydir' as alice.pub, bob.pub, and carol.pub respectively.
To add a new repo 'foo' and give different levels of access to these users, edit the file 'conf/gitolite.conf' and add lines like this:
repo foo
RW+ = alice
RW = bob
R = carol
面配置文件新建repo foo并且添加三位项目员每权限同提交push管理便效
视化
我能需要web界面管理些项目我目前知道三种式:
git源码自带组件cgi脚本实现使用gitolite服务
gitlab源框架基于ROR新版本再使用gitolite服务
FB源php框架 phabricator功能高端档
❷ GitLab 中 如何编写 .gitlab-ci.yml 转换 php 文件为 html 文件
有专业的格式转换工具,楼主直接网络就可以
❸ 怎么在bitnami gitlab下再配置一个php的站点
在云服务器上搭好了bitnami gitlab,但是现在想利用里面的apache搭一个dz的论坛,绑定一个新域名,尝试了好久,域名绑定不了,站点也无法访问。
❹ win 7 怎么安装gitlab
安装步骤有:
1. 依赖包
2. ruby
3. 用户创建
4. 数据库初始化
5. redis
6. gitlab源码
7. apache
本文可能会用到VPN连接,在命令行下创建VPN连接的方法如下:
sudo apt-get install pptp-linux
sudo pptpsetup --create VPN名称 --server 服务器地址 --username 用户名 --password 密码 [--encrypt] --start
以上命令会创建一个设备,如果没有其他的拨号设备,这个设备会是ppp0,用ifconfig可以看到,“--encrypt”选项可选,因为有的服务器不支持,会提示MPPE required but peer negotiation failed,创建时带上“--start”选项可以看到连接的情况。
pptpsetup创建的VPN连接重启后会失效,如果想在不重启的情况下删除VPN连接:
sudo pptpsetup --delete VPN名称
创建VPN连接后还需要使能,并且添加到路由列表:
sudo pon VPN名称
sudo route add default dev ppp0
禁用VPN连接的方法是:
sudo poff VPN名称
下面开始正文:
1. 依赖包
我装的是ubuntu server 14.04,安装的时候可以选是否安装LAMP(Linux+Apache+MySQL+PHP),如果没装,可以用下面的命令装:
sudo tasksel install lamp-server
安装的时候会提示输入MySQL的root密码,下面要用。
接下来是依赖关系:
sudo apt-get install flex bison ruby build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake libkrb5-dev nodejs git-core
注意:这里面装了ruby,应该是1.9.1版本的,gitlab需要2.0以上的ruby,但是安装2.0以上的ruby需要低版本的ruby,所以我们先装上,一会儿卸掉。另外,ubuntu 14.04的软件库里有ruby 2.0,但是实测不能用,所以还是从源码装ruby吧。
❺ 如何在一台服务器上同时搭建禅道和gitlab
如果使用的是linux一键安装包,按照安装文档启动服务即可,如果要自己搭建环境,需要先把 apache mysql php环境搭建好,如何搭建可以网上搜索资料,介绍的资料很多。
❻ gitlab项目自动部署 Php是以www方式执行的
估计和你当前用的 shell 命令行不是同一个 shell 解释器。
写 shell 脚本,记住一定要在最开始写 #!/bin/bash 或者其他的解释器,比如 csh、tsh。python、perl、php 都可以这么用,这样你的脚本就制定了一个解释器来运行。运行时不要用 sh xxx.sh ,而是赋予可运行权限后 ./xxxx.sh 方式运行。
一般 Linux 下面的 /bin/sh 是一个链接,指向一个默认的 shell 解释器,这个链接如果不是你需要的解释器,那么脚本运行出现任何问题都可能。如果系统装了 busybox ,他也会提供一个 sh 解释器,而且命令的文件名也是 sh ,他和 bash 运行结果也有区别,只是这个 sh 不一定在 /bin 里面。
❼ git 在使用拉取、推送(pull或push)时时候会出现这样的错误提示
d:Program Files (x86)Git/libexec/git-coregit-pull:line 268:/bin/tr:Bad file number
Your configuration specifies to merge with the ref 'master' 是不是你的代码有未提交的更新呀?你修改文件后如果没有提交push,那么你在pull的时候就会报错的,会让你先提交或者merge合并文件
【拓展资料】
git pull origin 拉取代码到本地,解决拉取代码时发生的文件冲突:
1)拉取(下载)指定分支代码合并到当前分支:
相当于指定分支的代码与当前分支的代码合并到了一起。
命令:git pull origin分支名称
注意:
每次使用该命令前,需要保证本地工作区是没有任何修改代码的,也就是说需要将本地工作区编辑过的文件添加到暂存区(git add .),或提交到本地仓库中(git commit),才可以使用该命令拉取指定分支的代码合并到当前分支中。
每次在操作完git commit命令后,必须拉取一下master分支代码,保持本地正在开发功能逻辑的代码分支代码是最新的,避免后续在提交时冲突过多或覆盖掉其他人的代码的问题出现。
如果我们需要将master主干分支的代码拉取并与我们当前分支(xuzhangzheng2)的代码进行合并的话,可以使用该命令。效果如图:
中间的======是用于分割本地变更和远程仓库中的变更的,也就是说出现冲突时,如图,使用======把冲突的部分分割成2块。
上面的是本地修改变更的内容,以<<<<<<<HEAD开头。
下面的是远程仓库修改变更的内容,以>>>>>>>版本号 结尾。
版本号,也就是示例中的,即为提交的版本号,使用该版本号可以在gitlab中找到提交记录,从而方便查询其他同事在对同文件进行修改时,都修改了哪些内容,便于进解决冲突。
解决方法:
根据实际业务场景,将本地修改变更的部分和远程仓库中修改变更的部分进行合并,留下满足业务逻辑的代码即可(若团队开发期间,出现冲突时,建议找到相关同事进行沟通,确保自己解决冲突的方法不会影响到其他人编写的功能),同时将上面提到的冲突标识删除掉,不然无法通过语法检查和编译。
同时建议使用全文件内容搜索<<<<<<<或======或>>>>>>>,将所有有冲突的地方一一进行解决,保重提交的代码是可运行,没有问题的。
解决冲突后,若需要提交代码的话,需先将代码使用git add .存入缓存区,或直接使用git commit –am “本次提交描述” 或git commit –a –m “本次提交描述”将代码提交至本地仓库区,同时再次拉取制定分支的最新代码,确保本次的代码时刻都是最新的,再进行接下来的推送代码至远程仓库操作。
❽ 在linux上 使用php执行git 下拉数据时报错
查看wtz.log 后发现echo 'my name is gitlab'>> /tmp/wtz.log 和echo 'you are so cute!!!::'>> /tmp/wtz.log 都成功写入到日志文件中。但测试服务器项目原代码就是没有自动更新。除非手动git pull origin master 或者 在终端里面直接执行 上面的shll。它才会更新。
❾ 如何在gitlab里面设置邮件提醒
例子 1
把字符串变量($str)的值写入输出:
<?php
$str = "Hello world!";
echo $str;
?>
例子 2
把字符串变量($str)的值写入输出,包括 HTML 标签:
<?php
$str = "Hello world!";
echo $str;
echo "<br>What a nice day!";
?>
例子 3
连接两个字符串变量:
<?php
$str1="Hello world!";
$str2="What a nice day!";
echo $str1 . " " . $str2;
?>
例子 4
把数组值写入输出:
<?php
$age=array("Peter"=>"35");
echo "Peter is " . $age['Peter'] . " years old.";
?>
例子 5
把文本写入输出:
<?php
echo "This text
spans multiple
lines.";
?>
运行实例
例子 6
如何使用多个参数:
<?php
echo 'This ','string ','was ','made ','with multiple parameters.';
?>
例子 7
单引号和双引号的区别。单引号将输出变量名称,而不是值:
<?php
$color = "red";
echo "Roses are $color";
echo "<br>";
echo 'Roses are $color';
?>
例子 8
简化语法(只适用于 short_open_tag 配置设置启用的情况):
<?php
$color = "red";
?>
<p>Roses are <?=$color?></p>