架构 git

目录

git概述

上传代码步骤

分支:

gitlab:

新建项目帮助命令:


git概述

DevOps: Development和Operations的组合
    可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集
    减少变更范围
    加强发布协调
    自动化
    更小、更频繁的变更──意味着更少的风险
    让开发人员更多地控制生产环境
    更多地以应用程序为中心来理解基础设施
    定义简洁明了的流程
    尽可能地自动化
    促成开发与运营的协作
    
git:分布式版本控制系统,是当前最流行的版本控制软件。
    林纳斯.拖瓦兹
    
公开的代码仓库:
        github.com    国外
        gitee.com    国内--码云
        
版本控制系统分类:
    集中式:代码集中存储在中央服务器,开发者的客户端只有部分自己的代码,假如中央服务器出问题,会出现数据丢失。
            传统的版本控制系统:CVS SVN
    分布式:每台服务器都拥有所有代码,任意一台服务器崩溃,从其他服务器复制过来就好。
            git
            
###########################################################
声明自己的名字和邮箱
git config --global user.name "lhy"
git config --global user.email "1793594332@qq.com"

创建版本库目录
mkdir /data
cd  /data
git init    #初始化当前目录为版本库
自动生成.git目录:
    branches  分支目录
    config    定义目录特有的配置选项
    description 仅供git web使用
    HEAD       指定当前的分支
    hooks      git钩子文件
    info       包含一个全局排除文件(exclude)
    objects      存放所有的数据内容 
    refs      指针文件
    index     暂存区文件
    
#########################################################

上传代码步骤


vim readme.txt  #创建文件,模拟代码

1、上传到暂存区
git add readme.txt          #单个文件上传
git add .                    #当前目录所有文件上传
git status                    #查看暂存区
git rm --cached readme.txt    #把文件从暂存区撤销
git checkout -- readme.txt  #已经提交到暂存区,之后再修改内容出错,想回到上次暂存区版本

2、上传到版本库
git commit -m "add readme.txt file"


3.修改readme.txt内容,使用diff命令查看异同
git diff readme.txt
如果想要提交:git add ... ; git commit ...

4.查看版本状态,比对工作区和版本库的异同,并提示
git status

5.查看历史记录
git log  #显示详细信息
git log --oneline  #显示摘要信息

6.版本回滚
git reset --hard HEAD^  #回滚到上个版本,HEAD^^上上版本,HEAD~10回滚到上10个版本
git reset --hard 2a42a3d  #通告git log 的版本号码回滚,仅写前7位就可
注意:版本回滚前,尽量备份一下当前文件

7.回滚动作命令日志
git reflog

8.git config 常用配置选项
    git config -e 编辑配置文件 
        git config --local -e 编辑仓库级别配置文件
        git config --global -e 编辑用户级别配置文件
        git config --system -e 编辑系统级别配置文件
    git config 添加配置项目 
        git config --global user.email “you@example.com”
        git config --global user.name “Your Name”
    git config 添加别名
        git config --global -e
        添加:    
        [alias]
        st = status
        co = checkout
        br = branch
        mg = merge
        ci = commit
        md = commit --amend
        dt = difftool
        mt = mergetool
        last = log -1 HEAD
        cf = config
        line = log --oneline
        
###########################################################

分支:


    区别于主代码库,创建出来用于新增功能或模块的分支库,仅用户自己有权访问,
    修改后合并,一般用于更新版本或添加补丁。

1.查看分支
git branch

2.创建分支
git branch ops
  切换分支
git checkout ops

创建并切换到新的分支
git checkout -b dev

3.切换到主分支
git checkout master

4.合并分支
(1)先切回master
git checkout master
(2)合并分支
git merge dev

5.删除分支
git branch -d dev
 
6.分支合并冲突
制造冲突:先在分支修改文件,提交;然后回到master,再修改文件相应内容,提交;最后,合并分支,出现冲突。
删除冲突文件内容:带>>>>>>>>>    ================= 行,保留想要的内容,再commit

注:为了避免合并冲突,尽量不要在master分支修改代码

============================================

gitlab:


    Gitlab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过
Web 界面进行访问公开的或者私人的项目

