参考网址:http://blog.jobbole.com/25775/
1.Git 起步
git 它会把文件数据的整体保存下来,即每次更新时的文件快照。而其它版本控制系统是保存文件内容的具体差异,它们每次只会记录更新的文件及其内容。
git的所有操作都市本地执行,处理速度很快
git的设计特性在于它会在保存之前将所有的数据进行内容的校验和计算,并将这个结果作为唯一的表示和索引。它时刻保持数据的完整性
git所属操作紧紧添加数据,提交快照之后不会担心丢失数据,
每个文件的三种状态:已提交,已修改,已暂存。
每个项目会有一个git目录,这里面是git用来保存元数据和对象数据库的地方,每次克隆镜像仓库的时候就是拷贝这个仓库里面的数据。接着,如果我们要从项目中去除某个版本的所有文件好人目录,就会从这个git目录中的压缩随想数据库提取出来。然后对它们进行编辑。而存在于git目录里面的是暂存区域也就是我们常说的索引目录。
git的基本工作流程:
1.在工作目录中修改某些文件
2.对修改后的文件进行快照,然后保存在暂存区域
3.提价更新,将保存在暂存区域的文件快照永久转储到git目录中。
git 安装
有许多种安装方式,主要分为两种,一种是通过编译源代码来安装;另一种是使用为特定平台预编译好的安装包。这里重点说的是第二种。
Windows:
有个叫做 msysGit 的项目提供了安装包,可以到 Google Code 的页面上下载 exe 安装文件并运行:
http://code.google.com/p/msysgit
完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。
Git OS X:
1.安装简单的图形画git安装工具
http://code.google.com/p/git-osx-installer
- 通过 MacPorts (http://www.macports.org) 安装。如果已经装好了 MacPorts,用下面的命令安装 Git(这种方式不用自己安装依赖库):
$ sudo port install git-core +svn +doc +bash_completion +gitweb
初次运行git前的配置:
配置git的工作环境
git config 命令,专门用来配置或者读取相应的工作环境变量。
安装好以后要做好准备工作
下载安装git客户端: http://code.google.com/p/git-osx-installer/downloads/list?can=3
注册github账号: 去github官网( https://github.com/)注册一个账号
要有一个ssh, 创建一个ssh秘钥
1)cd ~/.ssh---->查找当前已经存在的ssh,用ls命令查看
2)ssh-keygen -t rsa -C "youremail"----创建一个ssh
3)git config --global user.name "yourname"---->配置用户名
4) git config --global user.email youremail---->配置邮箱
5)git config --list --->查看当前配置
6)more id_rsa.pub ----->查看id_rsa.pub内容
7)登陆github官网添加ssh
8)第一次本地和远程连接的时候需要你确认,输入yes就是。
接下来具体谈谈关于将本地项目push到远程仓库,以及从远程仓库克隆岛本地仓库
1.从本地推送到远程
a)在github上创建一个新的仓库。注意不要勾选创建readme.md。创建好以后,回到自己的终端,当然你也可以选择可视化操作,这里用的命令行。b)在终端用命令行创建一个
README.md文件,具体如下:
touch README.md //新建一个记录提交操作的文档
git init //初始化本地仓库
git add README.md //添加
git commit -m "first commit"//提交到要地仓库,并写一些注释
git remote add origin git@github.com:youname/Test.git //连接远程仓库并建了一个名叫:origin的别名
git push -u origin master //将本地仓库的东西提交到地址是origin的地址,master分支下
2)克隆到本地仓库 git clone git@github.com:你的账号名/你的仓库名 指定的文件夹名
注意:候命的指定文件夹名是指你要存的地方,不管之前的目录下有没有,它都会再创建一个文件夹,你要克隆的东西就在里面。
git status 检查当前文件状态
git add 要跟踪的文件名
git diff 查看已经暂存和未暂存的更新
git diff --cached 查看已经暂存起来的变化
git commit 提交更新
git commit -m "" -m参数后跟提交说明的方式,在一行命令中更新提交。
git rm 要删除的文件名 ---》移除文件 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f(译注:即 force 的首字母),以防误删除文件后丢失修改的内容。
git rm - cached 文件名另外一种情况是,我们想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。换句话说,仅是从跟踪清单中删除。比如一些大型日志文件或者一堆.a 编译文件,不小心纳入仓库后,要移除跟踪但不删除文件,以便稍后在 .gitignore 文件中补上,用 --cached 选项即可: