Git培训xucons@gmail.com2011-05-30目的为什么和如何使用Git进行开发Git常用命令使用GUI操作Git库开发环境配置Window下Git安装msysgit是windows下的Git,是命令行工具如果用EGit可以不用安装msysgit下载和安装Git,下载地址:安装过程参考:下Git的配置以下主要是解决中文问题C:\ProgramFiles\Git\etc\gitconfig添加:[core]autocrlf=false[gui]encoding=utf-8[i18n]commitencoding=GBK[user]email=xxx@gmail.comname=某某某C:\ProgramFiles\Git\etc\inputrc修改两行为:setoutput-metaonsetconvert-metaoffC:\ProgramFiles\Git\etc\git-completion.bash末尾增加:aliasls='ls--show-control-chars--color=auto'C:\ProgramFiles\Git\etc\profile末尾增加:exportLESSCHARSET=utf-8关键的Git文件或目录~/.gitconfig.git在库的顶级目录当中包含项目的所有对象、提交记录、配置.gitignore记录要忽略的文件Git简介Git是一个开源的分布式版本控制系统。与SVN、CVS相比分布式不需要中心仓库Git的版本号都是生成的一个哈希值,比如:bbaf6fb5060b4875b18ff9ff637ce118256d6f20性能分支与合并是比较简单对比快存储空间少术语Repository包括本地库和远程库Pull/Push/Checkout/FetchBranchMergeConflictCommitRevertWorkingDirectoryGit一此常用命令获得仓库gitinitgitclone提交gitaddgitcommit获取信息githelpgitstatusgitdiffgitloggitshow(显示改动情况)Git命令的备忘第一个Git库告诉Git你是谁gitconfig–globaluser.name“xucons”gitconfig–globaluser.email“xucons@gmail.com”创建一个库gitinit克隆一个库gitclonegit://git.kernel.org/scm/git/git.gitPull与Fetch区别gitfetch:相当于是从远程获取最新版本到本地,不会自动mergegitpull:相当于是从远程获取最新版本并merge到本地,相当于gitfetch和gitmerge在实际使用中,gitfetch更安全一些。因为在merge前,我们可以查看更新情况,然后再决定是否合并分支与标记分支创建分支gitbranchnamegitbranchnamecommit-id删除分支gitbranch-dname查看分支gitbranchgitbranch-r”//remotebranch转动某一分支gitcheckoutcommit-idgitcheckout-bnamecommit-id分支合并gitmergename//合并指定的分支到当前分支标记标记只是一个方便人识别某次提交的一个标签gittagtag-nameRebaserebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能revert和resetreset将当前的工作目录完全回滚到指定的版本号revert还原一个版本的修改,必须提供一个具体的Git版本号,例如'gitrevertbbaf6fb5060b4875b18ff9ff637ce118256d6f20'区别reset是指将当前head的内容重置,不会留任何痕迹。revert是撤销某次提交,但是这次撤销也会作为一次提交进行保存。Git的工作流程与远程仓库同步(pull,fetch)修改文件查看变更(show,status)载入变更(addor–a)提交载入的变更(commit)重复上传(push)Git文件的状态变化载入的概念(stage)通过gitadd可能将文件改为staged状态文件修改了后提交时加-a来载入GUIforGitTortoiseGitEGit(Eclipse插件)注:GUI未实现Git所有的功能,有些情况下还得在命令行进行操作EGit的安装插件安地址:介绍GitHub是一个基于web与git的托管项目服务,你可以这里托管你的代码。网址:开发平台的设置设置工作空间编码IVY的设置设置Git的SSHGit主目录的设置设置工作空间编码IVY的设置如果有本地的maven库,可以配置为本地库如查没有本地库,不用设置,默认使用中央库,速度较慢SSH-目录设置SSH-生成公钥和私钥Git主目录的设置本地库的路径不要放在eclipse工作空间当中,因为在删除项目时,会删除本地库当clone和新建一个本地库时,将项目导入到eclipse当中。使用EGit和GitHub在Github上注册一个用户将公钥(id_rsa.pub)添加了GitHub从GitHub导入现有的eclipse项目将Eclipse项目上传到GitHub在Eclipse执行Git操作在Github上注册一个用户将公钥添加了GitHub-1将公钥添加了GitHub-2用记事本打开以前生成的id_rsa.pub文件,拷贝所有内容到Key文本框中GitRepositoryExploring透视图克隆GitHub库克隆GitHub库2输入你生成公钥和私钥时的密码克隆GitHub库3选择一个分支,默认分支为master点下一步选择保存路径后点完成即可导入项目右击工作目录,选择ImportProjects按照向导提示,将项目导入到Eclipse工作空间。Eclipse执行Git操作进入java透视图从右键菜单中可以对Git进行操作Eclipse执行Git操作2在这个菜单中可以对Git进行操作提交上传到远程库从远程库下载同步分支合并添加显示历史QuestionandAnswerQuestionandAnswer:)总结Git是一个很棒的工具进行协作难以在短时间内精通,需要在日常使用中不断学习有问题可以相互沟通交流