如何上传项目到Github
现在开源这么火,想把自己平时写的Demo也开源一下,结果发现想使用Github托管还真有点门槛。自己瞎搞了一天,看了很多网上教程,但是大多都是使用git命令行操作,因为自己还不是很习惯使用git,结果遇到的错误也一大堆也不知道怎么解决。所幸最终我还是摸索出一套使用图形界面操作的方法,为了别人不走弯路,写下自己的操作方法,共勉。
因为Github使用的是git工具来管理代码,所以我们先得下载一个git管理工具。因为公司使用的是TortoiseHg,这个确实好用,所以我下载了同公司的TortoiseGit,TortoiseGit还有相应的中文包,我们可以一并下载。但是TortoiseGit运行在msysgit上,所以我们还得下载msysgit。
下载地址如下(请右键选中 使用迅雷下载,因为是国外服务器,迅雷下载快):
Git-1.9.5-preview20141217.exe
Windows 64位系统:
TortoiseGit-1.8.12.0-64bit.msi
TortoiseGit-LanguagePack-1.8.12.0-64bit-zh_CN.msi
Windows 32位系统:
TortoiseGit-1.8.12.0-32bit.msi
TortoiseGit-LanguagePack-1.8.12.0-32bit-zh_CN.msi
下载好后咱们先安装msysgit,然后再安装TortoiseGit,最后安装TortoiseGit-LanguagePack。全部安装好后,在桌面点击右键选择"TortoiseGit",再选中"Settings":

进入设置页面,选择中文字体(世界从此清晰了):

现在我们开始新建一个项目,找到项目的目录,然后在空白处右键选择"Git 在这里创建版本库":

接下来一路默认,千万别勾选"制作纯版本库":

这样就初始化了git版本管理了。然后我们可以开始准备上传到github。
要上传到Github首先肯定得要有帐号,没有帐号的请自己到网站注册。在GitHub中选择"Repositories" TAB:

点击"New" 新建一个仓库,内容按照你的需求来填写,写完后点击"Create repository":

生成仓库后我们就知道了远程仓库的地址,这个地址我们会在后面用到:

要使得本地的git能和Github相连接,我们得先创建ssh key。找到TortoiseGit的安装目录,选择"PuTTYgen":

打开后选择"Generate":

软件开始生成私钥和公钥(不要把鼠标焦点放在软件外面,否则进度条不前进),生成后点击"Save private key"将私钥保存到本地:

然后打开Github网页,登录后选择右上角的设置按钮:

进入设置页面后选择"SSH Keys",然后点击"Add SSH Key":

输入Title和Key后,我们就可以通过这个Key来与Github传输了。

再回到我们建的本地git版本库,在空白处点击右键,选择"TortoiseGit",并点击"推送":

点击远端选项的"管理":

在"URL"处输入之前在github上生成的项目网址,在"putty密"中选择保存在本地的私钥,点击确定:

接着选择Git项目,在这里面输入我们的Email信息:

点击确定,我们现在就可以提交代码了。
在日志信息中填写提交信息,选择要提交的内容,点击确定,我们的项目就开始提交了:

一会时间后就可以看到提交成功消息:

但这时仅仅是本地提交了,还没更新到Github上,我们选择上图中的"推送",进入推送功能上直接点击"确定":

第一次推送,会要求我们输入GitHub上的帐号:

输完帐号输密码:

当出现成功信息时,本地内容就与Github同步了:

我们在到Github上看看我们的工程,可以看到我们的代码已经提交上去了:

最后再贴几个常用的git命令:
远程库 git branch -a
本地库 git branch
删除本地 git branch -d [库名称]
展示远程 git remote show origin
删除远程 git push origin --delete [库名称]
至此教程就结束了。希望这个教程能帮助到大家,让大家少走弯路。也希望大家能为开源多做贡献。