场景1
 
想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,
这样一直改下去,最后你的Word文档变成了这样:
 
 
 
场景2
有些部分需要你的财务同事帮助填写,于是你把文件Copy到U盘里给她(也可能通过Email发送一份给她),然后,你继续修改Word文件。一天后,同事再把Word文件传给你,
此时,你必须想想,发给她之后到你收到她的文件期间,你作了哪些改动,得把你的改动和她的部分合并,真困难
 
 
理想状态( 版本控制 )
版本
文件名
用户
说明
日期
1
index.txt
张三
删除了'我爱你'
7/12 10:38
2
index.txt
张三
增加了"请嫁给我"
7/12 18:09
3
index.txt
李四
删除了“请嫁给我”
7/13 9:51
4
index.txt
张三
增加了:“拜拜”
7/14 15:17
 
 
 

 
SVN(了解)
 
版本控制工具:、
    集中式得版本控制工具  (不安全)
    网络共享
 
 
工作流程:
        项目负责人创建好项目服务后
        参与项目人员检出项目(拉取)
        参与项目人员编辑完之后,添加add
        将文件提交到服务器   commit
 
 

 
 
 
 
 
 
git
 
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
Git有什么特点?简单来说就是:高端大气上档次!
 
git诞生
 
 
 
集中式  vs  分布式
 
 
 
 
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,
随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
 
 
git得工作流程:
 
        工作区、暂存区、版本库                         gitHub
        工作区 : 工作中编写得代码
        暂存区:
                    暂时存储、帮助我们保存代码
                    作为过滤层
                    避免误操作
                    保护工作区和版本区
                    分支处理
        版本库:管理版本、版本库中得代码操作产生版本
        
 
安装git  
 
001 配置个人信息
git config --global user.name <名字> --------->:配置用户名
 
git config --global user.email <邮箱>--------->:配置邮箱
 
git config --list --------->:查看配置信息
 
git config --global user.name  --------->:查看用户名
 
git config --global user.email --------> :查看邮箱
    
 
002 创建仓库
 
git init    通过git init命令把这个目录变成Git可以管理的仓库
 
 
 
003  查看文件得提交状态
git status
 
 
 
004 将文件或文件夹提交到暂存区
 
git add 文件名称
 
 
 
005 将缓存区的文件提交到版本库
 
git commit -m "添加注释"
 
 
 
006 查看提交的版本日志
git log
 
 
 
007版本回退
git reset --hard HEAD^         注:回退一步一个^  两步两个^
 
 
 
008 查看版本号
git reflog
 
 
009 通过版本号做版本回退
 
git reset --hard 版本号
 
 
 
010 查看文件最新改动的地方
 
git diff 文件名         -------------------------->  查看工作区与暂存区的比较
 
 
 
 
git diff master    ------------------------>  查看工作区与版本库的比较
 
 
 
 
 
git diff --cached  ------------------------------>查看暂存区与版本库的比较
 
 
011  删除文件
git rm -f 文件名    ----------------->删除暂存区 或 分支上的文件 同时本地工作区也不需要这个文件
 
 
 
 
git rm --cached 文件名  ------------------>   删除暂存区 或分支上的文件  但是本地工作区的文件保留
 
 
 
012  批量提交( 注:文件夹的提交必须文件夹不能为空 )
 
git add .        或者是   git  add  --all
 
 
013 忽略某个文件
 
.gitignore  文件的使用
        用命令创建.gitignore文件  在.gitignore里面添加要忽略的文件名称即可
        touch .gitignore
 
 
 
 
 
 

 
014  本地分支
 
    查看分支
 
git branch
 
 
    创建分支
 
git branch 分支的名称
 
 
    切换分支
 
git checkout 
 
    
 
    创建并切换
 
git checkout -b
 
    
    删除分支
 
git branch -d 分支名称   在主分支上删除
 
 
    分支合并
 
git merge 分支名称
 
 
 

 
 
GitHub
 
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。
 
001  git操作github   实现项目托管    (  从远端github拉取代码 )
 
1:需要早github上面创建一个仓库(先创建仓库的时候。github仓库尽量初始化)
 
2:在本地通过git  clone一个github仓库      命令 : git clone github仓库路径
 
3:把路径切换在.git的目录下     在本地工作区添加项目 ->  存在暂存区 ->  本地git仓库
 
4:将本地仓库推送到远端   git push -v origin master
 
5:线下同步github线上代码  git pull origin master
 
 
002  把本地git仓库 推送到远端
 
0:github里面先创建新的仓库
 
1:git remote add origin github仓库地址    连接
 
 
2:git push -v origin master      推送
 
 

 
 
远程分支
 
0 : git branch --all  查看所有分支
 
1 : git branch -r   查看远程分支
 
2:将本地分支 push 到远程分支
 
3:删除远程分支
 
 
 
 
 
 

