Git版本管理介绍(一)

集中式版本控制系统

CVS及SVN都是集中式的版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。集中式版本控制系统最大的毛病就是必须联网才能工作,若控制系统的中央服务器出了问题,所有人就都没法干活了。

分布式版本控制系统

Git是分布式版本控制系统,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

分布式版本控制系统的安全性更高,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了,从其他人那里复制一个就可以了。在实际使用分布式版本控制系统的时候,很少在两人之间的电脑上推送版本库的修改,通常有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

文本文件v.s.图片视频

所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

有关Git命令介绍,参考https://git-scm.com/docs。下面介绍在本地工作区创建一个Git版本库的基本操作。

git config命令,配置机器id信息,global参数

Git是分布式版本控制系统,每个机器都必须登记自己的相关id信息。git config命令用了global参数,表示所配置机器上所有的Git仓库都使用相同的配置,当然也可以对某个仓库指定不同的用户名和Email地址。

YYwhdeMacBook-Pro:~ yywh$ ls
Desktop			Music			anaconda3
Documents		Pictures		eclipse
Downloads		Public			eclipse-workspace
IdeaProjects		PycharmProjects		workspace
Library			SELF_USE_LEARN		
YYwhdeMacBook-Pro:~ yywh$ git config --global user.name "Yu Yg"
YYwhdeMacBook-Pro:~ yywh$ git config --global user.email "898486@qq.com"

git init命令,把“创建的版本库/仓库目录”变成“Git可管理的仓库”

YYwhdeMacBook-Pro:~ yywh$ mkdir GITWORKSPACE
YYwhdeMacBook-Pro:~ yywh$ cd GITWORKSPACE/
YYwhdeMacBook-Pro:GITWORKSPACE yywh$ git init   #
Initialized empty Git repository in /Users/yywh/GITWORKSPACE/.git/
YYwhdeMacBook-Pro:GITWORKSPACE yywh$ ls -ah
.	..	.git

从远处仓库clone下来的一个项目就是一个版本库;本地工作区文件夹 地位 等同于 远程仓库主机origin;本地工作区文件夹(远程仓库主机origin)里 都可以包含 多个项目(就是多个版本库);每个版本库 里面 都至少有一个master分支 和 stage分支(也就是暂存区),可以进入项目目录文件夹下,建立你自己的分支;在本地clone项目时,pwd目录可以只是一个普通文件夹,没必要是一个git init的版本库!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值