一、写在前面
关于git,出于自己的爱好,前段时间玩了一下,也自己上网查了一下资料,现简单记录一下,以备查看。
当然,本文并不是介绍配置git服务器的文章,而是以github服务器作为git的远程仓库服务器。
二、安装
windows下使用git,需要安装msysGit,下载地址是https://code.google.com/p/msysgit/downloads/list;
安装完成后,在安装目录下,有个msys.bat文件,这个就是msysGit提供的命令行客户端;
当然就像svn一样,也有图形化的客户端工具---TortoiseGit,安装过程就不赘述了;
三、git命令的使用
既然github作为远程git仓库,第一步肯定是要去github网站上注册一个帐号了;
在项目目录中,所有命令,均可通过-help查看帮助
1 git diff -check 2 检测本次提交是否有多余的空白字符, 3 会以红三色的空白字符提示 4 5 6 git log --no-merges 7 查看提交历史 8 9 10 git checkout master 11 切换分支(此为切换master分支) 12 13 git checkout -b featureA 14 创建并切换到featureA分支 15 16 17 git fetch origin 18 从远端数据拉取到本地 19 并不合并到当前分支 20 21 22 git pull origin 23 从远端数据拉取到本地 24 自动合并到当前分支 25 26 27 28 git merge origin/master 29 分支合并(此为合并到 主分支master) 30 31 32 git commit -am 'message' 33 提交到本地项目中 -a 提交所有文件 34 35 36 git push origin master 37 推送到服务器的master分支中 38 39 git push origin featureA 40 推送到服务器的featureA分支中 41 42 git push origin featureA:master 43 推送分支featureA到主分支master上 44 45 git push origin featureB:featureBee 46 推送分支featureB到服务器上的featureBee分支上 47 48 49 git branch 50 显示所有分支 51 52 git status 53 当前分支的状态
当不能上网时,也可以利用git存储版本信息,
在可以上网后,在服务器上新建资源,即可推送成功
1 在某个文件夹中,进行如下操作,简单的初始化 2 1、git init 3 4 2、touch README.md 5 6 3、git add README.md 7 添加文件到暂存区 8 git add -A 或者 git add --all 添加当前文件夹下的所有文件 9 10 4、git commit -am 'first commit' 11 12 5、git remote add origin http://github.com/vvfan/test.git 13 已添加 origin ,则直接进行第6步 14 15 6、git push -u origin master 16 17 在进行第六步之前,必须在github服务器上,新建一个test的项目资源 18 方可推送成功; 19 所以在服务器上,不论是先建项目或者后建,只要存在,都可用上面的步骤 20 进行初始化
1 Fork A Repo 2 3 1.fork the "Spoon-Knife" repository 4 5 6 2.git clone https://github.com/username/Spoon-Knife.git 7 8 9 3.cd Spoon-Knife 10 11 git remote add upstream https://github.com/octocat/Spoon-Knife.git 12 添加远端仓库 upstream 13 14 git fetch upstream 15 更新项目
1 clone后,本地修改添加文件 2 3 1.git clone https://github.com/vvfan/vv 4 5 2.git checkout -b featureA 6 可以不创建分支,创建分支是方便管理 7 8 3.(此后都在featureA分支目录下) 9 touch new.txt 10 (新建一个文件) 11 12 vim new.txt 13 (新建并添加内容) 14 15 4.git add -A 16 添加所有修改的文件 17 18 5.git commint -am 'add file' 19 20 6.git push origin featureA 21 推送到服务器上featureA分支上 22 23 7.git push origin featureA:master 24 推送到主分支上
关于git分布式的工作流程以及项目的管理,可参考连接
http://www.uml.org.cn/pzgl/201107281.asp
search 公开的大型项目