GIT \ SVN 版本管理 git + gitHub的更多相关文章

  1. git svn 流程

    $ git svn clone http://192.168.10.208/svn/DeptDoc $ git svn rebase   $ git commit -asm "svn tra ...

  2. git详情、git工作流程、常用命令、忽略文件、分支操作、gitee远程仓库使用

    今日内容概要 git详情 git工作流程 git常用命令 过滤文件 分支操作 git远程仓库使用 可参照:https://www.cnblogs.com/liuqingzheng/p/15328319 ...

  3. SVN 、Git、Github的使用

    1.1 SVN 总结以及使用建议 每一次保存历史记录实际上就是一次提交 什么时候去保存历史记录? 完成了一个具体的功能模块 代码运行没有bug 当天工作结束提交一次 没有 bug 的前提下去提交一次 ...

  4. SVN和git的使用(附github的简单玩法)

    今天简单的总结了下SVN和git的使用,也尝试了下github,应该好好提高下自己的英文水平了,梦想有一天不再使用任何翻译软件. [svn]:集中式的代码管理工具(版本控制工具--版本记录) 1> ...

  5. Git常用命令及使用,GitLab/GitHub初探,Git/Svn区别

    Git安装配置及常用命令 0 Git本地分支管理 1 Git远程分支管理 2 Git Tag标签管理 3 Git Log日志 4 其它高级命令 5 常规使用及介绍 6 角色权限 7 分支定义 8 一般 ...

  6. 用好SVN与Git,版本管理都不是问题

    介绍一下SVN SVN:代码控制器(版本控制器),主要是为了多人协同开发项目,管理代码.也可以管理个人代码.也叫程序界的”后悔药“. SVN(是subversion的简称)是近年来一款基于C/S架构的 ...

  7. 版本管理——Git和SVN的介绍及其优缺点

    版本管理 概念:版本管理是软件配置管理的基础,它管理并保护开发者的软件资源.   好处:可以保留我们的历史版本,在代码开发到一半的时候,不至于无故丢失,还可以查看BUG的来龙去脉.   版本管理种类: ...

  8. CVS、SVN、Git、GitHub :版本控制系统

    1 1 1 Git常用命令 1 1 1 1 1 1 https://www.codecademy.com/learn/learn-git Learn Git You have now been int ...

  9. 从SVN到Git最强指南

    对于软件开发人员来说,版本控制系统他们再熟悉不过了,所谓版本控制系统就是软件项目开发过程中用于储存开发人员所写代码所有修订版本的软件.它的主要目的是实现开发团队并行开发.提高开发效率,对软件开发进程中 ...

随机推荐

  1. 黑科技 —— OTG 线

    OTG:On-The-Go的缩写: OTG 可将鼠标.键盘等一切终端(terminal)连接起来: OTG 技术就是实现在没有 Host 的情况下,实现从设备间的数据传送.(支持传送,显然也支持要求更 ...

  2. MySQL第五个学习笔记 该数据表的操作

    MySQL在创建表,创建.frm文件保存表和列定义.索引存储在一个.MYI(MYindex)且数据存储在有.MYD(MYData)扩展名的文件里.   一.用SHOW/ DESCRIBE语句显示数据表 ...

  3. 【C++】int转string,double转string方法,string转int,string转double方法

    C++的格式比较多比较复杂,转换起来有很多方法,我这里只提供一种,仅供参考. int或double转string 使用字符串流的方式可以比较简单的完成转换 需要添加头文件 #include <s ...

  4. 去掉 Windows 中控件的虚线框(当当 element == QStyle::PE_FrameFocusRect 时,直接返回,不绘制虚线框)

    在 Windows 中,控件得到焦点的时候,会显示一个虚线框,很多时候觉得不好看,通过自定义 QProxyStyle 就可以把这个虚线框去掉. 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  5. WPF中INotifyPropertyChanged用法与数据绑定

    在WPF中进行数据绑定的时候常常会用到INotifyPropertyChanged接口来进行实现,下面来看一个INotifyPropertyChanged的案例. 下面定义一个Person类: usi ...

  6. MinDoc v0.6 发布,轻量级文档在线管理系统

    更新日志 新增 标签功能,可以根据标签组织项目 新增 用户删除功能,删除后的用户项目以及其他数据会自动转移到超级管理员账户上 新增 项目描述支持Markdown语法 优化 项目标签添加效果 优化 登录 ...

  7. 图像滤镜艺术---Glow Filter发光滤镜

    原文:图像滤镜艺术---Glow Filter发光滤镜 Glow Filter发光滤镜 Glow Filter发光滤镜是一种让图像产生发光效果的滤镜,它的实现算法如下: 1,对原图P进行高斯模糊得到图 ...

  8. Python写的嗅探器——Pyside,Scapy

    使用Python的Pyside和Scapy写的嗅探器原型,拥有基本框架,但是功能并不十分完善,供参考. import sys import time import binascii from PySi ...

  9. fileapi.h里的API函数(包括LockFileEx和FindFirstChangeNotification函数)

    /** * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file ...

  10. 规则“Microsoft Visual Studio 2008 的早期版本”失败。此计算机上安装了 Microsoft Visual Studio 2008 的早期版本。请在安装 SQL Server 2008 前将 Microsoft Visual Studio 2008 升级到 SP1。

    今天重装了一下系统后,需要装开发工具,我用的开发工具是Visual Studio2008 和SQL Server2008R2,装完Visual Studio2008的时候在装数据库的时候却出现这样的问 ...