在项目版本控制管理中,我想大家都熟悉CVS或着SVN了,对于新兴的git大多人还是抱着观望的态度,本文简单介绍如何在windows下使用git及github仓库管理项目。

第一,下载并安装git

目前windows版本的git有几种实现,但我们选择msysgit发行版,这是目前做得兼容性最好的。下载地址: http://code.google.com/p/msysgit/downloads/list

下载完成后双击安装文件并按照提示完成git的安装。git的安装过程十分简单,安装完毕后会提示你做初步的配置工作,这里我们全部按照默认值即可(PS:在选择git bash时我选择了类unix提示界面)。

安装完毕后git bash启动界面如下所示:

第二,创建github账号

github是一个类似sf的免费项目管理及分享的服务平台,要想使用github提供的服务,你必须先注册成为github注册用户。github的网址是: http://github.com

第三,建立本地git仓库

首先,git要求使用者必须提供自己的身份标识,为此我们需要在git bash中执行以下命令:

git config --global user.name 'Mc.Test'
git config --global user.email Test.Mc@gmail.com

其次,选择git仓库目录

我们假设将git仓库目录放在D盘的OPENSource目录下,可以通过在git bash中执行以下命令完成:

cd /d
mkdir OPENSource

注:git bash支持大多linux bash终端命令,你可以自己尝试更多终端操作。

第三,建立项目并初始化git仓库

我们的第一个项目是一个使用Python语言将XML文件转换成Python字典(dict)对象的实现: Python-XML2Dict ,通过执行以下命令完成此步骤:

mkdir Python-XML2Dict
cd Python-XML2Dict
git init

执行此操作后,git将在Python-XML2Dict目录下创建一个隐藏目录(.git),这个目录就是git用来管理软件版本的仓库。

第四,使用git管理项目

现在我们可以开始使用git管理我们的项目了,我们的项目非常简单,只包含3个文件:README、__init__.py和encoder.py。我们将三个文件复制到Python-XML2Dict目录并将其纳入git管理:

#cp /e/workspace/python-module/xml2dict/* .
git add README __init__.py encoder.py
git commit -m "这是我们第一次初始化项目"

git add命令可以将参数指定的文件添加到git仓库索引中,如果你一次添加太多文件可以使用:git add . 命令全部添加。

git commit命令才是真正的将文件添加到git仓库中去,-m选项允许在命令行后直接给出每次添加的简短说明(PS:我们强烈推荐你再每次提交时都给出一个说明,以便项目版本的查阅等),如果没有给出此命令将调用默认文本编辑器以便你添加说明。

第五,将项目提交到github管理

要想将本地的git项目提交到github我们需要先在github添加此项目,登入github主页点击“create a new one"根据提示完成项目创建。刚创建好的项目不包含任何文件,我们需要稍作设置后方可使用。

1,在git bash中执行以下命令创建密钥:

ssh-keygen -C 'Mc.Test@gmail.com' -t rsa

一路按Enter键即可,当然如果你想选择使用密码功能,那么在提示输入密码是选择你自己的密码。过程如下图所示:


2,找到刚才生成的密钥(id_rsa.pub)文件并用文本编辑器打开,然后复制里面的内容。接着转到github站点项目编辑(edit),找到”Deploy keys“选项后点击”add another deploy key“并将刚才复制的内容黏贴保存。

3,测试SSH连接。在git bash中执行以下命令:

SSH -v git@github.com

如果提示你的密钥不正确,那么你需要重新确认上一步的操作是否完整无误。

4,如果上一步测试无错,那么现在就可以将本地的文件提交到github仓库了。在git bash中执行以下命令:

git push origin master

如果一切顺利,恭喜你!~

推荐一篇git使用指南: http://www.linuxgem.org/2008/8/1/git-tutorial.4889.html
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