Git == > 版本控制

Git  == >  版本控制

1.git介绍:

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。Git 是根据GNU通用公共许可证版本2的条款分发的自由/免费软件,

安装参见:http://git-scm.com/

GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)。

Git本身完全可以做到版本控制,但其所有内容以及版本记录只能保存在本机,如果想要将文件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。使用场景:

  • 无GitHub:在本地 .git 文件夹内维护历时文件
  • 有GitHub:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库

其他:

    集中式:远程服务器保存所有版本,用户客户端有某个版本
    分布式:远程服务器保存所有版本,用户客户端有所有版本

Git在各行各业都需要用到,还没有Git之前,使用的最原始的版本控制,(类似我们的毕业设计论文,需要修改N次)有显著的缺点, 如下:

  - 多个文件,保留所有版本时,需要为每个版本保存一个文件。

  - 协同操作,多人协同操作时,需要将文件打包发来发去。

  - 容易丢失,被删除就意味着永远失去....(可以选择网盘)

为了解决以上版本控制存在的问题,应运而生了一批版本控制工具:VSS、CVS、SVN、Git等,其中Git属于绝对版主地位。

注意:

  客户端(本地):本地编写内容以及版本记录

  服务端(网盘):将内容和版本记录同时保存在远程(可有可无)

2.Git操作

命令:
        git init   生成一个隐藏的git文件
        ls   查看路径
        git add .  把当前目录的所有文件和文件夹加入到版本里。
        git config --global user.email 'xx@live.com'  设置邮箱
        git config --global user.name  'zbk'        设置用户名
        git  commit -m '初次版本上线'  真实的加到版本里。在这之前要设置邮箱,用户。
        git add templates/index.html  单独加个别的文件
        git commit -m '添加什么什么功能'   描述。
        git reset --hard (想回滚到的:commit值就是版本号)   回滚到原来的状态。
        git log   查看添加的版本记录
        git reflog   跳回到前面的版本号
        git stash    把当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本为修改过的状态。
        git stash pop  将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
        git stash list  查看“某个地方”存储的所有记录
        git stash clear  清空“某个地方”
        git stash apply  编号,指定编号记录从“某个地方”重新拿工作区(可能有冲突)
        git stash drop  编号,删除指定编号的记录。
        git status    建分支
        git branch bug  创建分支  (master)
        git branch   查看总共有多少分支
        git checkout  bug   跳转到名叫 “bug”的分支,切换之前把代码提交一下。
        git merge bug    将bug分支里面的内容合并到 master的内容里面。
        git branch -d bug  删除分支  bug
        git remote add 别名  https://github.com/.....
        git fetch   别名/master       获取,下载到分支
        git merge   别名/master       合并,下载到原数据
        git push 别名  master  把当前的代码推送到远程master上
        git clone  地址   克隆拿到代码
        git pull 别名  dev    从远程地址拿到代码。拉下来,下载到工作区


        mkdir
        ls
        cd
        git init
        git remote add 别名 地址
        gt pull 别名  master
        ls

3.git 小结:

小结:  git管理大致分为 2个区 4个状态
        两区域分别为: 工作区   版本库
        四个状态分为: 原内容  修改过的内容   暂存   分支
                                                分支开始:git reset --soft 版本号
                                        git reset head 文件
                                git check out文件
                                        git reset --mix  版本号

        产生冲突的就需要自己手动的去解决!!!!
        在公司里出现了紧急问题,一般都会在分支里面去解决。
        首先,创建修复bug的分支,那么什么是分支呢?
        master  不能修改的。  只能新建一个bug分支
        bug 修复之后,合并到 master
        看看以那个分支为主,要合并到哪自己分析。
原文地址:https://www.cnblogs.com/zhongbokun/p/8231920.html