zoukankan      html  css  js  c++  java
  • git原理及基本操作

    1.git基本概念

    1.1 常见版本管理工具

    git

      1.git是分布式的,每一个安装git环境的机器都有线下的版本仓库
      2.开发者无需把代码提交到线上仓库(GitHub、gitee、gitlab)
    

    SVN

      1.SVN是一个集中的版本管理工具
      2.开发者必须把代码提交到SVN服务器,本地没有版本仓库
    

    1.2 线上仓库

    多人协作开发时,会管理代码
    github / gitee
    svn
    

    1.3 git原理

    工作区: 就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。
    暂存区 : 暂存区就是文件夹 .git中的一个小部分(.git文件夹就是版本库)
    版本库:工作区有一个隐藏目录.git,这个不属于工作区,这是版本库, 版本库中还有Git为我们
    

    2.gitee中使用

    # Git 全局设置:
    git config --global user.name "王赛赛呀"
    git config --global user.email "7618719+wangsaisaiya@user.noreply.gitee.com"
    
    # 创建 git 仓库:
    mkdir adsafghj
    cd adsafghj
    git init
    touch README.md
    git add README.md
    git commit -m "first commit"
    git remote add origin https://gitee.com/wangsaisaiya/adsafghj.git
    git push -u origin master
    
    # 已有仓库?
    cd existing_git_repo
    git remote add origin https://gitee.com/wangsaisaiya/adsafghj.git
    git push -u origin master
    

    3.git常见命令

    3.1.简单提交

    git add xxx.txt # 将文件提交到暂存区 
    git commit -m 'xxx' # 将代码提交到本地版本仓库 
    git status # 看到未提交到仓库的修改文件(工作区、暂存区) 
    git log
    

    3.2.回滚

    git log #查看所有提交到仓库的版本记录: git log -2
    git reflog #查看所有操作记录(状态的md5值和改变的值)
    git reset --hard d9e0ed0 #回到指定版本(d9e0ed0是创建版本的MD5值得前6位或者7
    位)
    git reset --hard HEAD^ #回到上一个版本
    

    3.3.撤销修改

    vim Readme #我们在Readme文件中写了一些错误的代码
    git add . #然后又一不小心将文件从工作区提交到了 stage区
    git reset HEAD Readme #将Readme中刚提交到 stage区 的代码撤回到工作区
    git status #查看目前工作区状态
    git checkout -- Readme #将Readme在工作区错误的代码丢弃
    

    3.4.强制使用master覆盖本地代码

    git fetch --all
    git reset --hard origin/master
    git pull
    

    4.git分支管理

    4.1 分支管理概念

    master 主分支,稳定代码,为生产环境做准备的
    develop 开发分支,为开发服务
    

    4.2 分支使用

    '''1. 从master分支切换到dev分支进行开发'''
    git checkout -b dev master # 从master分支创建dev开发分支
    git branch # 可以看到现在已经切换到dev分支了
    vim Readme # 模拟在项目中修改代码
    git add . # 把工作区中所有变更全部提交到(暂存区)
    git commit -m 'in dev' # 把暂存区代码提交到本地git仓库(本地git仓库)
    git push origin dev # 把代码先推倒dev分支,让测试人员测试
    '''2. 当测试人员测试完成后将dev分支代码合并到master形成文档版本'''
    git checkout master # 开发完成后,需要合并回master分支,先切换到master分支
    cat Readme # 可以看到master分支的内容没有修改
    git merge --no-ff dev # 将刚刚dev中修改的代码合并到master
    git push origin master # 将本地仓库的代码推送到线上仓库(线上git仓库)
    
  • 相关阅读:
    知道回答C语言中如何返回值为数组
    指向字符串的指针和char类型的数组
    vba--将excel单元格格式改为常规格式
    vba--分拆工作薄
    VBA-合并多个工作簿
    使用sqlcel导入数据时出现“a column named '***' already belongs to this datatable”问题的解决办法
    使用Sqlcel操作数据库整理数据视频
    SQLCel匹配原数据信息,更新原数据所有信息并插入新数据的过程
    计算订单签收率的sql查询思路与过程(涉及百分比和四舍五入)
    sqlCel查询一个表中部分字段的数据后插入到另一个表中
  • 原文地址:https://www.cnblogs.com/wangxiaosai/p/14117582.html
Copyright © 2011-2022 走看看