1.下载与安装
下载地址:http://code.google.com/p/msysgit/,该地址没有被墙,git官方网站http://git-scm.com/已经被墙,无法访问下载。
选择下载Git-1.7.11-preview20120710.exe,这是笔者写这篇文章时的最新版本。下载完成,点击exe一路安装即可。
2.配置
(1)每一次提交都需要包含你的名字和你的Email地址,因此需要配置一下这两个参数,使用以下命令:
- git config --global user.name "Your Name"
- git config --global user.email "your@email.com"
对终端显示的配置,给文字添加颜色,更易于阅读
- git config --global color.diff auto
- git config --global color.status auto
- git config --global color.branch auto
3.常用命令
(1)git init ,在指定的目录执行该命令,即为初始化git仓库,添加了.git文件。如果要将已存在的项目纳入管理,只需切换到项目目录,执行该命令,然后执行add,最后commit,下文有详细资料介绍。
(2)git add . .代表添加所有的,你也可以指定具体你想添加的文件,将计划的改动添加到缓存区。
git add *.js
git add index.php
(3)git commit
- //提交时,直接在命令行添加注释
- git commit -m "initial commit"
- //跳过stage阶段,git自动执行stage
- git commit -am 'update to index.php'
(4)git status 查看代码的当前状态,看是否与服务器端一致。
(5)git branch 显示所有分支列表,要想创建分支,在此命令后添加要创建分支的名字,比如:
git branch bigChange
(6)git checkout,刚刚创建使用命令(5)命令创建分支,但是仍然在master,要想切换到刚刚创建的分支需要使用checkout命令,执行git checkout bigChange,切换到刚创建的分支。
(7)git merge
(8)git log
git log --gragh
(9)git pull 更新本地仓库,将服务器端的改动更新到本地
(10)git clone /path/to/repository 检出代码,类似svn的checkout
(11)gitk --all 图形化展示仓库
4.如何将已存在的项目纳入git的管理
请参考:http://jiangli.easymorse.com/?p=494
5.工作流程
“你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录
,它持有实际文件;第二个是 缓存区(Index)
,它像个缓存区域,临时保存你的改动;最后是 HEAD
,指向你最近一次提交后的结果。”引用自参考资料(3)
- 首先使用git add命令将计划的改动提交到缓冲区,
- 然后使用git commit -m "代码提交信息"命令,将代码提交到HEAD,此时还没有提交到服务器
- 执行如下命令以将这些改动提交到服务器:
git push origin master
可以把 master 换成你想要推送的任何分支。
6.安装eclipse插件EGIT
(1)下载地址:http://www.eclipse.org/egit/
(2)简介:EGit 是Eclipse项目组为git版本控制系统提供的插件。Git是一个分布式的SCM,每一个开发者都拥有代码的所有历史版本的一个完整拷贝,搜索历史非常快且灵活。
7.GitHub
(1)生成ssh keys
- ssh-keygen -t rsa -C "your@email.com"
生成key文件之后,登录你的github账户,在账户设置中添加将该key添加到ssh key中。具体详细参考:
github网站官方生成key向导:https://help.github.com/articles/generating-ssh-keys,写得非常详细。
(2) 下载感兴趣的项目代码,此处以jquery项目为例
git clone git://github.com/jquery/jquery.git
8.遇到的问题
(1)ls不能显示中文目录问题
经过查找资料,在http://www.cppblog.com/kusamba/archive/2010/08/23/124420.html找到解决方式,
解决办法:在git/etc/git-completion.bash中增加一行:
alias ls='ls --show-control-chars --color=auto'
(2)如何添加已经存在的工程到远程版本库
请参考:http://jiangli.easymorse.com/?p=504
(3)svn工程迁移到git方法
请参考:http://jiangli.easymorse.com/?p=509
.相关资源及参考资料:
(1)Easy Version Control with Git
http://net.tutsplus.com/tutorials/other/easy-version-control-with-git/,详细讲解了和Github一起使用的方法。
(2) git操作基本命令
http://www.wojilu.com/Forum1/Topic/2236
(3)git - 简易指南
http://rogerdudler.github.com/git-guide/index.zh.html
(4)从入门逐步深入的记录:http://jiangli.easymorse.com/?cat=36