官方网站:https://about.gitlab.com

安装:
1.安装前提软件
yum install curl policycoreutils openssh-server openssh-clients postfix -y

2.下载清华gitlab安装包
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm

3.复制rpm包到虚拟机,yum安装
rpm -ivh  gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm

4.修改配置文件,指定ip地址
vim /etc/gitlab/gitlab.rb
修改:
external_url 'http://192.168.8.10'
保存退出

5.配置启动 gitlab
gitlab-ctl reconfigure

  查看状态
gitlab-ctl status

6.gitlab服务管理命令(开启/关闭/重启)
gitlab-ctl start/stop/restart

7.登录gitlab
http://192.168.8.10
管理员:root
密码:初始配置新密码,最少8位

8.取消注册功能
登录gitlab--admin area(顶部菜单栏小扳手图标)--左侧面板settings--Sign-up Restrictions--去除勾选sign-up enabled 
--下拉选save保存

9.修改登录欢迎界面
登录gitlab--admin area--Appearance--填写管理员联系方式和logo--save

10.项目创建流程
(1)创建group
登录gitlab--admin area--new group

(2)创建用户
登录gitlab--admin area--new user--添加用户名、邮箱--create--edit--修改密码

(3)创建项目
登录gitlab--admin area--new project--注意选择组

11.Gitlab用户在组中有五种权限:*****
Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,测试、产品经理可以赋予这个权限
Developer:可以克隆代码、开发、提交、push,开发人员可以赋予这个权限
Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限

Gitlab中的组和项目有三种访问权限:
Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到

12.管理员上传ssh-key
本地用户创建秘钥:ssh-keygen -t rsa
复制公钥内容:cat /root/.ssh/id_rsa.pub
黏贴到web界面:右上角--用户--settings--SSH Keys

13.管理员克隆下载项目
git clone git@192.168.8.10:dev/web.git

14.管理员修改文件内容,再推送上传代码(管理员身份)
cd web/
echo 123456 > new.txt
git add .
git commit -m "add new.txt"
git push -u origin master

15.在客户机,普通开发人员更新代码流程
(1)上传ssh秘钥
本地用户创建秘钥:ssh-keygen -t rsa
复制公钥内容:cat /root/.ssh/id_rsa.pub
zhangsan登录:右上角--用户--settings--SSH Keys

(2)关联远程仓库
mkdir /data
git init

git remote add origin git@192.168.8.10:dev/web.git

(3)下载同步代码
git pull origin master

(4)创建分支,修改代码
git config --global user.email "zhangsan@qq.com"
git config --global user.name "zhangsan"
git checkout -b ops
echo 6666666 > new111.txt
git add .
git commit -m "add new111.txt"

(5)推送dev分支(普通用户无权推送master)
git push -u origin ops

(6)zhangsan在web界面创建merge请求
    点中项目--左侧merge request--create merge request

(7)切换到管理员登录,进入项目,同意merge请求
    左侧面板--merge requests--merge


16.常用的git命令
git remote add [remote] [url] #添加(关联)远程库
git remote set-url [remote] [url] #修改远程仓
git clone [url] #克隆远程仓库项目
git remote #查看指定远程仓库命名简写
git remote –v #查看远程仓库详细信息以及名称对应URL
git push -u remote master #第一次推送master分支的所有内容
git fetch remote [branch/tag] #下载远程仓库的所有变动
git pull remote [branch/tag] #拉取主分支最新版本(可以拉取其他分支)
git push remote [branch/tag] --force #强行推送当前分支至远程分支,及时冲突
git push remote [branch/tag] --all #推送所有分支到远程仓库
git remote rename [oldname] [newname] #修改远程仓库名称
git remote remove [name] #删除远程仓库名称以及URL地址
 
-------------------------------------------

新建项目帮助命令:

Git global setup
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"

Create a new repository
git clone http://192.168.8.10/dev/web.git
cd web
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

mkdir /data
cd /data
git init
git remote add origin http://192.168.8.10/dev/web.git
git add .
git commit -m "Initial commit"
git push -u origin master

Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin http://192.168.8.10/dev/web.git
git push -u origin --all
git push -u origin --tags

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值