What is version control(版本控制)?
如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能),采用版本控制系统(VCS)是个明智的选择。有了它你就可以将某个文件回溯到之前的状态, 甚至将整个项目都回退到过去某个时间点的状态,你可以比较文件的变化细节,查出最后是谁修改了哪个地方, 从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。使用版本控制系统通常还意味着, 就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量 却微乎其微。
什么是“版本控制”?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们对保存着软件源代码的文件作版本控制,但实际上,你可以对任何类型的文件进行版本控制。
本地版本控制
许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的 好处就是简单,但是特别容易犯错。有时候会混淆所在的工作目录,一不小心会写错文件或者覆盖意想外的文 件。
为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。
A way to version – git
本地仓库尝试
- For windows cmd/powershell
图形化界面(新手快速入门)
- GitHub Desktop客户端下载,用于帮助我们管理git仓库
- 安装
- 登陆
- 进入
- 我们准备了给大家练习的github repo:https://github.com/seumsc/playground,点击可看远端仓库情况。
- 戳 open in Desktop即可在github desktop中打开啦
- 确认后一键clone
- 完成!这就是主界面啦~
- 此处我们打开仓库所在文件夹并打算上传一个文本文件
- 回到github desktop,我们发现github desktop已经自动发现了我们的新文件并列出改动了哪些文件
- 首先我们做一个提交(commit),填写提交信息”Create Welcome.txt”简略描述我们的提交做了哪些改动,然后产生一个提交(在本地)
- 此时我们发现这里提示“1↑”表示本地仓库比远程多一个提交,同理“x↓”也表明远程仓库比本地多x个提交,这种时候应该考虑更新本地仓库
- 点击push origin讲这个提交提交到github服务器上
- 刷新github页,我们发现这个文件已经顺利提交啦
尝试
提交你的问候到我们的演练场仓库上(。・∀・)ノ゙
⚠若您的github账号没有加入我们的组织,则无法clone和push,请联系我们添加您的账号
命令行界面(高效快速)
- 安装git
- 初始化git仓库
1 | # 切换到想要放项目的目录 |
- 添加远程仓库地址,分配仓库名
origin
到地址``
1 | git remote add origin [email protected]:seumsc/playground.git |
- 推拉操作
1 | # 从远程分支拉取 |
- 储存区操作
1 | # 添加文件到storged |
- 更多命令请参考官方文档
文件状态
git的四个文件状态
- Untracked
- 不在git管理范围内
- Unmodified
- 已被git管理,目前没有被改动
- Modified
- 已被git管理,并且发生了改动
- Staged
- 改动文件/新增文件被合入commit中(文件只会在这里存续一瞬间,完成commit之后立即转入Unmodified)