Git、GitHub、TortoiseGit ?
http://www.cnblogs.com/guyoung/archive/2012/02/18/8030-.html

GitHub

Github官网:https://github.com/

github是一个git项目托管网站。

GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或GoogleCode这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最後通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

快速上手

1. 安装msysgit.

下载地址:

http://code.google.com/p/msysgit/

2. 安装最新版的TortoiseGit

下载地址:

 

3. 配置TortoiseGit,在Setting-General-Msysgit中指定git.exe为msysgit安装目录下的\bin目录里的git.exe,另外External dll 为msysgit安装目录下的\mingw\bin;
4. 打开TortoiseGit程序组中的Puttygen
5. 鼠标点击"generate",使用鼠标在空间面板中任意活动,产生你的Putty密钥,无需输入key passphrase,然后点击Save private key到本地.
6. 从Puttygen中copy你的公钥,你的公钥是一个位于第一个文本域中的比较大的随机的字母数字串,它看起来如下:
   ssh-rsa
   AAAB3NzaC1yc2EAAAABJQAAAIBqFftopEl3HNQ+SUmh9dFW39+IYU1ZYLG04GU
   Nh02DEbgKn9qaCJDjqCh9a7LO+oN6RjcWLIwaPPlwZI1w6el5WaZKeKEOtWqgQW+
   trnLRijgF9sPRR7jweM13S8lnpSvCUQbPxUyaNHZkEmY2PI1BaANv3d9YGnnhbKXPz
   m0rmQ== rsa-key-20091128
7. 在GitHub中创建一个帐户,导航到Account settings,点击"ssh public keys", 把你在上面产生的公钥增加进去。
 8. 在GitHub中新建一个Repository-"yourproject",进入你的Repository-"yourproject"
9. 从你的Repository-"yourproject"库的主页顶部中,点击copy to clipboard 图标,你的Git地址看起来如下:"git@github.com:yourname/yourproject.git"
10. 在你的硬盘上为这个"yourproject"源码创建一个新目录, 点击右键选择"Git Clone...".
11. 在URL中输入你在第8步中的URL clone地址.
12. 选中"Load Putty Key" ,并选择你在第4步存储的私钥位置。
13. 点击OK即可获取你的项目"yourproject"分支了。

日常开发

1.Git Commit 提交到本机。

2.Push 提交到GitHub。
 
 

如何在 GitHub 建立个人主页和项目演示页面

1. GitHub 个人主页
即别人可以通过 http://[用户名].github.com/ 访问到的二级域名页面。这个比较简单,只要在 GitHub 上建立一个名为 [用户名].github.com 的项目,把页面内容通过 Git 工具从本地推送上去即可。首次建立项目可能需要等一会(至多十分钟)才能访问,以后更新内容都可以立即刷新访问。

2. GitHub 项目演示页面
即别人可以通过 http://[用户名].github.com/[项目名] 访问到的项目演示页面。这比上一个稍微麻烦一点,需要多建立一个 gh-pages 分支。每次提交项目以后,把更新推送一份到这个分支即可。和个人主页一样,首次建立分支以后需要等一会(至多十分钟)才能访问,以后更新内容都可以立即刷新访问。

因为我们在 GitHub 上建立项目,多数时候都只是做一个在线备份或者简单的分享,并不需要复杂的分支管理,所以时间长了就会觉得要多维护一个分支还是挺费事的。那有没有办法可以只维护一个分支也能够生成演示页面呢?当然是可以的,我们把默认的 master 分支删除,把 gh-pages 当成主分支,只维护这一个分支就好了嘛。


Git如何进行分支管理?
1、创建分支
创建分支很简单:git branch <分支名>

2、切换分支
git checkout <分支名>
该语句和上一个语句可以和起来用一个语句表示:git checkout -b <分支名>

3、分支合并
比如,如果要将开发中的分支(develop),合并到稳定分支(master),
首先切换的master分支:git checkout master。
然后执行合并操作:git merge develop。
如果有冲突,会提示你,调用git status查看冲突文件。
解决冲突,然后调用git add或git rm将解决后的文件暂存。
所有冲突解决后,git commit 提交更改。

4、分支衍合
分支衍合和分支合并的差别在于,分支衍合不会保留合并的日志,不留痕迹,而 分支合并则会保留合并的日志。
要将开发中的分支(develop),衍合到稳定分支(master)。
首先切换的master分支:git checkout master。
然后执行衍和操作:git rebase develop。
如果有冲突,会提示你,调用git status查看冲突文件。
解决冲突,然后调用git add或git rm将解决后的文件暂存。
所有冲突解决后,git rebase --continue 提交更改。

5、删除分支
执行git branch -d <分支名>
如果该分支没有合并到主分支会报错,可以用以下命令强制删除git branch -D <分支名>

