版本控制之git

Git分布式版本控制器

 

-简介

之前大家学习的svn是一个集中式的版本控制器。

 

版本控制器:就是用来追溯自己书写的代码的记录信息。好处:可以非常方便的记录何时何地何人操作了哪些代码。

 

集中式:对于集中式的版本控制器,需要搭建一个中央服务器【管理代码】,然后在这个中央服务器里面作为代码的仓库。svn是属于一个c/s架构的平台。c:小乌龟。

 

分布式:每个用户都可以称为代码的仓库,各自都是独立。如果使用了git那么自己的电脑即是服务器端,又是客户端。会先把仓库保存在本地。

 

一般来说现在的公司大部分用的是svngit只是少部分的非常前言的IT公司使用。但是很多公司配合svn一起使用。因为目前很多的开源产品都是托管在一个叫做github网站上面,如果要获取github上面的源码代码一般都需要学会git的使用。

  1. 什么是git?(俚语:傻子的意思)【git软件之父、Linux之父:李纳斯】

历史:91  --->   93 商业版本控制器 --- 反编译【人:samba之父,可以在windowfat32 ntfs)和Linux(ext3  ext4)之间进行文件传输共享的软件、在不知道window内部传输协议的情况下,自己抓包分析得到协议进行开发的 。可以把远程的文件系统映射成本地电脑的磁盘。只支持内部局域网系统。互联网上的LinuxUnix之间的文件共享:NFS【文件共享服务器的时候】ftp上传 ----- 修改开源版本器【开发者】---- 接触 --- 法律 李纳斯 协调 --- 自己开发【二周开发、v1.0---- 小伙伴 ---- git 分布式

 

samba开发者当时反编译bitKeeper,然后被状告。最后李纳斯本人用了二个星期左右的时间,开发git工具。Andrew Tridgwell

 

 

 

git概图学习:分布式的管理【开发者的电脑即是服务器又是客户端、本地电脑里面就存在仓库:1. 代码 2. 日志记录

 

 

分布式:就是每个用户的电脑都是一个独立的仓库,可以记录代码的变化,即使不联网,完全也可以自己独立开发。

 


-快速入门-安装

  1. git安装

 

 

全程【下一步】

安装后

 

 

点击后

 

 

在模拟环境里面可以无缝的使用Linux下的命令。【很好】

-仓库建立

先建立本地的仓库。先不再服务器上建立仓库,因为说过git是属于分布式的管理系统。自己的电脑可以实现本地仓库。

 

建立仓库(git init

1. 建立一个d:/day13的目录,作为仓库

 

 

 

2. 使用git init 创建仓库【git init

 

 

 

3. 查看仓库的版本信息(git status)

 

 

 

4. 需要把自己的文件加入到git版本控制器里面

 

a.先把文件加入到暂存区,然后加入到仓库(git add)

 

 

 

b. 配置你是谁,怎么联系你(只需要执行一次即可,以后都不要在执行了

 

 

执行

 

 

c. 提交到仓库

 

 

 

d. 查看仓库的的修改记

 

 

-git远程仓库

需要注意:git远程仓库不是必须的,如果只是一个人作为自由工作者soho【德国全球IT做大的】这个时候完全可以建立本地仓库进行代码的管理、但是一般建立一个方便彼此之间沟通,如果是要做某个开源项目,这个时候git是最好的选择。github (环境) 500w活跃者。

 

不得不提的是githubgithub是一个web版本的版本仓库平台,主要是做开源项目的代码托管。【也可以建立私有项目、不开源、内部使用,需要花钱】,并且该平台还可以后使用git-pages搭建免费的个人博客【完全免费、提供了300M的静态空间】

红楼梦 3M左右

 

github是互联网上一个免费的git仓库,可以在上面搭建开源的项目,但是这个网站的服务器是在国外的,不是很稳定。【Google出去的时候,zf把这个github顺带的封了,李开复带头、技术人活路.... 开放部分,敏感事件....关闭....

https://github.com/

由于github处于国外,一般都使用国内的git仓库

https://git.oschina.net/ 【码云】

 

命令:

配置必须的,但是只需要执行一次即可:

  1. git config --global user.name ‘caoyang’ 告诉git你是谁
  2. git config --global user.email ‘caoyang@163.com’ 告诉git怎么联系作者

 

基本命令:

  1. 创建仓库 git init
  2. 把文件加入到 git add .
  3. git commit -m “注释信息”
  4. git status 查看对应仓库的版本信息
  5. git log 查看当前仓库里面的文件的变化


-码云的使用

码云远程服务器提供一个仓库的功能,我们可以在码云上搭建一个远程仓库,然后在本地电脑使用客户端进行管理操作。【代码的提交】

 

常见的开源协议:最原始GPLGUN组织:gun is not unix  stallman】源代码开放【版权还是自己的、完全开源】GPLv2.0【松散】LGPL协议【loose 很松散】MITBSDAPache...

 

开源不意味着免费、收费【服务费】redHat红帽【10w】上门服务

 

 

1. 建立一个开源的仓库

 

 

 

  1. 填写项目的信息

 

 

 

  1. 复制项目的地址

 

 

 4.把开源的项目克隆到本地

 

 

 

5. 本地仓库代码同步到远程仓库(git push

 

 

 

6. 简便方式提交,由于每次提交到要书写提交的地址,太麻烦,可以使用origin做简写代替

 

 

 

上面的操作每次都要输入密码,太麻烦了,可以使用简单的方式来完成。


-码云的免密码提交

  1. 先在本地生成一个秘钥对

 

 

 

2. 生成的位置

 

 

 

 

3. 在网站上面配置公钥

 

 

把上面的id_rsa.pub里面的内容复制到下面。

 

 

 

4. 复制仓库的另外一个地址(例如:git@git.oschina.net:caoyang/git_php.git

 

 

5. 删除git仓库的原始地址,修改为上面的地址

 

 

修改为新的地址

 

 

 

6. 以后修改后直接使用下面的方式提交(第一次需要输入yes

 

 


-git远程文件删除

rm = remove

1. git删除文件(git rm),提交到暂存区,提交到仓库

 

 

 

 


-git版本查看-回滚

1. 可以使用git log --pretty=oneline查看git的版本修改信息

 

 

 2.如果要回到任意版本,只需要使用 git reset --hard 复制上面的版本号的前6

--hard[强制回滚]

 

 

 

3. 任意版本日志查看

 

 

 

-脚本提交

由于每次都要进行addcommitpush操作,太过于繁琐,我们可以做一个脚本进行提交

  1. 在项目根目录创建脚本

 

 


内容:

 

 2.设置可执行权限

 

3.提交测试

 

 

 

-学习资料

http://www.liaoxuefeng.com/

 

git权威指南》

posted @ 2017-08-30 18:41  奋斗的黑蜗牛1号  阅读(254)  评论(0)    收藏  举报