Git是分布式版本控制系统。
文件:文本文件、二进制文件等;
要使用版本控制系统,必须以纯文本方式编写文件。
不要使用记事本编辑任何文本文件,建议使用Notepad++,要把Notepad++的默认编码设置为UTF-8 without BOM即可。
Unix的哲学是“没有消息就是好消息”。
1、In Action
(1)在Windows上安装Git
msysgit是Windows版的Git,从http://msysgit.github.io下载,按默认选项安装即可。
安装完成后,在开始菜单里找到Git——Git Bash,若出来一个类型命令行窗口的东东,就说明安装成功。
安装完成后,还需要最后一步设置,在命令行输入:
git config -- global user.name "your name"
git config -- global user.email "your email"
用--global这个参数,表示这台机器上所有的Git仓库都会使用这个配置,也可以对某个仓库指定不同的用户名和Email地址。
(2)创建版本库(即仓库)
a、创建一个空目录(不要包含中文);
b、git init——此命令表示将此目录变成Git可以管理的仓库;
(3)把文件添加到版本库
git add 文件名,可以反复多次使用,添加多个文件;
git commit -m "your comment":提交,-m后面是本次提交的说明。
1、TIPS
(1)集中式VS分布式
集中式:版本库是存放在中央服务器的。最大的缺点是必须联网才能工作。
分布式:没有中央服务器。每个人的电脑上都是一个完整的版本库。不需要联网。安全性更高,中央服务器坏了就无法用了,自己电脑坏了,还可以去其他人那里复制一个。
多人协作时,只需把各自的修改推送给对方,就可以互相看到对方的修改了。
其实很少在两人之间的电脑上推送版本库的修改,通常有一台充当中央服务器的电脑,这个服务器的作用仅仅是用来方便交换大家的修改。
(2)
git diff 文件名:表示当前文件和提交到版本库中的文件的修改的区别,即查看修改内容;
然后git add 文件名,git commit -m "comment"进行提交即可。
git status:随时掌握工作区的状态。
git log:查看提交历史,以便确定回退到哪个版本;
HEAD指向的版本就是当前版本,git reset --hard commit_id:回退到此版本;
git relog查看历史命令,以便确定回退到未来的哪个版本;
git checkout -- filename:用版本库里的版本替换工作区的版本;
git rm 文件名,然后commit:从版本库中删除该文件;
(6)GitHub
是一个免费的远程仓库(即一台运行Git的服务器),若是个人的开源项目,放到GitHub上完全没有问题。只需要注册账号,就可以免费获得Git远程仓库。
在GitHub上,可以任意Fork开源仓库;
自已拥有Fork后的仓库的读写权限;
可以推送pull request给官方仓库来贡献代码;
(7)搭建Git服务器
2、PS
(1)
(2)