3.10 下午用两小时学完了Git的基本使用,傍晚6点翻墙出去吃了顿寿喜烧,10点到宿舍回来整理今天学到的知识。充实: )
目录
1.浅谈Git发展历史
2.版本控制
3.Git的安装以及初始化配置
4.Git基本操作命令
5.Git基本原理以及如何创建远程仓库(Github,Gitee)协同开发
1.浅谈Git发展历史
Linus Benedict Torvalds(林纳斯·本纳第克特·托瓦兹)(芬兰人)
在1991年创建了开源的Linux,
至此之后Linux系统不断发展,到如今成为世界上最大的服务器系统软件。
因为Linux开源、强大、简易这些特点,深得程序员和爱好者的喜爱。在初期,很多人参与社区为Linux编写代码,是将源代码文件通过diff的方式发送给Linus,然后由Linus亲自手工合并代码。到2002年,随着社区的壮大、世界各地的爱好者的加入导致Linus的工作量增大,再加上社区的兄弟们对这种方式并不满意,如果还是由Linus手工管理的化很不切实际。后面Linux选择了一个商业的分布式版本控制系统 Bitkeeper,BitMove公司授权Linux社区免费使用这个版本系统。再后来,到2005年,社区的兄弟的各种操作,尝试破坏Bitkeeper协议,导致BitMover公司的不满,自此取消合作关系。
Linus基于使用BitKeeper时的经验教训,用两周的时间用C语言开发出自己的分布式版本系统Git。
2.版本控制
在学Git之前我们必须知道什么是版本控制系统:
1.集中式版本控制系统:
代表:SVN、CVS、VSS
所有版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。
有人将中央服务器比喻成一个图书馆,如果你要去取一本书并要修改,那么借完之后改完之后必须还回去。
集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这可多慢啊
2.分布式版本控制系统:
代表:GIT、Mercurial、Bazaar、Bitkeeper
那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。
当然,Git的优势不单是不必联网这么简单,后面我们还会看到Git极其强大的分支管理,把SVN等远远抛在了后面。
Git是目前世界上最先进的分布式版本控制系统
来源:
集中式vs分布式 - 廖雪峰的官方网站 (liaoxuefeng.com)https://www.liaoxuefeng.com/wiki/896043488029600/896202780297248
3.Git的安装以及初始化配置
链接如下,下载对应的版本。安装时基本可以Next、Next、Next
Git - Downloads (git-scm.com)https://git-scm.com/downloads 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成之后,打开Git Bash,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
ok,安装完成。
4.Git基本操作指令
cd 改变目录
cd .. 回退到上一个目录,直接cd进入默认目录
pwd 显示当前所在的目录路径
ls 都是列出当前目录中的所有文件
touch 新建一个文件 如touch index.js就会在当前目录下新建一个index.js
rm 删除一个文件, rm index.js就会把index.js文件删除
mkdir 新建一个目录,就是新建一个文件夹
rm -r 删除一个文件夹,rm -r src 删除src目录
mv 移动文件, mv index.html src index.html 是我们要移动的文件,src是目标文件夹
reset 重新初始化终端/清屏
clear 清屏
history 查看命令历史
help 帮助
exit 退出
# 表示注释
当你看了一下,这不就是Linux命令吗?是的,所以这些指令不也挺简单嘛。
5.Git基本原理以及如何创建远程仓库(Github,Gitee)协同开发
Git基本理论
Working Directory(工作目录):你写的项目代码存放的地方
Stage/Index(缓存区):用于临时改用,事实上他只是一个文件,保存即将提交的文件列表信息
Repository(仓库区):存放数据的位置,这里面有你提交所有版本的数据。
Remote Directory(远程仓库):上传到服务器,供远程数据交换。
前三个属于本地的工作区域,第四个属于服务器上的工作区域。
Git的工作流程一般是这样的:
1.在工作目录中添加、修改文件。其中就能用上上个目录介绍的一些基本指令
2. 将需要进行版本管理的文件放入暂存区域
3.将暂存区的文件提交到Git仓库
$ git add .
$ git commit -m "message you should record"
$ git push
创建远程仓库:
1.在服务器上创建,然后用指令 $ git clone http://xxxxxx 将目录下载至本地
2.在当前目录右键打开Git dash输入指令 $ git init 完成创建。执行完之后可以看到项目目录多出一个.git目录(文件必须全部可见,取消文件隐藏,如果没有发现.git很多一部分是因为系统自动将其隐藏的,你需要手动操作将其显形)。关于版本等的所有信息都在这个目录里面。
我说了这么多,你可能会Git呢?Git到底是什么?其实Git只是一个管理系统,我们必须多使用它的指令才能感受得到,比如完成远程协同操作,利用Gitee、Github。这时侯你只需要百度一下Gitee(码云)、Github官网,完成用户注册然后就可以使用其社区的功能了。我们可以在社区分享自己项目,同时也可以享受其他作者的开源项目,作为参考借鉴,当然你必须注意版权问题。最后我摆上我学习的资料,亲身感受良好。视频上有使用Intelliji IDEA使用Git的操作。同样Git强大的文职功能也有必要掌握的。
【狂神说Java】Git最新教程通俗易懂_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1FE411P7B3?p=1Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)
https://www.liaoxuefeng.com/wiki/896043488029600 半天的时间就能搞掂,其余的交给日常使用几天就能熟练了。感谢阅读,希望能让你有收获。
还是那一句,以上内容仅针对自己,如有异议,轻喷,谢谢。如有侵权,私聊删,敬请原谅。同时也欢迎朋友们,大佬们指出意见。感谢阅读