• Git 版本管理基本操作


     

    Git是一个版本管理操作的工具 非常N,可以很智能的分布式管理,

    本网站学习笔记 来自于廖雪峰老师的内容借鉴

    安装

    yum -y install git

     

    本地设置全局

    告知是谁提交代码 信息

    # git config --global user.name "xxx"
    # git config --global user.email "xxx"
    颜色设置
    # git config --global color.ui true
    查看设置信息
    # git config --list

     因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

    注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

    初始化仓库

       什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

    [root@localhost ~]# mkdir learngit
    [root@localhost ~]# cd learngit/
    [root@localhost learngit]# pwd
    /root/learngit
    [root@localhost learngit]# git init
    Initialized empty Git repository in /root/learngit/.git/
    [root@localhost learngit]# ls -a
    .  ..  .git

      瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了 

    提交代码流程

    先创建文件
    # cat readme.txt 
    Git is a version control system
    Git is free software

    一定要放到learngit目录下(子目录也行),因为这是一个Git仓库,放到其他地方Git再厉害也找不到这个文件。和把大象放到冰箱需要3步相比,把一个文件放到Git仓库只需要两步。

    第一步,用命令git add告诉Git,把文件添加到仓库:
     git add readme.txt

    第二步,用命令git commit告诉Git,把文件提交到仓库: # git commit -m "wrote a readme file"
    [master (root-commit) d1b9afa] wrote a readme file
     1 files changed, 2 insertions(+), 0 deletions(-)
     create mode 100644 readme.txt
    查看状态 #git status

     

    回退版本

    # git reset --hard HEAD^^表示上个版本 ^^表示上两个版本
    
    回退指定版本
    # git reflog
    8b1cc8f HEAD@{0}: HEAD^: updating HEAD
    10c245e HEAD@{1}: commit: add 2hehe
    8b1cc8f HEAD@{2}: commit: the 2th commit
    9ec14f1 HEAD@{3}: commit (initial): the first commit
    # git reset --hard 9ec14f1
    HEAD is now at 9ec14f1 the first commit

     

    git checkout  --  readme.txt    #从新拉取数据

     

    远程仓库

    在github上面创建一个仓库 然后加入本地的公钥上传到github上面的setting里面的SSH-KEY

    本地创建秘钥
    # ssh-keygen -t rsa
    公钥上传到setting 设置SSH Key
    #cd /root/oldboy #git remote add origin git@github.com:yefei520
    /demo.git #git pull #git pull origin master #git push -u origin master

     

    git Tag标签

    创建标签

    #git tag -a v1.2 -m "information"
    
    #上面的命令我们创建了本地一个版本V1.2,并且添加了附注信息 ‘information’
    
    #查看标签
    #git tag
    v1.2
    
    #获取标签显示附注信息
    #git show v1.2

     

    但是目前这个标签仅仅是提交到了本地git仓库,如何同步到远程代码库

    tag远程推送

    #git push origin --tags
    
    这样我们就把本地版本推送到了远程代码仓库

     

    如果刚刚同步上去,你缺发现一个致命bug ,需要重新打版本,现在还为时不晚.

     

    删除标签:

    #git tag -d v1.2

    到这一步我们只是删除了本地 V1.2的版本,可是线上V1.2的版本还是存在,如何办?

    这时我们可以推送的空的同名版本到线下,达到删除线上版本的目标:

    #git push origin :refs/tags/v1.2

    这时本地和远程的 V1.2 版本已经被我们移除掉.

     

    如何获取远程版本:

    #git fetch origin tag v1.2

    这样我们可以精准拉取指定的某一个版本.适用于运维同学部署指定版本.

     

     

     

     

     

    Github 是国外的 比较慢 而且是公开的  如果要加密 需要钱  但是有开源的Gitlab 开源的软件 可以替代Github 我们开下一章 如何安装Gitlab

     

  • 相关阅读:
    终端提示符路径长度设置
    linux ssh服务器
    kail-linux my need
    elasticsearch的marvel
    VPS折腾
    Ubuntu 系统密码相关问题
    Pycharm 使用配置
    python集成开发工具
    Codeforces Round #554 (Div. 2) 选做
    Codeforces Forethought Future Cup Elimination Round 选做
  • 原文地址:https://www.cnblogs.com/yexiaochong/p/5991291.html
Copyright © 2020-2023  润新知