使用gitlab在服务器上搭建私服git仓库,并且上传项目

官网:The DevSecOps Platform | GitLab

1.安装gitlab软件:

  • 安装相关依赖:

    复制代码
    yum install -y policycoreutils policycoreutils-python openssh-server open-clients postfix ca-certificates
    # ca-certificates: 不安装下载gitlab包报错--no-check-certificate
  • 设置postfix开机自启,并启动,postfix支持gitlab发信功能

    复制代码
    systemctl start postfix && systemctl enable postfix
  • 下载给gitlab包

    复制代码
    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.4.2-ce.0.el7.x86_64.rpm
  • 安装rpm包:

    复制代码
    rpm -ivh gitlab-ce-12.4.2-ce.0.el7.x86_64.rpm
  • 修改gitlab的配置:/etc/gitlab/gitlab.rb

    复制代码
    # 修改gitlab访问地址和端口,默认为80,我们改为82
    sed -i "s/^external_url.*/external_url 'http:\/\/192.168.66.201:82'/" /etc/gitlab/gitlab.rb
    
    # 第一次修改,nginx监听端口
    sed -i "s/^# nginx\['listen_port'\].*/nginx\['listen_port'\] = 82/" /etc/gitlab/gitlab.rb
    # 后面的修改,nginx监听端口
    sed -i "s/^nginx['listen_port'].*/nginx['listen_port'] = 82/" /etc/gitlab/gitlab.rb
    
    # 重新加载配置
    gitlab-ctl reconfigure
  • 重启gitlab服务:

    复制代码
    gitlab-ctl restart
  • 登陆页面:http://192.168.174.201:82,修改root用户密码

  • 使用root用户登陆:

2.配置ssh公钥:

复制代码
ssh-keygen -t rsa -b 1024 -C "用户名/邮箱"
# 如果不指定用户名和邮箱,将默认使用主机的用户名和主机名
# ssh-keygen - 生成、管理和转换认证密钥,t制定类型
# RSA
# window:C:/用户/user/.ssh/id_rsa.pub公钥文件,linux:~/.ssh/id_rsa.pub公钥文件

cat ~/.ssh/id_rsa.pub

3.安装和配置git:

  • 安装:

    复制代码
    yum install -y git
  • 配置:

    复制代码
    git config --global user.name "qv123"
    git config --global user.email "qv1095322098@163.com"
    
    # 查看
    git config --global user.name
    git config --global user.email

4.上传项目:

1.方式一:创建本地项目推送

    • 初始化项目。将项目添加到工作区,或者直接拉取空仓库:

      复制代码
      cd ~/my_hexo && git init
    • 添加远程仓库路径:仓库地址是服务器IP

      复制代码
      git remote add origin git@192.168.174.201:qv123_group/my_hexo.git
      # origin远端名称
      # 查看命令帮助:git remote -help
    • 查看远程仓库得名称和地址:

      复制代码
      git remote -v show
    • 将项目从工作区添加到暂存区:

      复制代码
      git add .
    • 将项目从暂存区提交到本地仓库:(这里必须配置用户名和邮箱地址)

      复制代码
      git commit -m "one commit"
    • 查看本地分支:

      复制代码
      git branch
    • 拉取一下远程的空仓库:

      复制代码
      # 最好拉取一下空仓库,不然可能导致推送错误
      git pull -u origin master
      
      # 报错
      To git@192.168.174.201:qv123_group/my_hexo.git
       ! [rejected]        master -> master (fetch first)
      error: failed to push some refs to 'git@192.168.174.201:qv123_group/my_hexo.git'
      hint: Updates were rejected because the remote contains work that you do
      hint: not have locally. This is usually caused by another repository pushing
      hint: to the same ref. You may want to first merge the remote changes (e.g.,
      hint: 'git pull') before pushing again.
      hint: See the 'Note about fast-forwards' in 'git push --help' for details.
      [root@gitlab-server qv1234.github.io-master]# git pull --rebase origin
      fatal: 'origin' does not appear to be a git repository
      fatal: Could not read from remote repository.
      ​
      Please make sure you have the correct access rights
      and the repository exists.
    • 推送到远程仓库:

      复制代码
      git push -u origin master
      # master是分支

2.方式二:(推荐

    • 直接克隆空仓库:

      复制代码
      git clone git@192.168.174.201:qv123_group/my_hexo.git
      cd my_hexo
    • 查看远程仓库得名称和地址:

      复制代码
      [root@gitlab-server my_hexo]# git remote -v show
      origin  git@192.168.174.201:qv123_group/my_hexo.git (fetch)
      origin  git@192.168.174.201:qv123_group/my_hexo.git (push)
    • 将项目从工作区添加到暂存区:

      复制代码
      git add . --all
    • 将项目从暂存区提交到本地仓库:(这里必须配置用户名和邮箱地址)

      复制代码
      git commit -m "one commit"
    • 查看本地分支:

      复制代码
      git branch
    • 推送到远程仓库:

      复制代码
      git push -u origin master
      # master是分支
相关推荐
guo_wen_qiang1 小时前
mac中docker desktop服务端开启远程访问
运维·服务器·macos·docker
小五传输2 小时前
消防总队信创改造实践:国产文件传输服务器解决文件传输难题
大数据·运维·安全
云飞云共享云桌面2 小时前
医疗器械设备研发:多人同时操作 SolidWorks,怎样依靠单台服务器替代多工作站
运维·服务器·网络·数据库·制造
T型码农要学习2 小时前
开源项目5|FileBrowser:免费在线文件管理器!随时随地管控服务器文件
运维·服务器·人工智能·开源
朱 欢 庆3 小时前
云服务器附件备份到本机内网服务器
运维·服务器·前端·经验分享
梦想不只是梦与想3 小时前
Web 服务器网关协议:ASGI 和 WSGI
服务器·python·fastapi
智恒百亿3 小时前
8 卡 RTX 5090 服务器深度实测:256GB 显存能否支撑 70B 模型微调?选型参考
大数据·运维·服务器·人工智能
志栋智能8 小时前
超自动化运维如何支持合规审计?
运维·自动化
小诗懂技术8 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
weixin_440730508 小时前
selenium实战记录-从登陆-首页-进入应用流程用例三种参数化+日志+报告
服务器·selenium·测试工具