git

一、  概述

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到很大的项目版本管理。对于svn是集中式的版本控制系统。集中式代码管理的核心是服务器,所有开发者开始新一天的工作之前必须从服务器获取代码,然后开发,如果有就解决冲突,提交。集中式中,所有的版本信息都放在服务器上。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆,在本地机器上拷贝一个完整的git仓库。

Git的优点是适合分布式开发,强调个体;公共服务器和数据量不会太大;速度快、灵活;任意两个开发者之间可以很容易的解决冲突;离线工作。缺点是,学习周期较长,不符合常规思维,代码保密性差。

二、  Github

Github是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,所以叫做github。github可以托管各种git库,并提供了一个web界面。

1.         github的基本概念

repository仓库

就是存放自己的项目的库。在github上托管的一个项目,就必须要有一个仓库。如果项目很多,要有多个项目。

star收藏

仓库上面的star,意思为收藏该项目的人数,在github上如果有一个项目获得收藏达到100个就是不错的。

fork复制克隆项目

将别人的项目复制到自己的仓库中。自己的仓库中的项目也可以被别人复制走。别人复制走了项目可以进行改进。自己复制了别人的项目也可以改进。

pull  request发起请求

这个是基于fork的,如果有人在项目基础上做了改进,想把自己的改进合并到原有项目中,可以发起请求,原有项目创建者,可以收到这个请求,可以选择是否接收他的改进到自己项目中。也是体现了git的分布式。

watch关注

关注了某个项目,可以得到这个项目的任何更新的通知。

issue事务卡片

发现代码有bug,但是目前没有成型代码,需要讨论时可以使用。

2.         使用github

注册登陆github。

首先,创建一个仓库。

1)        管理仓库,主要是对文件的管理。

新建文件,编写内容,填写提交说明描述,提交。

编辑或删除文件,在仓库中,点击文件可以进行编辑或删除。查看删除文件,通过仓库页的commits查看。

查看文件历史,点击文件可以查看history。

查看提交信息,在仓库页,commits中可以查看提交信息。

上传文件,在仓库页,点击上传文件。

搜索文件,在仓库页,点击find  file或者按快捷键t。

下载/检出项目,在仓库页,clone download。

删除仓库,在仓库页,settings,可以设置仓库,删除仓库。

2)        issues

issues的作用是发现项目BUG,或者目前没有成型的代码,需要讨论时使用,或者使用开源项目出现问题,都可以使用issue。

在仓库首页,点击issues。提出交流后,对方可以回复。双方都可以关闭或者reopen交流。

3)        fork

在别人的仓库中,点击fork可以复制一份仓库到自己的github中。在自己的仓库中可以对项目进行二次开发。

4)        pull  request

在别人的项目中,可以发起请求。请求别人接收自己对他的项目的改进或修改。

5)        对开源项目贡献的方式

第一种,通过issue与项目作者或维护者交流。

第二种,通过pull  request,直接请求项目拥有者是否同意自己做的改进或修改。基本步骤,是fork项目;修改代码;发起request;等待原作者的审核。

三、  Git

使用Git即可以管理github中的项目也可以管理线下项目。

1.         下载、安装和git的基本工作流程

从git的官网下载对应的版本。然后安装。

git的工作区域,包括

工作区(working directory),添加、编辑、修改文件等。

git仓库(git  repository),最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见。

暂存区,暂存已经修改的文件,最后统一提交到git仓库中。

向仓库中添加文件流程,首先,创建一个仓库。将文件从工作区提交暂存区git status查看当前区的状态,git  add  test.c提交到暂存区。然后,将文件从暂存区提交到仓库,先git status查看当前区的状态,然后git  commit  -m  “提交描述”提交到仓库。

2.         初始化及仓库的创建与操作

git安装完毕后,需要进行一些基本信息设置。

右键,进入git  bash。

设置用户名,github的用户名,git config  --global  user.name “tom”

设置用户名邮箱,git  config  --global user.email  “tom@qq.com”

查看设置,git  config  --list

1)        创建仓库和提交文件

然后,初始化仓库。创建一个文件夹mkdir  test。在文件内初始化git,创建git仓库,cd  test,进入放仓库的文件夹,git  init,初始化。

然后,向仓库添加文件,在bash中可以使用linux的命令实现,touch hello.c,然后,vi  hello.c,然后编写文件。然后,git  status查看工作区文件的状态。然后,git add  hello.c,将文件从工作区提交到暂存区。然后,git  status查看文件的状态。然后,将文件提交到仓库,git commit  -m  “add hello.c”。

2)        修改仓库文件

首先,修改工作区的文件,vi  hello.c。然后,git  status,查看文件状态。然后,将文件提交到暂存区,git add  hello.c。git  status查看文件状态。然后,将文件提交到仓库,git commit  -m  “添加了system”。再次查看文件状态,git status,文件提交成功。

3)        删除仓库文件

删除文件的命令是,rm  hello.c。从git中删除文件的命令是git  rm hello.c。然后,提交删除操作,git  commit  -m  “删除了hello.c”。

3.         git远程管理仓库

git远程管理仓库,可以实现统一管理代码和备份代码的功能。

首先,将远程仓库(github对应的项目)复制到本地。git clone  仓库地址(在仓库首页查看)。

然后,在克隆的仓库中,创建文件。vi  for.c。将文件添加到暂存区,git  add for.c。将文件添加到本地仓库,git  commit  -m  “添加for文件”。将本地仓库同步到远程仓库,git  push。添加是需要输入用户名和密码,前提是在配置初始化信息是用户名和邮箱信息是正确的。如果需要免用户名和密码同步,在./git/config中,将

[remote "origin"]

         url =https://github.com/hellohaha88/ieCollections.git

修改为:

[remote"origin"]

         url = https://用户名:密码@github.com/hellohaha88/ieCollections.git

四、  使用github搭建个人网站和项目站点

搭建个人能网站的步骤

1.         创建个人站点,新建仓库,仓库名必须是:用户名.github.io。

2.         在仓库下新建index.html的文件即可,注意仓库里面只能有一个index.html。

搭建项目站点的步骤

1.         进入项目主页,点击settings

在settings页面,在GitHub Pages板块,选择一个分支,点击save,就生成了。

2.         在github pages板块的theme  chooser,可以更换主题。

五、使用git搭建git私服

实际上,git私服也是一个git仓库,可以搭建到一台linux服务器上。

第一步,安装git需要的编译环境

yum  -y  install  curl  curl-devel  zlib-devel  openssl-devel  perl  cpio  expat-devel gettext-devel  gcc  cc

第二步,下载git-x.x.x.tar.gz

解压缩,进入目录cd  git-x.x.x

执行autoconf,如果没有autoconf,使用yum安装;

执行./configure

执行make

执行make  install

第三步,添加用户

adduser  -r  -c  'git version control'  -d  /home/git  -m  git

执行后会创建/home/git目录作为git用户的主目录。

第四步,设置密码

passwd  git

第五步,切换到git用户

su  git

第六步,创建git仓库

注意,一定要以git用户的身份创建仓库,否则创建的仓库因为权限问题不能被外界访问。

cd  /home/git

mkdir  rep1

cd  rep1

git  --bare  init

注意:如果不使用“--bare”参数,初始化仓库后,提交master分支时报错。这是由于git默认拒绝了push操作,需要在.git/config添加如下代码:

[receive]

      denyCurrentBranch = ignore

推荐使用:git --bare init初始化仓库。

git私服中仓库的url链接形式为:ssh://git@192.xxx.xx.xxx/home/git/rep1

其中,git为用户名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值