如何在 GitHub 建立个人主页和项目演示页面的更多相关文章

  1. Pull Request的正确打开方式(如何在GitHub上贡献开源项目)

    Pull Request的正确打开方式(如何在GitHub上贡献开源项目) GitHub的官方帮助如下: Fork A Repo: https://help.github.com/articles/f ...

  2. 如何在github上传本地项目代码

    首先你要在github上申请一个账号 网址:https://github.com/ 然后你要下载一个git工具 网址:https://gitforwindows.org/ 进入官网直接下载就行,下载完 ...

  3. 第二章-如何使用github建立一个HelloWorld项目,git的add/commit/push/pull/fetch/clone等基本命令用法。--答题人:杨宇杰

    1.配置Git 首先在本地创建ssh 秘钥:在git bash输入: $ ssh-keygen -t rsa -C "your_email@youremail.com" eg:$ ...

  4. 如何在github上fork一个项目来贡献代码以及同步原作者的修改

    [-] 如何贡献自己的力量 如何让自己的项目与原作者的项目保持同步 作为一个IT人,通过github进行学习是最快的成长手 段.我们可以浏览别人的优秀代码.但只看不动手还是成长得很慢,因此为别人贡献代 ...

  5. 【转】如何在github上fork一个项目来贡献代码以及同步原作者的修改 -- 不错

    原文网址:http://www.cnblogs.com/astwish/articles/3548844.html 作为一个IT人,通过github进行学习是最快的成长手段.我们可以浏览别人的优秀代码 ...

  6. 如何在github开源自己的项目

    1.到GitHub上注册自己的账号.https://github.com/ 2.创建第一个代码仓库. 选择public,public权限表示所有人都能够查看这些代码并下载.然后点击Create rep ...

  7. 【 js 工具 】如何在Github Pages搭建自己写的页面?

    最近发现 github 改版了,已没有像原来的 Launch automatic page generator 这样的按钮等,所以我对我的文章也进行了修正,对于新版来说,步骤更加简单了.欢迎享用. - ...

  8. 如何在Github Pages搭建自己写的页面?

    教程一大堆,却没有几个能看懂的,问题一:90%的都在讲解如何搭建博客,和我想要将自己的网页部署到上面还是有点区别的.问题二:所有的教程都用到了Git,而我只知道Git是一个开源的分布式版本控制系统.完 ...

  9. 如何在github上部署自己的前端项目

    很多时候我们想需要一个地址就可以访问自己的前端作品, 但是注册一个服务器和域名是需要花钱,很多小伙伴都不愿意, 其实这种前端静态页面github就可以帮我们预览其效果,而且只要在有网的情况下都可以访问 ...

随机推荐

  1. python的高阶函数与匿名函数

    一.高阶函数的定义 高阶函数:就是把函数当成参数传递的一种函数,例如: def add(x,y,f): return f(x)+f(y) print(add(-8,11,abs) 结果:19 解释: ...

  2. USACO Section2.1 Healthy Holsteins 解题报告 【icedream61】

    holstein解题报告 --------------------------------------------------------------------------------------- ...

  3. 程序员必备PC维修法(硬件篇)

    自检自修不是万能,但不会自检自修却万万不能.程序员修电脑还是有必要的. 情景:通电情况下,电脑主机无法启动,所有主机内部硬件无反应. 原因:1.CPU.主板.电源积尘.(出现率30%) 2.CPU.主 ...

  4. PICT:基于正交法的软件测试用例生成工具

    成对组合覆盖这一概念是Mandl于1985年在测试Aad编译程序时提出来的.Cohen等人应用成对组合覆盖测试技术对Unix中的“Sort”命令进行了测试.测试结果表明覆盖率高达90%以上.可见成对组 ...

  5. 在cmd运行脚本

    1.打开cmd 2.cd到脚本目录,运行所有脚本的上级目录,我的是cd C:\Users\Administrator\PycharmProjects\webtest\TestSuit 3.使用Pyth ...

  6. eclipse进阶功法

    先选择要操作的行,在同时按shift+alt+a,会将所选中的文字括起来,鼠标会变成十字图标,按住鼠标左键,在相应输入文字的位置上下拖动,会出现一个竖杠,此时即可开始输入文字了,并且所选中行都有.

  7. Box布局管理

    创建wx.BoxSizer对象时可以指定布局方向: hbox = wx.BoxSizer(wx.HORIZONTAL) 设置为水平方向 hbox = wx.BoxSizer() 默认就是就是水平方向的 ...

  8. c++知识点总结--静态与动态类型

    对象的静态类型(static type),就是它在程序中被声明时所采用的类型 对象的动态类型(dynamic type)是指“目前所指对象的类型”   vitual 函数是动态绑定而来,调用一个vir ...

  9. hdu 1574 RP问题 01背包的变形

    hdu 1574 RP问题 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1574 分析:01背包的变形. RP可能为负,所以这里分两种情况处理一下就好 ...

  10. Java TCP通信概念及实例

    TCP/UDP 协议 通俗解释: TCP协议和UDP协议的区别类似于电话系统和邮政系统. <1>TCP:类似于电话系统,建立双向的通信通道,确定连接,话音顺序接听. <2>UD ...