以前的工作中用的基本都是 SVN 版本管理工具,但随着潮流的趋势发展越多的人加入 Git 之流。最近待业在家,也追一追热潮。
SVN 和 Git 有什么区别呢?前者事集中式的版本管理工具,后者是分布式版本控制系统,这应该也是最核心的区别吧。最大的优点呢,我用最简单的方式来形容:如果公司用的是前者,那你每次工作都必须跑到公司去,后者你就可以在家或者找个环境优雅的咖啡厅办公。
当然本篇不是来探讨 SVN 和 Git 的区别,以上也仅代表我个人的一些见解。下面是我的学习笔记:
新建仓库
检出仓库
添加/状态/比较/提交
分支
历史
推送更新
新建仓库
新建你自己的本地 git 仓库文件夹,git init 来初始化仓库
$ git init
完成以后会在目录下生存 .git 文件夹,ls -a 可以查看
$ ls -a
..git
检出仓库
当然检出基于你需要远程协同作业,个人本地项目就不需要了。
git clone "远程地址" 。下面是我自己的 github 项目地址,你克隆的时候记得换成你自己的哦!
$ git clone "https://github.com/amujoe/amujoe.github.io"
添加/状态/比较/提交
添加、状态、对比、提交,这应该是你使用所有版本控制工具的核心操作。
这里有必要先了解一下Git的工作流:
工作台:就是你搬砖的工厂(文件夹)
暂存区:也是缓存区,记录你的修改快照
仓库:保存你的项目快照(版本),这里一般指本地仓库。
在文件夹里新建文件首先是不好自动添加跟踪,需要用 git add 添加需要追踪的新文件和呆提交的更改到暂存区,然后使用 git status 和 git diff 查看和对比改动,最后 git commit 将你的快照记录提交到你的本地仓库
以上这个工作流是理解 git 工作的关键之所在!
添加
git add 文件名 可以单独追踪文件
$ git add index.html
git add 文件夹名字 可以批量添加
$ git add ./src
状态
git status 查看你的代码在缓存与当前工作目录的状态
$ git status
也可以用 git status -s 产检简洁版的,当然作为初学者查看完整的状态更有助于学习
$ git status -s
比较
是显示已临时提交的或者已修改但尚未提交的改动。有些绕口,但你也必须理解透彻。 假如你依次更改 a b c 三块内容,在更改完 b 的时候添加了一次快照,那么 a 和 b 就属于修改并提交的,c 则是 已修改但尚未提交。
git diff 查看尚未缓存的改动
$ git diff
git diff -- cached 查看已经缓存的改动
$ git diff --cached
git diff HEAD 查看已缓存和未缓存的所有改动
$ git diff HEAD
提交
提交缓存区的快照到本地仓库,并说明修改内容,
$ git commit -m "修改了index页面的banner图"
git commit -a -m "注释" :会先提交修改到缓存区,再提交缓存区快照到本地仓库
$ git commit -a -m "修改了index页面的banner图"
分支
历史
推送更新
未完待续
由于也是初学者,还未完全掌握,本文如若有误,还请多多指教,希望能与您一起学习成长!
网友评论