首先介绍下Git是什么??? 💗
Git可以解决,文件版本的问题,Git是目前世界上最先进的分布式版本控制系统(没有之一)。Git版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统
Git的介绍 💗
工作区 : 就是在你电脑里能够看到的目录
暂存区 : 作为过渡层,避免误操作,保护工作区和版本库,分支处理(例如,开发一半可以提交到暂存区)
版本库 :工作区有一个隐藏的.git,这是是git的版本库;这里存放了很多东西,其中最重要的是称为暂存区,git还未我们自动创建了第一个分支master
Git的命令 💗
举例:创建一个文件夹,在里面创建个TXT,里面写段文字或者字母,我创建的叫add,txt.
git init 初始化,你要管理哪个目录那么就在哪个目录下面打开git小黑窗执行此命令
git status 查看当前版本状态
当前成为红色时,证明它在工作区
当前成为绿色时 ,证明它是暂存区
git add 文件名 / . /*.js 不报错,不会显示什么,就为正确
git commit -m '备注,你这次的提交修改了哪里'
再输入遍 git status
需要GitHub 的账号,建议注册并且进行配置,注册时注意名字与邮箱 ,这到后面会影响你的后续工作,注册好后,在我的电脑,C盘找到用户文件夹中的ssh
打开Git 并且输入指令 $ ssh-keygen -t rsa -C "你的邮箱地址" 生成id_rsa.pub
具体解释:
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:
创建SSH Key。在用户主目录下(C:\Users\wyunfei),看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:$ ssh-keygen -t rsa -C "你的邮箱地址"
登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。
如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。
$ git remote add origin git@github.com:zhangxiaoyu2036/xiaoluntai.git 把本地仓库和远程仓库进行关联
git push -u origin master 把本地仓库的代码提交到远程仓库
已经成功,去GitHub 刷新一下就可以看到已经成功穿到自己的库里去了
以上是最简单的Git用法
Git以外的扩展:
扩展阅读:(可跟踪的文件类型) 💗
所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有程序代码等等,git也不例外。图片,视频这些二进制文件,虽然也能由版本控制系统管d理,但没办法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只能知道图片从100KB改成了120KB,但是 到底改了什么,版本控制系统不知道,也没法知道。
集中式VS分布式: 💗
先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。
那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。
当然,Git的优势不单是不必联网这么简单,后面我们还会看到Git极其强大的分支管理,把SVN等远远抛在了后面。
以上是我对Git的一小点点的讲解,和普及,以后还会更新别的内容,Git也会追加新的知识点。
💓💓💓