git 搭建

1.依赖库
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
2.yum install git
3创建一个git用户组和用户,用来运行git服务
groupadd gitgroup #创建git用户组
adduser git -g gitgroup  #创建git用户并指定为git在用户组


4.创建证书登录公钥位于id_rsa.pub文件(C:\Users\Administrator.ssh)中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。 
如果没有该文件创建它:
cd /home/git/    //账号位置下创建 ssh协议 公钥存里面  root创建的账号在home下面自动生成以账号为名的文件夹
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys  #创建好文件后记得把公钥贴上去
chmod 644 .ssh/authorized_key

chown -R git:git /home/git


5.初始化Git仓库,//用root账号创建data/git目录,将git文件夹权限改为 git 用户 chown git:gitgroup git
mkdir /data/git/ -p
chown git:gitgroup git
su git  //切换到git账号
cd /data/git/   
git init --bare ttq.git //服务器上的Git仓库通常都以.git结尾


6.克隆仓库  本地仓库
下载客户端
创建用户名
$ git config --global user.name "ljlgit"
$ git config --global user.email "6097@qq.com"
生成公钥
ssh-keygen  //一直回车用默认的文件夹
cd ~/.ssh  //进入公钥目录,查询公钥 
id_rsa_pub //将公钥内容复制到服务器的 /home/git/.ssh/authorized_keys  上面第四步
git clone  git@IP:/data/git/ttq.git


git clone git@IP:/data/git/ttq.git ttq
cd ttq
touch index.php
git add index.php
git commit -m "test commit"
git push origin master //如果在这里推送失败了,极有可能是因为服务器的权限问题,方法是:chown -R git:git testgit


第一次push可能会有一些提示,因为裸版本库还什么都没有,你可能需要 git push origin master写全命令,之后就没必要了,直接 git push 就可以了


7.git服务器内容,自动同步到站点目录(web)
自动同步功能用到的是 git 的钩子功能,

服务器端:进入裸仓库:/data/git/ttq.git/hooks
//这里我们创建post-receive文件
vim post-receive
//在该文件里输入以下内容

#!/bin/bash
git --work-tree=/data/web checkout -f
//保存退出后,将该文件用户及用户组都设置成git
chown git:git post-receive
//由于该文件其实就是一个shell文件,我们还应该为其设置可执行权限
chmod +x post-receive
如果你在Git推送的工程中发现推送成功 但是在www目录下并没有自己的代码,这时候你可要注意了:这是由于文件夹的权限的原因造成的! 假设你的www目录的所属的用户组为root,你可以将你的git用户加入这个组;并给git添加写入权限,或者其他解决方法,反正你要服务器上的git用户有权限进入www文件夹。




Centos6.X 搭建git服务器
 # script.sh
    yum -y install git 
    adduser git
    mkdir /data/{web,git,temp} -p
    chown git:git /data/web -R
    chown git:git /data/git -R 
    
    su git 
    cd ~
    ssh-keygen 
    
    客户端[也用ssh-keygen]生成公钥 id_rsa.pub 并上传到 /data/temp/
    cat /home/git/.ssh/id_rsa.pub >> /home/git/.ssh/authorized_keys
    cat /data/temp/id_rsa.pub >> /home/git/.ssh/authorized_keys
    
    chmod 600 /home/git/.ssh/authorized_keys


    cd /data/git 
    git init --bare test.git 


    客户端clone
    git clone git@10.1.20.5:/data/git/test.git 
    
    
    同步到web
    [第一次需要手动 git clone 到web]
    cd /data/git/test.git/hooks
    cp post-receive.sample post-receive -a
    vi post-receive
    #!/bin/sh
    unset GIT_DIR
    cd /data/web/test
    git pull -q


    




# Centos install 
## git
    # insall git 
    yum -y install git 
    # git --version 
    
    # add git user 
    adduser git    
 


    mkdir /home/git/.ssh 
    #上传client的id_rsa.pub到服务器,追加到 authorized_keys
    cat /data/temp/id_rsa.pub >> /home/git/.ssh/authorized_keys
    chmod 600 authorized_keys


    mkdir /data/{temp,web,git} -p
    chown git:git  /data/web -R
    chown git:git  /data/git -R


    cd /data/git 
    git init --bare test.git 




     su git -s /bin/bash 
    unset GIT_DIR 


    # 把 id_rsa.pub 上传到 /data/temp
    






    git branch login(分支名称)
    git checkout login
    git add .
    git commit -m "分支里面的内容变化"


    git checkout master 
    git merge login
    git push origin login 
    
    
    git branch -a #查看所有分支 
    
## client 
    ssh-keygen (然后回车,回车,记住路径)    
    #Your public key has been saved in /c/Users/bill/.ssh/id_rsa.pub. 【c:/Users/bill/.ssh/id_rsa.pub】
    # 把 id_rsa.pub 上传到 /data/temp

### 使用 Git 搭建网页版服务器 为了搭建一个基于 Git 的网页版服务器,可以采用多种工具和技术栈来实现这一目标。其中一种流行的选择是使用 Gitblit 来部署 Git 服务并提供 Web 界面访问功能。 #### 安装 Java 和 Git 确保 Windows 平台上已安装最新版本的 JDK (Java Development Kit),因为 Gitblit 是用 Java 编写的程序[^1]。同样也需要安装 Git 工具以便于后续操作中的命令行交互以及 SSH 密钥管理[^4]。 #### 下载与解压 Gitblit 前往官方 GitHub 页面下载适合 Windows 系统架构的 Gitblit 版本文件,并将其解压缩到指定位置。这一步骤完成后即可准备启动应用程序。 #### 配置 HTTPS 设置 对于安全连接的需求来说,可以通过修改 `gitblit.properties` 文件内的参数来进行 SSL/TLS 加密传输的支持: ```properties server.httpsBindInterface=localhost server.httpsPort=8443 server.keyStorePath=/path/to/keystore.jks server.keyStorePassword=myKeystorePassw0rd! ``` 上述配置指定了 HTTPS 绑定接口为本地主机地址 (`localhost`) 及端口号 (`8443`) ,同时定义了用于存储证书和私钥的 JKS(Java Key Store) 路径及其密码[^3]。 #### 启动 Gitblit 应用 通过双击运行位于解压包根目录下的 `run.bat` 批处理脚本来开启 Gitblit 服务进程。首次打开浏览器输入 http://localhost:8080 或者 https://localhost:8443 即可看到初始登录页面。 #### 用户名邮箱设置及SSH密钥生成 在成功建立好环境之后,建议先完成个人账户基本信息设定工作——即利用 git bash 命令行工具依次执行如下指令以注册全局身份信息;接着检查是否存在 `.ssh/id_rsa.pub` 公开秘钥文件夹,如果不存在则按照提示创建一对新的 RSA 类型 SSH 密钥对: ```bash $ git config --global user.name "Your Name" $ git config --global user.email you@example.com $ cd ~/.ssh/ $ ls -al # 如果没有 id_rsa 和 id_rsa.pub,则继续下一步 $ ssh-keygen -t rsa -C "you@example.com" ``` #### 创建仓库并与客户端同步 最后回到 Gitblit 控制台界面新建项目库,并允许外部贡献者推送更改记录至远程分支上。与此同时,开发者们可以在各自的工作站里克隆一份副本下来开展协作开发活动。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值