• 【版本控制工具】 Git基础


    一.Git简介

      Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。于是Git 成了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

      (Git目前使用率非常高的一款版本控制软件,相比较集群式版本控制SVN,CVS等,它采用了分布式版本库的方式,不必服务器端软件支持)有兴趣的可以去看看Git和SVN的区别。

    二.对分布式版本控制系统的理解

      集群式版本控制系统和分布式版本控制系统有什么区别?

        集群式版本控制系统:版本库是集中存放在中央服务器的,而不是个人的电脑。而开发基本都是用自己的电脑,所以要先从中央服务器取得最新的版本,然后开始开发,开发完成后,再把自己的内容发给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

          缺点:由于每次修改版本都需要访问中央服务器,所以需要联网,同时,一旦中央出现问题,会导致全部模块受到影响。

        分布式版本控制系统:分布式版本控制系统没有中央服务器,每个人的电脑上都是一个完整的版本库。所以每个人都可以独立进行开发,而且开发的过程并不需要联网,只是在提交更新需要有网络,此时所有人的信息都更新到一个临时中心服务中,供所有人更新信息。当然,这个临时中心服务并不是中心服务器,没有它,每个人也能工作,它只是用来方便交换大家修改的数据。在实际开发中,Git一般用GitHub或GitLab作为中央服务。

        分布式的版本控制安全性要比集中式高很多,而且灵活度也很高,提交的说明可以更改。另外,它不需要专门的管理人员来管理所有人的更新操作,对于提高工作效率有很大的帮助。

    三.Git安装和配置

      Windows的安装流程:

        1.下载软件,推荐链接:https://gitforwindows.org/

        2.下载的是一个安装包,一直点击下一步安装即可(注意不要安装在中文目录下)

        3.安装完毕后,为git的安装目录配置环境变量(这里是在Path上添加git-bash和git-cmd的路径即可)

        4.鼠标右键可以看到如图所示

          

          点击Git Bash Here,出现窗口如下图所示

          

        5.配置用户名和邮箱等

    git config --global user.name "你的用户名" #配置用户名
    git config --global user.email "你的邮箱" #配置邮箱,例如qq邮箱等

          配置完成后在c盘默认会有一个.gitconfig文件,里面有你的配置信息,例如

          

        6.配置ssh

    ssh -keygen -t rsa -C 你的邮箱

          一直回车即可,成功后会在c盘中生成一个.ssh文件夹,如下所示

          

         7.在GitHub上配置ssh,登陆GitHub后,在setting中配置,流程如下图所示

          

        8.将id_rsa.pub中的内容拷贝到Key中,如下图

          

        9.在git-bash中连接GitHub

    ssh -T git@github.com

          输入yes后,可以发现在.ssh文件夹中多出一个known_hosts文件,并且git-bash中显示如下

          

    四.Git基本操作

        1.在项目的文件夹中右键启动git-bash,输入git init即可创建Git项目(将项目交给git管理)。

        2.在GitHub中创建项目

        3.拷贝在GitHub中创建的项目的ssh地址,例如本人创建一个test项目后的URL是git@github.com:RetimeFor/test.git

        4.本地Git项目与远程项目关联

    git remote add origin git@github.com:RetimeFor/test.git

        5.第一次发布项目(发布本地项目到GitHub中)

          项目放到暂存区中

    git add .

          放到对象区中

    git commit -m "这是发布的说明"

          最后输入如下命令(如果不是第一次,可以去掉-u),将项目发布到远程仓库中

    git push -u origin master

          成功发布后如下图所示

          

         6.从GitHub上下载项目到本地

          复制需要下载的项目的URL

          

          在git-bash中输入以下命令即可完成下载

    git clone git@github.com:RetimeFor/test.git

        7.更新本地的项目

    git pull

    五.在编辑器中对git项目操作

       1.IDEA和eclipse目前都集成了git工具,安装git完毕后,IDEA和eclipse一般会自动配置好。如下两图

        

        

      2.如果是IDEA,选择IDEA上方的导航中的VCS,选择版本控制工具为Git

        

      3.继续点击VCS,选择VCS Operations,选择commit,如下图所示

          

      4.选择需要提交的文件,输入提交信息点击提交即可将项目提交到本地

        (右键项目,选择Git,点击Show History可以查看提交历史)

      5.继续点击VCS,选择VCS Operations,选择push,输入GitHub上的项目的URL即可,如图所示

        

       如果是eclipse,右键项目,选择Team,选择Share Project,然后进行add,commit与push操作即可,这里不再截图了。

      6.如果需要下载远程仓库的项目到本地,点击VCS,在点击Git,选择clone即可

      7.如果需要更新项目到本地,点击VCS,选择Git,选择pull即可

    六.Git更新冲突问题

      如果有人在远程仓库更新了项目,而你也在本地与他更新了类似的东西准备提交到远程仓库,这时就会出现Git提交冲突,如下:

       本地:

         

       远程:

        

       push发生冲突:

        

      解决:右键项目选择Git,选择Repository点击Stash Changes创建一个stash,然后pull或push项目选择Merge,手动修改最终保存的项目,如图

        

        或者直接手动merge,然后add 和commit即可。

  • 相关阅读:
    编译 | 更新标准库_交叉编译工具链
    论文 | 图文_学科
    编码 | 二进制格式设计方案
    图片 | 图片上传管理
    进程 | 查询进程中包含多少线程
    第二周02:Fusion ICP逐帧融合
    exe文件当前目录搜索文件
    第一周:读取XML深度数据并将其重建为三维点云
    第二周:01 ICP迭代交互
    C++文件读写(转载)
  • 原文地址:https://www.cnblogs.com/ywb-articles/p/10956045.html
Copyright © 2020-2023  润新知