入门Git管理工具

目录

1、集中式(SVN) 与 分布式(GIT)管理的区别

SVN与GIT优缺点对比

2、GIT的安装

Windows安装

Linux安装

3、GIT基本原理与工作流程 

Git工作区

 Git文件状态(版本控制就是对文件的版本控制)

4、GIT基本操作 

5、本地仓库提交远程仓库

Github账号配置

设置远程仓库

6、分支策略


1、集中式(SVN) 与 分布式(GIT)管理的区别

集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

在分布式版本控制系统中,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。你可以根据需要设定不同的协作流程。

SVN与GIT优缺点对比

  • SVN优点: 1、 管理方便,逻辑明确,符合一般人思维习惯。 2、 易于管理,集中式服务器更能保证安全性。 3、 代码一致性非常高。 4、 适合开发人数不多的项目开发。
  • SVN缺点: 1、 服务器压力太大,数据库容量暴增。2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。 3、 不适合开源开发。
  • GIT优点: 1、适合分布式开发,强调个体。 2、公共服务器压力和数据量都不会太大。 3、速度快、灵活。 4、任意两个开发者之间可以很容易的解决冲突。 5、离线工作
  • GIT缺点: 1、学习周期相对而言比较长。  2、不符合常规思维。 3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。 


2、GIT的安装

Windows安装

  • 访问地址:https://git-scm.com/
  • 点击下载:https://git-scm.com/download/gui/win
  • 开始安装,下一步,下一步。。。。。

Linux安装

  • Yum install git
  • 下载源码:https://github.com/git/git.git 编译安装。

3、GIT基本原理与工作流程 

Git工作区

  • Remote:远程仓库,托管代码的服务器,如项目组中的一台电脑用于远程数据交换(github)。
  • Repository:仓库区(版本库),就是本地仓库,安全存放数据的位置,这里面所有提交版本的数据,其中HEAD指向最新放入的仓库版本。
  • Index/Stage:暂存区,用于临时存放的改动,事实上,它只是一个文件,保存即将提交到文件列表的信息。
  • Workspace:工作区,就是平时查看文件和编辑文件的区域。

 Git文件状态(版本控制就是对文件的版本控制)

  • Untracked:未跟踪,在此文件夹中,但没有加入到git库,不参与版本控制,通过git add 状态变为staged。
  • Unmodified:文件已经入库,未修改,即版本库中的文件快照内容与文件夹一致,这种类型的文件有两种去处,如果被修改,变为modified,如果被移除版本库git rm,则变为Untracked
  • Modified:文件已修改,仅仅是修改,并没有进行其他操作,这个文件有两个去处,第一个是staged,第二个是unmodified。
  • Staged:执行git commit 则将修改同步到库中,这时库中的文件和本地文件虽为一致,文件为Unmodified。执行git reset HEAD filename取消暂存,文件状态为modified。


4、GIT基本操作 

5、本地仓库提交远程仓库

Github账号配置

1、注册github账号

2、设置SSH Keys,ssh-keygen -t rsa -C "xxxx@xxx.com"

这句话打好以后把id_rsa.pub里面的东西复制到github配置里面

3、在github settings页面设置SSH Keys 

设置远程仓库

1、在github中 Create a new repository

2、根据github的提示(第一次创建repository有提示),在本地仓库运行命令:git remote add origin https://github.com/github的账户名/xxxrepository名称.git

3、关联后,使用命令git push -u origin master第一次推送master分支的所有内容

4、此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改


6、分支策略

(1)master分支是稳定版本的,也就是仅用来发布新版本,平时不能在上面干活;

(2)干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

(3)你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

(4)合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

 下图以bob和michael的合作开发为例

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值