1、windows下安装msysgit作为git的管理工具,下载地址:http://code.google.com/p/msysgit/ 。安装成功后,可以看到git bash和git gui两种操作方式,以下通过git bash进行操作。
2、假设欲在h:/syncfiles目录建立仓库作为服务端,依次执行以下命令:
cd /h #切换当前目录到h磁盘
mkdir syncfiles #创建git目录
cd syncfiles #切换当前目录到git目录
git --bare init --shared
最后一行git init
的作用是创建一个空的git仓库或重新初始化一个已存在的仓库。bare参数的作用是让 syncfiles目录等价于一个赤裸的仓库(bare repository),shared参数则指定仓库在多个用户间共享。由此相当于创建了一个作为服务端的仓库。这个仓库的目录结构可以和后面创建的仓库 对比下,是不一样的。
3、假设欲同步的文件位于d:/syncfiles目录下,现在需要把d:/syncfiles目录下的文件推送到服务端仓库中,依次执行以下命令:
cd /d/syncfiles
git init #在此目录创建一个git仓库
git config core.autocrlf false #可选,关闭自动将lf换行符转换为crlf换行符
git add . #将目录下的全部文件添加到索引中
git commit -m "提交信息" #将变化提交到仓库
git push /h/syncfiles master #将本地内容推送到服务端仓库中
以上步骤完成后,本地d:/syncfiles目录下的文件即被推送到服务端仓库中了。以后文件有改动时,可按以下步骤提交变化:
git add 改动的文件
git commit -m "提交信息"
#以上步骤可以反复进行,等工作告一段落时可再提交到服务端仓库中
git push /h/syncfiles
4、现在假设要在e:进行同步,则步骤如下:
cd /e
git clone /h/syncfiles #从服务端克隆出一个仓库
git config core.autocrlf false
执行后,可在e:下看到syncfiles目录,这个目录的结构和d:/syncfiles完全一致(同时可以比对下h:/syncfiles的目录结构,是不一样的)。以后如果对这个目录进行更改,可按第3步将更改推送到服务端仓库中。
5、从服务端仓库中同步更改。假设在d:/syncfiles进行了更新并推送到了服务端仓库,此时需要在e:/syncfiles中进行同步。这个步骤包含了两个动作:
- 从服务端仓库取出更新版本
- 与本地仓库进行合并
步骤如下:
cd /e/syncfiles
git pull /h/syncfiles master
以上展示了git中常见的操作,但没有涉及到以下内容:
- branch(分支)
- 冲突和合并
- 撤销和恢复
要说明的是,在git中有一个默认的分支存在,即master分支(主分支,即上文命令中出现的master),该分支由git自动生成。之前我们的各个操作都是在主分支上进行的,只是我们未察觉它的存在而已。
原文地址:http://uxcode.info/2010/10/06/116/sync-by-git/