软件构造笔记之Git以及Github

一、关于Git

1.什么是Git

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper 。

特点是分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。

目前GIT已经可以在windows下使用,主要方法有二:msysgit和Cygwin。Cygwin和Linux使用方法类似,Windows版本的GIT提供了友好的GUI(图形界面),安装后很快可以上手,不在此做大篇幅介绍。

2.Git的作用

从一般开发者的角度来看,git有以下功能:

(1)从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。

(2)在自己的机器上根据不同的开发目的,创建分支,修改代码。

(3)在单机上自己创建的分支上提交代码。

(4)在单机上合并分支。

(5)把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

(6)生成补丁(patch),把补丁发送给主开发者。

(7)看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

(8)一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

3.优点和缺点

优点:

适合分布式开发,强调个体。

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

速度快、灵活。

任意两个开发者之间可以很容易的解决冲突。

离线工作。

缺点:

资料少(起码中文资料很少)。

学习周期相对而言比较长。

不符合常规思维。

代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

4.如何使用Git(基于常用的几个指令)

Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull。

Git有 workspace(工作区)、staging area(暂存区/缓存区)、local repository(版本库或本地仓库)、remote repository(远程仓库)。而指令都是基于该四个区域的交互而形成的。

首先是以下三个指令:

git init //初始化仓库
git add . // 添加文件到暂存区
git commit //将暂存区内容添加到仓库中

其中, git init 和 git clone(拷贝一份远程仓库,也就是下载一个项目)是创建仓库的指令;

而以下指令是提交和修改:

git add   //添加文件到仓库
git status  //查看仓库当前的状态,显示有变更的文件
git diff    //比较文件的不同,即暂存区和工作区的差异
git commit  //提交暂存区到本地仓库
git reset   //回退版本
git rm      //删除工作区文件
git mv      //移动或重命名工作区文件

接下来是提交操作:

git remote    //远程仓库操作
git fetch     //从远程获取代码库
git pull      //下载远程代码并合并
git push      //上传远程代码并合并

二、关于Github

1.什么是Github

GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。

作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
 

2.Github的作用

作为一个分布式的版本控制系统,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。

GitHub可以托管各种git库,并提供一个web界面,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的"fork"的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的"pull request"机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

在GitHub,用户可以十分轻易地找到海量的开源代码。

3.如何使用Github

关于如何使用Github,我找到了一个前辈总结的博客非常好,这里是链接。

https://blog.csdn.net/myblog_dwh/article/details/17852583

当然,如果觉得博客不够详细,也可以找到相关视频教程学习,以下是个人学习的视频链接。

https://www.bilibili.com/video/BV1pW411A7a5

 关于Git和Github总结就到这了,有很多前辈们总结的知识点,只要去找,就一定能找到。当然,找到之后学习,并且还需要自己多进行练习和实践才能更加熟练。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值