Git使用随笔
看到很多开源软件都使用git来管理源代码,我想我有必要学习一下了
首先必须明白是git是一个分布式的版本控制工具,你可以离线开发,说白了就是在你本机上也构建了一个版本仓库,在和服务器仓库同步的时候再同步你本地和远程的差异,有点象bt软件的工作方式。不用把这个东西想的过于复杂,也不要尝试去理解它的内部工作原理,说白了你就把它当成一个版本控制的工具就行了,它能方便的让你和其他人同步工作。
如果想深入了解本质的话请移步到这个翻译稿http://fsjoy.blog.51cto.com/318484/244397
git客户端安装
我用的是mac下的客户端
http://code.google.com/p/git-osx-installer/ 在这个网址下载你的系统所对应的版本,安装好即可
打开终端,运行一下步骤
- 第一步选配置一下个人信息,命令行如下所示:
- 配置用户名 git config --global user.name "用户名"
- 配置邮件地址 git config --global user.email "邮件地址"
- 如果想查看上面的配置的话请输入命令 git config user.name
- 或者是 git config user.email
- 好了,到此为止你的git客户端就配置完了
下面针对几个我们软件开发中常见的场景分别讲解一下该如何使用git来管理我们的项目
第一种场景: 在远程有git服务器,我们需要在本机创建一个项目,然后要把这个项目share给项目组成员,大家同步开发,以github为例
下面是步骤:
- 在github上申请账号 ,具体步骤可以查看这个网址 http://artori.us/git-github-usage/
- 假设我们现在要创建的共享项目为test1,这个项目在/opt/test1下,打开终端输入以下命令
- cd /opt
- mkdir test1
- cd test1
- git init 这个命令就是把test1目录初始化为一个git的目录
- 好了,在这个目录下随笔创建一个文件,假设就叫README
- 将这个新创建的文件加入到版本库中,意思就是说让版本控制工具来管理这个这个文件,输入命令 git add README
- 就和svn的add命令一样,这个文件现在还没有提交到版本库中呢,需要commit一下 ,命令为
git commit -m
'备注:第一次提交咯'
大家要注意这个提交其实是提交到本地的版本库中了,要知道git是分布式管理的哦 - 好了,我们要将这个本地库share到github啦,输入命令 git remote add origin git@github.com:你的github用户名/你的github项目名.git 这个命令就是说我的这个本地库和远程的库连接啦,我share了
- 现在把本地的更改的同步提交到远程 输入命令 git push origin master 这个命令就是说说把数据提交到原始主干分支上
- 现在可以到远程github上看看自己的数据提交了没有
- 用 git status命令可以看看当前本地还有没有没提交的
- 要把远程的更改同步到本地,输入命令 git pull -u origin master
第二种场景: 想把开源网站上的代码下载下来自己看,但是我可没功夫去贡献自己的代码哦
- 先获得开源代码的git网址,打开终端
- git clone 开源项目的网址
- 假设网址为git://github.com/johnson/mubs.git 那么就在当前目录下建了个 mubs子文件夹,文件夹下面就是项目的源代码了
第三种场景:创建的git服务器,就像以前单位内部的svn服务器一样
- 请参见这个网址,写的很详细,我就不多写了 http://www.flatws.cn/article/program/ruby/2011-02-23/14001.html
Git相关的软件和客户端
- 可视化的有 mac下的OpenInGitGui ,win平台下的tortoisegit
- 命令行那就太多了
- eclipse也有git的插件,比较简单易用的