美文网首页
版本控制器git(一)之常用操作命令

版本控制器git(一)之常用操作命令

作者: 侯垒 | 来源:发表于2016-05-03 01:27 被阅读206次

    一、什么是版本控制?

    举个例子:大家写毕业论文,总是不停的修改。有时候修改了几次后发现,还是原来的好,但是已经删除了并且保存了,很痛苦,要是能后悔就好了。有时候还会遇见,修改了很多种情况,自己都不知道到底哪一份是最终版。通常的命名为,《毕业论文最终版》,《毕业论文最终版1.0》,《毕业论文最终版2.0》,《毕业论文终结版》,《毕业论文终结版X.0》等等,电脑上保存的太多的版本了,而版本控制器的诞生就是为了解决这个问题的。能够跟踪记录你对一个文件,工程,或者一个项目每一次修改,记录你的每一个版本,让你从此再也不混乱。PS:版本控制器不是程序员才用,写毕业论文也可以用 😀

    二、企业使用版本控制器有什么作用?

    1、后悔,我写了100行,发现不好了,一顿修改,改完后发现,还没有原来的好,或者直接崩溃了,想反悔,怎么返,反不了?使用版本控制器版本回馈,轻松搞定。
    2、手动备份 ,版本1.0 ,版本2.0 ,版本3.0 。。。。每一个都保存到你的电脑上,你会不会疯掉,使用版本控制器,轻松搞定。
    3、版本混乱,那么多版本你怎么知道每个是什么?使用版本控制器查看版本日志,轻松搞定。
    4.、你们公司来了一个新人,一顿乱改代码,后发他发现在公司呆不下去了,就走了,改乱的代码怎么办?版本回馈,轻松搞定。
    5、责任问题,在公司代码出了Bug,耽误了工期,责任是谁的,要讲证据,怎么办?版本控制器可以查看操作者,轻松搞定。
    6、权限的划分:你刚到公司就是一个小员工,肯定不能让你拿到核心代码,但是又不能不让你写代码,怎么办?没关系版本控制器给你分配权限,可以让你只负责简单的功能,轻松搞定。

    三、常见的版本控制器有哪些?

    目前主流的版本控制器有SVN和git,但是git得使用者已经越来越多了。

    四、git的起源(对于牛逼的新的理解)

    git的作者是Linus,Linus还管理着Linux社区,Linux社区最早是Linus一个人手动合并世界各地Linux开发者发给他的代码,这个工作量随着Linux的壮大,慢慢变得工作量很大。到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议,被BitMover公司发现了,于是BitMover公司怒了,要收回Linux社区的免费使用权。
    Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:
    Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。

    五、git是什么?

    git是一种分布式版本控制系统。而SVN是集中式版本控制系统。

    六、什么分布式?

    举个例子:大家看电影,晚上回到家都可以用电脑看,不用在一起,这种在家看电影的方式叫做分布式或者分散式。而如果我们去电影院看一个刚上映的电影,就需要我们和朋友一起相聚在电影院才能看,这样相聚在一起的方式就是集中式。

    七、什么是仓库?

    git对版本的所有管理需要记录,这个保存git记录的地方就叫做仓库,这个仓库分为两种,本地仓库和远程仓库

    八、创建本地仓库的步骤

    1、git init
    2、配置仓库
    2.1>告诉git你是谁
    git config user.name Se7eN_HOU
    2.2>告诉git怎么联系你
    git config user.email 641037548@qq.com
    上面是一次性的配置,用户信息会被配置到被管理工程文件夹下面的.git文件夹里面
    下面是一种永久性的配置
    git config --global user.name Se7eN_HOU
    git config --global user.email 641037548@qq.com
    在前往->个人->.gitconfig文件里面可以查看

    九、查看git的状态(git status)

    1、Untracked files(红色文件):新添加的文件或者新修改的工作区,没有被添加到暂缓区的
    2、Changes not staged for commit(红色文件):文件已经修改,但是还没有放入暂存区域
    3、Changes to be committed:(绿色文件):将工作区的代码添加到暂缓区,可以被提交到代码仓库中
    4、nothing to commit:说明已经没有需要提交的了

    这里提到了工作区,缓存区和本地仓库

    本地仓库.png

    十、提交到本地服务器的命令

    10.1、最开始的状态


    git status.png

    10.2、通过git add . 命令(注意add后面有个.点,表示添加所有的文件)将文件添加到缓存区

    git add.png

    10.3 将文件通过commit命令,添加到仓库


    git commit.png

    注意1:在commit后面如果没有添加-m说明修改了什么,也就是修改日志的话, 就会自动进入一个vim界面,要求我们输入日志信息。按 “i" 进入编辑页面。输入完毕后按Esc后接着:wq保存退出
    注意2:git每commit一次都要先add一次

    十一、git的命令修改使用alias

    git config alias.st “status”
    git config alias.ci “commit”
    等等还有很多都可以修改,这里之举这两个例子

    十二、查看版本号

    1、git log

    git log ![Uploading Pasted Graphic 7_518573.png . . .].png

    2、 git reflog只能查看到版本号的前7位

    git reflow.png

    3、配置带颜色的log别名,先把下面的代码复制到终端中运行一次

     git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
    
    git lg.png

    十三、版本回馈

    回到当前版本,放弃所有没有提交的修改
    git reset --hard HEAD(- -hard:表示强制回馈)
    回到上一个版本
    git reset --hard HEAD^
    回到之前第100个修订版本
    git reset --hard HEAD~100
    回到指定版本号的版本
    git reset --hard e695b67

    十四、总结

    好吧,太困了,下次接着给大家分享远程仓库的操作。睡觉 😴😴😴😴😴😴😴😴😴😴😴😴😴

    相关文章

      网友评论

          本文标题:版本控制器git(一)之常用操作命令

          本文链接:https://www.haomeiwen.com/subject/rtvlrttx.html