git是用来控制版本的软件,不但能够记录每次文件的改动,还可以让同事协作编辑。
而git与cvs、svn不同,git是分布式的版本控制系统,而cvs等是集中式的版本控制系统,这俩有什么区别呢?
集中式版本控制系统,版本库集中存放在中央服务器,而干活的时候用的是自己的电脑,所以要用从中央服务器取得最新版本,干完活以后再推送给中央服务器.
集中式的最大毛病是必须联网才能工作,如果网速慢那么就会浪费时间。
而分布式的版本控制系统没有中央服务器,每个人的电脑上都是一个完整的版本库,这样工作时候不需要联网。工作时候只需要把各自的修改推送给对方就可以互相看到对方的修改了。
和集中式相比,分布式要安全得多,因为每个人电脑里都有完整的版本库,某个人电脑坏了不要紧,别人那里还有,而集中式的中央服务器出问题所有人都没办法干活了。
实际上分布式也存在中央服务器,但是不是储存版本库,而是方便交换大家修改。因为你的同事也许不跟你同时在线。
Initialized empty Git repository in C:/Users/Bam/.git/
建好git仓库(空),这个目录是git用来跟踪管理版本库的
$ mkdir learngit(建立learngit这个文件夹)
$ cd learngit(前进到learngit这个文件夹来)
$ pwd(显示当前目录)
使用notepad++创建一个readme.txt,并放置在刚创建的learngit目录下;
第一步:用命令 git add 告诉git,把文件添加到仓库
$ git add readme.txt(没有反应才对,有反应说明有问题)
第二步:用命令git commit告诉Git,把文件提交到仓库
$ git commit -m"wrote a readme file"
在提交文件到仓库之前需要注册git账号,并且在命令行里告诉git你的身份。
成功以后的反馈
git commit 命令,-m后面输入的是本次提交的说明,这样可以从历史记录里面很方便的找到改动的记录。
(括号里面告诉你1个文件被改动(新添加的readme.txt),插入了两行内容)
那为什么GIt添加文件需要add,commit一共两补呢?因为commit可以一次提交很多文件,多以你可以多次add不同的文件。
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."