git(版本控制系统)作用

Posted railgun1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git(版本控制系统)作用相关的知识,希望对你有一定的参考价值。

一、Git是什么?

  Git是一个开源的分布式版本控制系统。

  1、什么是版本控制?

    字面意思,控制版本,存储、追踪目录和文件的修改历史。市面上有各式各样的版本控制工具,比较常用的SVN、Git等等。

  2、什么叫“分布式”版本控制?

  (1)集中式:版本库存放在中央服务器

  (2)分布式:没有中央服务器,版本库存在每个人自己的计算机上

  3、概念

  (1)工作目录(工作区,Woring Directory):执行git init的那个文件夹(linux上叫目录),里面有个.git目录

  (2)版本库(Repository):工作区中的隐藏目录.git

    版本库里有什么?

    ① 暂存区(stage或者index)

      git add——把文件修改添加到暂存区

      git commit,把暂存区的内容提交到当前分支(当前head指向的这个分支)

      需要commit的文件事先全部放在暂存区->执行一次commit,全部提交->暂存区清空

    ② ....

  (3)远程仓库:可以理解为“中央服务器”,远端的仓库

  (4)本地仓库:你自己电脑上的仓库

  (5)git仓库文件的两种状态:

    ① 被跟踪的(Tracked files):那些已经被提交到本地仓库的文件

    ② 未被跟踪的(Untracked files):那些未被提交到本地仓库的文件。比如,你在工作目录里新建一个文件,但是并没有执行add操作,所以当前此文件并不在本地仓库中,自然不被跟踪。

    运行git status可以查看当前git仓库的状态

二、GitHub是什么?

  首先它是一个免费的远程仓库,可以托管你的代码,同时,也是一个开源协作社区,可以让广大人民群众共同参与开发。

  1、如何托管代码?

  (1)点击“+”可以创建一个新的仓库

  (2)法1:git clone 到你自己的计算机中的某个目录(工作区)

      法2:利用Git Bash,用命令行操作。

      ① 若本地还没有仓库,git init一个—>把代码放进去,git add、git commit—>git remote add origin [email protected]:userName/gitName.git—>git push

      ② 若本地有仓库,第一步就可以省了

  2、如何修改别人的代码

  (1)Fork开源仓库

    以https://github.com/poise/python 为例,在项目主页可以看到作者的仓库地址 https://github.com/poise/python.git,但是你不能直接克隆作者的这个仓库地址,因为你没有权限推送修改。点击“Fork”在自己的账号下克隆一个仓库

  (2)clone自己的仓库地址 [email protected]:UserName/python.git,再克隆到本地计算机进行一系列修改,之后再推送自己的GitHub仓库上

  (3)在GitHub上发起一个pull request,若对方接受就接受,不接受就算了...........

四、git操作

  1、创建一个本地仓库,并托管在GitHub上,push文件

技术图片

从GitHub克隆一个仓库,不用git init,也可以创建一个本地仓库

技术图片

 2、分支控制

  HEAD指针:指向的是当前分支

  master分支:主分支

  新建分支dev,创建dev指针,dev指针指向master相同的提交,HEAD指向dev

  合并分支:在dev上修改,之后把dev合并到master上——将master指针指向dev的当前提交

  删除分支:删除dev指针

技术图片

 

以上是关于git(版本控制系统)作用的主要内容,如果未能解决你的问题,请参考以下文章

git(版本控制系统)作用

如何生成 tsconfig.json 文件?

json 包版本控制

json对象上的多属性检查三元运算符在nodejs中不起作用,而它在google chrome控制台中工作

我应该依赖 package.json 还是对我的节点模块进行版本控制?

json 个人gulp构建过程包括资产版本控制和单独的配置文件