1、 版本控制工具
            - svn
            - git

2、  git:软件帮助使用者进行版本的管理

3、  git 相关命令

git init     #初始化
初始化后,会在当前目录自动创建 .git 文件夹,该文件是Git中最重要的文件夹,因为Git相关文件以及版本都将保存在该文件夹中,有了它,就不用担心用好多文件来记录版本了,通过Git命令可以将所有版本保存在
git status   # 查看当前git状态
git log #查看版本库内的所有版本
git config --global user.email "you@example.com" #配置邮箱
git config --global user.name "Your Name" #配置用户名 git add . #把当前目录及子目录里面的所有文件就文件夹加到版本库中 git add templates/xxx.html git commit -m "具体的描述信息" # 提交到版本库,并填写版本说明,以便以后回滚。描述信息不要瞎写,一定要表述明白这次提交做了什么
git reset --hard +版本的编号     #回滚到指定编号的版本 (向后跳)

git reflag        #(向前跳时)查看版本库的 版本信息

修复bug相关命令:
  方式1:
    git stash           将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
    git stash list          查看“某个地方”存储的所有记录
    git stash clear         清空“某个地方”
    git stash pop           将第一个记录从“某个地方”重新拿到工作区(可能有冲突),conflict表示与冲突,当有冲突的时候需要手动去修改
    git stash apply +编号    将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
    git stash drop  +编号    删除指定编号的记录   方式2:创建分支
    git branch xxx 创建一个xxx分支 (注意创建分支的当前位置,创建的xxx分支会将当前的分支完全的复制一份)
    git branch      查看所有的分支
    git checkout xxx 切换到xxx分支,在切换分支前切记要保存版本
      扩展: master分支只做线上的版本,不允许修改, dev分支只做开发版本
    git merge xxx      将xxx分支与当前的分支进行合并(有可能有冲突)
    git branch -d xxx 删除xxx分支

4、修复bug流程

解决方法一:此时发现bug
git stash 将当前工作区的修改过的代码暂存到某个地方中 按照原来代码修改bug...
git add .
git commit -m 'bug修改完成' git stash pop
- 不产生冲突
- 产生冲突,手动去解决 解决方法二: git branch dev
git checkout dev #在切换分支前切记要保存版本 git add . + git commit -m 'xxx'
# 写代码开发,此时发现bug
git add .
git commit -m 'xxx' git checkout master
git branch bug
git chekcout bug # 修复bug
git add .
git commit -m '紧急修复bug' git checkout master
git merge bug
git branch -d bug git checkout dev
# 继续开发
git add .
git commit -m '开发完成' git checkout master
git merge dev(可能有冲突)

5、常见报错信息:

是因为 你没有保存该分支内修改后的信息引起的

是因为你在推送数据时的版本与云端的版本内容有差别,云端不知道已谁为准,所以报错

6、向线上推送数据

7、从线上获取代码数据  (有可能会有冲突)

7.1

7.2

7.3

8、在从云端代码托管下拉代码的时候以上三种方法的效果是一样的,还有一种 fetch + rebase 方法,那么 fetch + rebase 方法 有什么不同呢?

区别在于在查看下方的节点图的时候

用 fetch + merge 的时候 见下图  (推荐用这种)

而 用fetch + rebase 后:   (当很多人一起开发的时候用rebase比较好)

不出现分叉的结构,看起来比较明了

python-day96--git版本控制的更多相关文章

  1. python后端面试第六部分:git版本控制--长期维护

    ################## git版本控制 ####################### 1,git常见命令作用 2,某个文件夹中的内容进行版本管理:进入文件夹,右键git bash 3, ...

  2. 利用Git版本控制管理你的项目

    准备工作 项目创建完成后,将项目版本控制起来,今后每个版本的迭代会非常清楚,同时也有助于项目进行协同开发. 还有一个十分重要的问题是:项目上线后,线上的运行的程序的配置与线下进行测试的配置文件是不一样 ...

  3. GIT 版本控制常用命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...

  4. Git版本控制与工作流

    基本概念 Git是什么? Git是分布式版本控制系统,与SVN类似的集中化版本控制系统相比,集中化版本控制系统虽然能够令多个团队成员一起协作开发,但有时如果中央服务器宕机的话,谁也无法在宕机期间提交更 ...

  5. Git版本控制教程

    Git 版本控制入门 不了解Git请查看权威Git书籍 ProGit(中文版). 一份很好的 Git 入门教程,点击这里查看. Git客户端下载地址: 官方Git - TortoiseGit - So ...

  6. Git版本控制工具(三)----远程仓库GitHub的使用

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. git版本控制工具(二)----本地版本库的常用操作

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  8. Git版本控制工具(一)----git的安装及创建版本库

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  9. Git 版本控制工具(学习笔记)

    GIT(分布式) 一.Git 初始版本控制工具 1. 安装Git Ubuntu系统下,打开shell界面,输入: sudo apt-get install git-core  之后回车输入密码,即可完 ...

  10. Git版本控制与工作流详解

    这篇文章是针对git版本控制和工作流的总结,如果有些朋友之前还没使用过git,对git的基本概念和命令不是很熟悉,可以从以下基本教程入手: 专为设计师而写的GitHub快速入门教程 git – 简明指 ...

随机推荐

  1. Unsupervised Image-to-Image Translation Networks --- Reading Writing

    Unsupervised Image-to-Image Translation Networks --- Reading Writing 2017.03.03 Motivations: most ex ...

  2. K8S笔记

    K8S 集群结构图 一些名词: etcd etcd保存了整个集群的状态:用于持久化存储集群中所有的资源对象,如Node.Service.Pod.RC.Namespace等:API Server提供了操 ...

  3. PTA 根据后序和中序遍历输出先序遍历(25 分)

    7-1 根据后序和中序遍历输出先序遍历(25 分) 本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果. 输入格式: 第一行给出正整数N(≤30),是树中结点的个数.随后两行 ...

  4. Qt基础学习(3)-----滑动条之QSlider

    //mydialog.h #ifndef MYDIALOG_H #define MYDIALOG_H #include <QDialog> class QLineEdit; class Q ...

  5. 细菌多位点序列分型(Multilocus sequence typing,MLST)的原理及分型方法

    摘 要: 多位点序列分型(MLST)是一种基于核酸序列测定的细菌分型方法,通过PCR扩增多个管家基因内部片段,测定其序列,分析菌株的变异,从而进行分型.MLST被广泛应用于病原菌.环境菌和真核生物中. ...

  6. 转 class和struct最本质的区别

    class和struct最本质的区别是class是引用类型,而struct是值类型,它们在内存中的分配情况有所区别. 什么是class? class(类)是面向对象编程的基本概念,是一种自定义数据结构 ...

  7. SPOJ QTREE Query on a tree 树链剖分+线段树

    题目链接:http://www.spoj.com/problems/QTREE/en/ QTREE - Query on a tree #tree You are given a tree (an a ...

  8. Vs自定nuget push菜单

    1.需要准备 nuget.exe 和 nuget-push.cmd 命名行 nuget.ext 下载地址:https://files.cnblogs.com/files/liuxiaoji/nuget ...

  9. 用aws cli 下载s3中数据到本地

    参考https://blog.csdn.net/DynastyRumble/article/details/76649120 1 首先注册AWS账户,绑定信用卡.一定要填写正确的手机,因为验证方式是它 ...

  10. anaconda 安装包

    很多包在anaconda navigator里搜不到 如果为了在host编译opencv而在bashrc和profile里屏蔽了anaconda的路径,则 使用$HOME/anaconda3/bin/ ...