git 从 了解 到 入门

文章介绍了Git的分布式版本控制系统特性,包括工作区、暂存区、HEAD和提交等概念,并对比了Git与svn的差异。此外,详细阐述了Git的配置、文件操作以及与远程仓库的交互。同时,文章还提供了GitLab的安装、配置以及备份恢复的流程。
摘要由CSDN通过智能技术生成

版本控制系统/版本控制器git
git配置推荐 16核32G2T

git 分布式 没有中心代码库 所有机器之间地位同等 每台机器上都有相同的代码
svn 集中管理的 有中心代码库 其他都是客户端
git属于分布式版本控制系统
svn属于集中化版本控制系统
git相关概念 纯命令行


工作区 版本库 暂存区 HEAD 版本号 版本日志
工作区 存放git版本仓库的目录就是工作区 放源代码的地方
暂存区 代码添加到缓存区 没有问题之后再交到版本库
版本库 工作区有个隐藏文件.git 是git的版本库
HEAD 指向最近一次的提交后的结果
添加文件到暂存区 进入指定的库里 git add 文件名
从暂存区(stage)提交到当前master分支的HEAD
    git commit -m "版本描述信息" 提交暂存区里修改到版本库的分支
版本号 最核心用的id号 
查看版本号 git log  查看commit记录
git部署 yum install -y git 
    git --version 查看git版本
    git是分布式版本控制系统 每台机器必须自报家门 (自己名字和Email)
    git config 命令的 --global参数 用了这个参数 表示你这台机器上所有git仓库都会使用这和个配置
    git config --global user.email "邮箱" 设置邮箱
    git config --global user.name "用户" 添加用户
git config --global color.ui true 语法高亮
    git config --list 查看全局配置


服务端
在中心服务器上创建一个空目录 并且指定用户为 git
创建落库 git init --bare 路径   给创建的目录提权 
客户端
ssh-keygen 生成密钥
ssh-copy-id -i git@服务端ip 将密钥传输到git服务器中的git用户
克隆git仓库
从本地库上传到远程库 git push origin 分支
从远程仓库拷贝到本地 git clone git@服务端ip://服务端库目录
    git pull origin 
把文件上传到暂存区 git add 文件      建立跟踪 将文件添加到缓存区   * 为上传所有
把暂存区文件放到工作区 git reset HEAD 文件
提交文件到本地仓库分支 git commit -m "文件名"
从本地库下载 git reset --hard 版本号
查看git状态 git status
版本回退 查看版本日志 git log
回到指定版本 git reset --hard 指定版本号
查看消失的版本 git reflog
删除
未上传可以直接删除 
从缓存区删除 git rm --cache 文件
    git rm -f 文件
上传文件到远程库 git push origin 分支名
创建分支 git branch dev
查看分支 git branch
切换分支 git checkout 分支名
合并分支 git merge 分支名  把次分支合到master上
删除分支 git branch -h 分支名

gitlab 
配置gitlab源

[root@git-server yum.repos.d]# vi gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever
gpgcheck=0
enabled=1
安装依赖 yum install -y postfix curl policycoreutils-python openssh-server
安装邮箱 yum install postfix  -y
安装gitlab  yum install -y gitlab-ce  #将会安装gitlab最新版本
更改配置文件
 vim /etc/gitlab/gitlab.rb
取消注释 并 更改内容
external_url 'http://192.168.246.214'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
git_data_dirs({
 "default" => {
    "path" => "/mnt/nfs-01/git-data"
    }
})
开启配置文件里的端口 gitlab_rails ['gitlab_shell_ssh_port'] = 22
重新加载 gitlab-ctl reconfigure
启动 gitlab-ctl start


gitlab 备份与恢复
查看系统版本和软件版本 cat /etc/redhat-release
     cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
数据备份
    打开 /etc/gitlab/gitlab.rb配置文件
    gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"    #备份的路径
    gitlab_rails['backup_archive_permissions'] = 0644        #备份文件的默认权限
    gitlab_rails['backup_keep_time'] = 604800        #保留时长,秒为单位
执行 **gitlab-ctl reconfigure 或者 gitlab-ctl  restart** 重启服务生效
执行备份命令 存放备份文件的绝对位置  /opt/gitlab/bin/gitlab-rake gitlab:backup:create
数据恢复  gitlab-rake gitlab:backup:restore BACKUP=备份文件id
备份文件gitlab版本必须一致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值