Git版本控制工具

1,834 阅读6分钟

一、Git是什么?

  • Git是一种开源的分布式的版本控制系统,用于快速高效地处理任何或小或大的项目。

    说白了,就是一个用来存储管理代码的仓库,只是跟其它版本控制工具不同的是,它不需要服务器端软件的支持,更加利于我们的开发项目的更新迭代,对于突发情况处理的更好,可以说是世界上最先进的版本控制系统

    它是由linux的创造者linus( 莱纳斯)开发的一个版本控制软件

    目前常用的版本控制工具就是Gitsvn

二、没有版本控制出现的问题

  • 备份多个版本,浪费存储空间,花费时间长。

    难以恢复至以前的历史版本,容易引发BUG,解决代码冲突困难。

    难于追溯问题代码的修改人和修改时间、修改内容、日志信息。

    项目升级,版本发布困难。

    无法进行权限控制。 比如 测试人员:只读;开发人员:模块权限。

    开发团队在工作过程中无法多条生产线同时推进任务,效率慢。

三、为什么要使用Git?Git和svn的区别

  • Git和其它版本控制系统的主要差别在于,Git只关心文件的整体是否变化,,而svn这类集中式版本控制系统则只关心文件内容的具体差异

  • ​ 举个很简单的例子,比如我们小组开发了一个项目,当我们需要对项目去修复一些bug,增加一些功能,去更新迭代的话。如果不用工具开发的话,我们通常的操作是不是给当前版本的项目复制一份,然后再重新在电脑上去创建个新的版本?这样的话如果项目已经更新了很多个版本,不仅占用了电脑内存,而且想要去找某个版本的话,还特别麻烦。

    另外如果是断网了,两个人身在异地想协作开发岂不是没办法了?

  • svn采用集中管理的方式,通过一个单一的服务器来集中管理我们的项目,可以在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。

    但是一旦服务器出现故障,那么就不能去提交,对比,还原等这些操作,必须还得联网,那就抓瞎了

  • Git就是为了解决传统版本工具流的劣势而诞生的!

    分布式,强调个体

    公共服务器压力和数据量都不会太大


    离线工作,每个人的本地仓库,大部分操作在本地库完成,不需要联网(SVN做不到)


    分支操作非常快捷流畅(重点介绍)


    可以吃后悔药, 尽可能添加数据而不是删除或修改数据(删除或修改不容易恢复,而每次添加一个版本,历史版本都有)


    速度快、灵活, 有能力高效管理类似 Linux


    内核一样的超大规模项目(速度和数据量)

  • 综合上述,Git更适合于我们协作开发,管理项目版本特别方便!

  • 了解完以后,我们就需要使用git了

四、Git 下载与安装

  • 根据自己电脑版本下载对应版本:

  • Git 安装

安装完毕后,我们就可以愉快的使用Git了!!!

五、如何将本地仓库代码推送到远程仓库?

  • 如何创建远程仓库?
        1. 注册github(代码托管平台)
        2. 创建远程仓库
            点击 + 号 创建 远程仓库 -》 仓库名称(英文) -》 对这个仓库的描述 -》 勾选创建README.md -》 点击按钮创建
    
    如何将远程仓库克隆下来?
        1. 复制仓库地址
        2. 回到桌面 -》 鼠标右建 》 点击git bash here -》 打开命令行工具
        3. 在命令行工具输入 git clone 仓库地址
        4. 远程仓库就克隆到本地了
    
  • 如何将本次仓库的代码推送到远程仓库?
        1. 把要上传的项目放到从远程仓库克隆到本地的仓库
        2. 在命令行工具输入 cd 本地仓库地址, 进入到克隆的仓库
        3. 将工作区(仓库)代码提交到暂存区
            git add .  提交所有文件
            git add "文件"  提价单个文件
        4. 将暂存区的代码提交到本地仓库
            git commit -m "本次提交的描述"
        5. 将本地仓库的代码推送到远程仓库
            git push    
    

六、Git常用命令

如果我们现在想把自己本地的这个项目,放到代码托管平台,让别人也能够克隆这个项目,那么我们需要现在本地创建git仓库!

  • 推荐方式:

首先通过git init 创建一个git本地仓库

接下来,我们就可以吧git本地仓库的项目推送到代码托管平台

但,前提是git本地仓库需要有项目

我们需要将当前项目目录的文件提交到暂存区,然后在从暂存取提交到代码托管平台

那么,如果将工作区的项目提交到暂存区

我们需要通过``git add 文件名称`

接下来,我们在通过 git commit 这个命令将 暂存区的文件提交到git本地仓库

提交完成之后,我们就可以将本地仓库的文件/代码/项目推送到代码托管平台


git命令:

git add 文件名 / .     说明: git add 文件名   表示我们是将单个文件提交到暂存区
                            git add . 就表示将所有的文件提交到暂存取

git commit -m "对本次提交的描述"    说明: git commit命令表示的是将暂存区的代码提交到本次仓库
                                        -m "" 这个表示的是对本次提交的描述,双引号里面写的是对本次提交的描述

git push            说明: 将本地仓库的代码推送到远程仓库(代码托管平台)
git clone "仓库地址"    说明: 将远程的仓库克隆到本地

推送到远程仓库有两种方式: 第一种: 直接在代码托管平台创建远程仓库,然后将本地仓库的代码提交到远程仓库

       1. 访问github https://github.com/
             击创建仓库
第二种:
    先在本地创建一个git仓库,然后在代码托管平台在创建一个远程仓库,现在要把本次仓库的项目推送到远程仓库,我们需要将本次仓库和远程仓库有连接起来,然后在进行推送到远程仓库