服务端搭建好了,现在只需要客户端把写的文本文件管理起来即可,管理工具有cvs,svn,git,windows的cifs协议,也是adnrew tridgell****,成了linux上的samba,阿里的开源社区在国内回馈应该是第一位。08年 基于,web使用的git,网站github上线,风靡世界
git是目前版本管理当中,最重要的工具
http://git-scm.com/downloads
linux很简单,直接yum安装,因为是李娜丝写的
中间分开,左边可以理解为互联网端搭建的服务,右边是客户端,分为两个库,本地仓库,远程仓库
cvs和svn都没有实现分布式管理,svn是所有客户端链接同一个服务器,写代码的地区是workspace工作区,到本地仓库中间有index,中间位置
工作区进行了代码的修改,index相当于把你的变化先放到这个暂存区,暂存区的代码要真正存下来,需要有个动作,commit提交,提交之后保存到本地仓库中,本地仓库的变化才有资格进入到远程仓库中,本地的变化跟远程还是有差别的。本地推到远程叫push
主要要掌握的命令有clone,add,commit,push
客户端ABC,一起开发,最后都会把本地的东西汇集到远程的仓库中去,也可以从远程仓库拖回来,提交先提交到本地仓库,再push到远程仓库中去
写代码的地方叫工作区,暂存区是index(写的代码暂时放在这里),把代码提交到repository,放到本地仓库,才有资格提交到远程仓库cemote
随便创建一个目录pro
打开git bash
首先把这个目录变成能被git管理的工作区,使用git init初始化,
初始化后后面东西都发生改变了,
实际上是把windows上改成隐藏目录了
这是元数据文件夹,不要随意碰了
要初始化就要对项目的根目录进行初始化
这个项目是受git管理的
两台机器
git服务在140,现在是135,这样是在当前目录创建.git
初始库需要init,里面目录的文件就不要进行改动,很重要
相当于写了一些代码
这个目录是被git管理,所以status可以查看状态,
on branch master 在主分支下
initial commit 初始化提交
untracked files 未跟踪的文件(index,html并没有被git管理起来)
** 可以使用 git rm --cached <file》还可以还原回去 **
add做了什么事情,staged 暂存的,unstaged不是暂存的就代表(用 rm --cached可以还原回去)
注意这个变化
add只能一次加一个文件,如果想要成批加入,可以使用git add .点号,就会递归查询指定目录下面所有的文件以及子目录 文件,全部加到git管理里面
改一下名
以前没出现过,这次就算新文件,index.html,gitignore,就是你想去排除忽略的文件
这样就会通知文件这些文件不用操心了
所以.ignore一般在开始的时候还是需要写的,要告诉他哪些文件需要忽略
git status -s
A 是add 新文件的意思
文件分类有三大类,
1.跟踪的,一旦把文件add进来,让git管理,就变成跟踪的了
2.文件没有加入到git中去,就是untraacked,未跟踪文件
3. .ignore,是跟.git文件放在同一级
下一步就是commit
出来的像vi编辑器
每一个程序员提交代码到版本库里的时候,必须提交本次做了什么事
也可以直接在后面 -m添加消息,你代码提交,代码审阅的人会查看你写的什么,是否符合,
提交一般是大的功能完成了再提交
这个数字是唯一ID,每一次提交才有的ID,代表每一次不同的提交
再次status,没有代码可以提交了,因为工作区是干净的,本地库已经保存了改变
commit提交的时候,一定要写明本次写了什么操作,commit成功就会把变化 永远存在repository本地仓库中,,再次查看状态,workspace就是干净的了,没有 东西可以提交的了