目前windows版本的git有几种实现,但我们选择msysgit发行版,这是目前做得兼容性最好的。
下载地址:http://code.google.com/p/msysgit/downloads/list
使用默认配置安装Git。这个不用多说,一路Next就可以,如果对各种选项不熟悉,建议使用默认配置,没问题的。
第二,创建github账号
什么是Git和GitHub
Git —The stupid content tracker, 傻瓜内容跟踪器,是一个由Linux内核开发者Linus为了更好地管理Linux内核开发而创立的分布式版本控制软件。
GitHub — 学生做版本控制最讨厌的就是找服务器,配置太麻烦了。GitHub这个网站为每个用户提供服务器托管其Git代码库,免费空间为300M。注册GitHub后你就会有0.3G的免费空间,不过只能创建公开项目。
为什么不选CVS或SVN
- Git提交/克隆/pull/push的速度更快
- Git的绝大多数操作都可以在本地完成,不需要频繁连接服务器。
注册GitHub账号
- GitHub网址在 这里
- 点击上方导航条的Signup and Pricing即可进入注册界面, 选择注册免费账户
- GitHub选择的默认通信方式是SSH,所以要先在Git里面生成SHH Key,打开Git Bash在其中输入如下命令:
ssh-keygen -t rsa -C "3sdfsf80@xinlang.com"
之后会让你选择是否对存放SSH Key的文件夹进行加密,一般都不需要的。一路回车,就OK了。
- 在c盘,当前用户文件夹下,有个.ssh 文件夹,在里边 找到 id_rsa.pub文件,用记事本打开,复制其中的全部内容。
- 登陆你的GitHub账户,依次点击Account Settings > SSH Public Keys > Add another public key,把id_rsa.pub中的内容拷贝进去 。
- 至此,基本的设置已经完成了。
测试你的Git
- 经过上述配置,你的Gti应该可以通过SSH连接GitHub服务器了,让我们来测试下,输入如下命令:
- 会给你这样的提示:
- 输入yes,会显示:
- 到这里,说明你的SSH运转良好。
如果提示你的密钥不正确,那么你需要重新确认上一步的操作是否完整无误。
第三,建立本地git仓库
首先,git要求使用者必须提供自己的身份标识,为此我们需要在git bash中执行以下命令:
git config --global user.name 'aa.Tessst'
git config --global user.email fsc@sina.com
其次,选择git仓库目录
我们假设将git仓库目录放在D盘的OPENSource目录下,可以通过在git bash中执行以下命令完成:
cd /d
mkdir OPENSource
注:git bash支持大多linux bash终端命令,你可以自己尝试更多终端操作。
最后,建立项目并初始化git仓库
我们的第一个项目是一个使用Python语言将XML文件转换成Python字典,通过执行以下命令完成此步骤:
mkdir Python-XML2Dict
cd Python-XML2Dict
git init
执行此操作后,git将在Python-XML2Dict目录下创建一个隐藏目录(.git),这个目录就是git用来管理软件版本的仓库。
第四,使用git管理项目
此步 和 在linux 上 使用 git 的 方法一样,具体参考 我的 其他 博文!
第五,将项目提交到github管理,gitpush
如果 第二步 测试无错,那么 经过 以下两步 就可以将本地的文件提交到github仓库了。
1、登录GitHub后,你可以在右上边靠中那里找到一个按钮“creat a New Repository”,点击过后,填入项目名称、说明等 过后就可以创建了,然后会出现一个提示页面,记下类似 git@github.com:XXX/XXX.git 的地址,这个就是你这个项目的地址了。
2、
1 git remote add origin git@github.com:XXX/XXX.git 2 git push -u origin master //把本地 master 分支 推送到 服务器的master分支上,如果服务器没有此分支,就 新建 此分支。这也是 在服务器上新建分支的一种方法
这个git@github.com:XXX/XXX.git
就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。
第六,直接 用 git pull 将项目 从 github 上 同步 下来
有两种方法:
1、当git clone之后,直接git pull它会自动匹配一个正确的remote url
是因为在config文件中配置了以下内容:
表明:
1.git处于master这个branch下时,默认的remote就是origin;
2.当在master这个brach下,使用指定remote和merge的git pull时,使用默认的remote和merge。
2、但是对于自己建的项目,并没有这块内容,需要自己配置。
建议:用第二种 方法,因为 如果 是 git clone的 项目,当 执行 git push 时,因为 在 git config里 url 是 只读方式
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/xxx/xxx.git
//git@github.com:XXX/XXX.git 这才是 读写方式
---------------------------------
如果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?
有两个方法:
1、重新修改本地代码,然后提交到服务器(覆盖),
2、直接登录 github 删除之前的项目。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除了。
--------------------------
若是一个项目就托管在 GitHub 上。你可以把它的 URL 分享给每位对此项目感兴趣的人。本例的 URL 是 http://github.com/testinguser/iphone_project
。而在项目页面的摘要部分,你会发现有两个 Git URL 地址,见 右图:
![](http://git-scm.com/figures/18333fig0408-tn.png)
右图的 摘要中的公共 URL 和私有 URL
Public Clone URL 是一个公开的,只读的 Git URL,任何人都可以通过它克隆该项目。可以随意散播这个 URL,比如发布到个人网站之类的地方等等。
Your Clone URL 是一个基于 SSH 协议的可读可写 URL,只有使用与上传的 SSH 公钥对应的密钥来连接时,才能通过它进行读写操作。其他用户访问该项目页面时只能看到之前那个公共的 URL,看不到这个私有的 URL。