Git学习笔记
好久没翻自己的印象笔记了,今天回过头看了看,有些笔记还是挺好的。把它们转移到博客上面去。
Git基本概念
Git是分布式的,可以有多个完整的镜像仓库,当执行clone操作时,会将整个镜像复制到自己的目录下。
Subversion等版本控制系统只有一个镜像仓库,用户提交的更改都会保存到镜像仓库中。
Git相比于其它更关注整体差异,而不关心每个文件被修改了哪些地方。Git判断文件是否发生过改变是通过校验和(Checksum)来实现的。它使用SHA-1算法。
Git中有三种状态:已提交、已暂存、已修改。
对应有三个目录:工作目录、暂存区域、git目录(Repository)
在git目录下的内容为已提交;在暂存区域的内容为已暂存;在工作目录已经修改但尚未放入暂存区域的内容为已修改。
暂存区域实际上只是Git目录下的一个普通文件,也被称为索引文件。
Git的基本操作
debian系的安装命令:
apt-get install git-core
初次配置:
Git中三个配置文件:
/etc/gitconfig
适用于所有用户~/.gitconfig
在用户目录下,只适用于该用户当前项目工作目录/.git/config
只适用于当前项目
下面的配置可以屏蔽上面的配置:
设置用户信息:
git config --global user.name xxx
git config --global user.email xxx
--global
选项表示对于当前用户有效,不加表示针对当前项目。
Git的基本操作
对项目使用Git管理:
git config
然后会产生.git目录,现在需要加入要跟踪的文件,如
git add *.c git add README
从已有项目克隆:
git clone git://xxx
也可以用http(s)或ssl协议。
将已修改的文件加入暂存区域:
同样使用add
git add xxx
忽略某些文件:
将其加入到.gitignore中
提交更新:
git commit
跳过暂存步骤直接提交:
git commit -a
移除文件:
git rm xx
移动:
git mv xx
回滚到以前的版本:
git reset
这里貌似要使用-hard
选项,不知道其它参数有什么区别,以后有空再看看