第1章
上传开源代码至GitHub    1

1.1 git Windows 客户端    1

1.2 注册GitHub账户    2

1.3 登录    2

1.4 创建本地代码仓库    2

1.5 创建远程代码仓库    3

1.6 行结束符    5

1.7 提交改动至本地代码仓库    7

1.8 同步代码仓库    7

1.9 添加文件至本地代码仓库    8

1.10 删除本地代码仓库    9

1.11 增加本地代码仓库    9

1.12 删除远程代码仓库    10

第2章
上传开源代码至oschina    11

2.1 创建远程代码仓库    11

2.2 SSH KEY    13

2.3 克隆远程代码仓库至本地    14

2.4 其它操作    16

2.5 README.md    16

 

第1章
上传开源代码至GitHub

1.1 git Windows 客户端

具有git功能的Windows客户端软件有很多,如:git for windows(以前的msysGit)、TortoiseGit、GitHub Desktop(以前的GitHub for Windows)……

笔者对这些客户端的理解:

1、git for windows

git 原产于 Linux,要在 Windows 上运行,需要移植。git for windows就是一个这样的移植项目。它移植的不仅仅是一个程序,而是在 Windows 上模拟出了一个 Linux 环境。

git for windows 的下载网址为https://git-for-windows.github.io/,最新版本为2.10.2。它有两种运行方式:命令行方式(专家使用)、图形界面方式(菜鸟使用)。不过,它的图形界面方式操作起来还是比较麻烦,所以笔者没有选用它。

git for windows是一个开源项目,浏览https://github.com/msysgit/msysgit可下载源代码。

2、TortoiseGit

TortoiseGit只是一个图形界面程序,它内部调用的还是git for windows。所以,使用TortoiseGit之前需要安装git for windows。

TortoiseGit最大的优势在于与TortoiseSVN的操作比较相同,熟悉SVN的用户可快速上手。

3、GitHub Desktop

GitHub Desktop 跟TortoiseGit一样,内部也会调用git for windows。不过笔者认为它的操作是这三款软件中最简单的,安装之后无需配置就可使用,非常适合菜鸟。

GitHub Desktop的下载网址为:https://desktop.github.com/。下载下来的文件GitHubSetup.exe是一个在线安装程序,有可能无法正常安装。为此,可下载离线安装包,其网址为http://pan.baidu.com/s/1Hkewm。下载GitHub_3_0_5_2.zip,解压后运行GitHub.application即可安装。

注意:如果离线安装程序无法运行,就需要先安装.NET Framework 4.5。可先运行在线安装程序GitHubSetup.exe,安装.NET Framework 4.5。然后再运行离线安装程序。

1.2 注册GitHub账户

要上传开源代码至GitHub.com,需要在该网站上注册一个账户。请浏览网站https://github.com/,单击"Sign up"按钮注册账户。操作比较简单,就不再赘述了。

1.3 登录

安装好GitHub Desktop后,第一次运行时需要输入GitHub.com的用户名和密码,如下图所示:

图1.1

上图中,输入用户名和密码后,单击"Log in"按钮完成登录。

1.4 创建本地代码仓库

单击GitHub Desktop主界面左上角的按钮"+",将显示如下界面:

图1.2

单击"Create"按钮,输入"Name"和"Local path"后单击"Create repository"按钮,完成本地代码仓库的创建。

如下图所示,创建本地代码仓库的实质就是:1)根据上图的设置,创建目录W:\(yhf)\git\GitHub\test;2)在该目录下生成两个文件.gitattributes和.gitignore;3)在该目录下执行 git init 命令,生成.git目录(该目录是隐藏目录)。

图1.3

1.5 创建远程代码仓库

如下图所示。GitHub Desktop里首先选中上一节创建的本地代码仓库test,然后单击右上角的"Publish"按钮。

图1.4

显示如下界面

图1.5

"Name"是远程代码仓库的名称;"Description"是对该项目的描述。单击"Publish test"按钮,将完成远程代码仓库的创建,并把本地代码仓库里的内容上传给远程代码仓库。

这个远程代码仓库在github.com上,如下图所示:

图1.6

1.6 行结束符

将本地代码仓库里的文件上传给远程代码仓库时,git非常智能:会自动把Windows的行结束符\r\n(即0DH、0AH)替换为\n。关于这一点,VC++.NET表示无所谓,VC++6.0很受伤(无法解析.dsp和.dsw文件)。为了防止git对行结束符的自动改动,需要修改两个文件。

在 Windows 7 上,修改文件C:\Users\Administrator\.gitconfig(Administrator是登录Windows时的用户名)。增加配置项 autocrlf 和 safecrlf。如下所示:

图1.7

注意:

1、该文件的行结束符为\n,即0AH。所以,笔者使用UltraEdit编辑它,而不是Windows系统自带的记事本;

2、autocrlf和safecrlf前面的空格其实是一个TAB(09H)字符;

3、这个文件只用修改一次即可。

修改本地代码仓库里的文件.gitattributes,可使用记事本,如下图所示:

图1.8

上图中,请将text=auto中的auto删除,然后保存。

1.7 提交改动至本地代码仓库

上一节,修改了本地代码仓库里的文件.gitattributes。这个改动应该提交给本地代码仓库(其实就是修改本地代码仓库.git目录内的文件)。具体操作如下:

如下图所示。GitHub Desktop里首先选中代码仓库test,然后进入"? uncommitted changes"页面。输入提交信息后,单击"Commit to master"按钮。

图1.9

GitHub Desktop主界面下方出现下图所示提示时,说明提交完成。

图1.10

1.8 同步代码仓库

上一节将改动提交给了本地代码仓库。通过"同步"操作,可以将这种改动提交给远程代码仓库。

如下图所示,单击GitHub Desktop主界面右上角的"Sync"按钮即可。

图1.11

1.9 添加文件至本地代码仓库

把代码文件复制到本地代码仓库所在文件夹内,如下图所示:

图1.12

然后按照1.7、1.8节的操作,将这些文件提交给远程代码仓库。

1.10 删除本地代码仓库

以删除本地代码仓库test为例进行说明。如下图所示,鼠标右键单击"test",弹出菜单中,单击【Remove】菜单项,即可将test从GitHub Desktop仓库列表中删除。

图1.13

上面的删除只是将test从GitHub Desktop仓库列表中移除,物理删除本地仓库需要删除图1.3所示的文件夹W:\(yhf)\git\GitHub\test。

1.11 增加本地代码仓库

上一节中将test从GitHub Desktop仓库列表中移除,实际的本地仓库并没有删除。此时,就可以增加本地仓库。如下图所示:

图1.14

经此操作后,test将被增加至GitHub Desktop的仓库列表中。

1.12 删除远程代码仓库

浏览远程代码仓库的地址,如:https://github.com/hanford77/test,然后进入设置页面,单击"Delete this repository"按钮即可。

 

第2章
上传开源代码至oschina

GitHub Desktop管理GitHub.com上的远程代码仓库比较方便,换成其他的git服务器,操作起来会有所不同。如:GitHub Desktop无法在oschina上创建远程代码仓库。本章将重点说明如何将开源代码上传至oschina。

2.1 创建远程代码仓库

登录网站http://git.oschina.net,注册账户后创建一个项目,页面显示如下:

图2.1

开源许可证的选择请参考下图(来自博客 http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html)。

图2.2

单击图2.1中的"创建"按钮,完成项目的创建。如下图所示:

图2.3

单击上图的"SSH",然后单击右端的复制按钮,将项目的网址(git@git.oschina.net:hanford/test.git)复制到剪贴板内。

注意:也可以单击HTTPS,然后复制项目的https网址。这种网址的麻烦之处在于:本地代码仓库与远程代码仓库同步时,会要求输入用户名和密码。

2.2 SSH KEY

上一节复制了项目的SSH地址:git@git.oschina.net:hanford/test.git。使用SSH,本机与远程电脑通讯时同样需要认证(输入用户名和密码),为了简化认证,可使用SSH KEY。

使用SSH KEY前,它是需要创建的。无需使用git命令行,GitHub Desktop已经为你做好了这一切。进入C:\Users\Administrator\.ssh(Administrator是登录Windows时的用户名)如下图所示:

图2.4

github_rsa、github_rsa.pub 是GitHub Desktop与GitHub.com通讯时需要的私钥、公钥。

id_rsa、id_rsa.pub 是GitHub Desktop与其它git服务器通讯时需要的私钥、公钥。

记事本打开id_rsa.pub复制公钥,再将公钥粘贴到oschina网站,如下所示:

图2.5

上图中的第2项随便填,第3项就是公钥。单击"确定"按钮,完成一个公钥的添加。

经过上面的配置,GitHub Desktop与oschina服务器通讯时将使用私钥、公钥,不再需要输入用户名和密码了。

注意:GitHub.com为什么不需要设置SSH KEY?因为GitHub Desktop已自动把此项工作完成了。(所以,GitHub Desktop真的适合菜鸟)

2.3 克隆远程代码仓库至本地

单击Windows开始菜单下的【GitHub,Inc】【Git Shell】菜单项,如下所示:

图2.6

显示如下命令窗口

图2.7

进入本地代码仓库目录(W:\(yhf)\git\oschina),然后运行命令

git clone git@git.oschina.net:hanford/test.git

注意:git@git.oschina.net:hanford/test.git就是图2.3复制的项目地址。

命令执行完毕后,可以看到W:\(yhf)\git\oschina下的本地代码仓库test。如下图所示:

图2.8

使用1.11节的方法,将这个本地代码仓库增加到GitHub Desktop仓库列表中。如下图所示:

图2.9

注意:代码仓库test的远程代码仓库不在GitHub.com上,所以test在Other下。

2.4 其它操作

其它操作请参考1.6节(不用修改文件.gitattributes)、1.7节、1.8节、1.9节。

2.5 README.md

oschina上创建远程代码仓库时,默认就会创建文件README.md。它是Markdown 格式的标记语言文件。是对整个项目的说明。

关于.md文件的格式,需要注意:

1、行结束符为\n(0AH);

2、编码为UTF-8,不带BOM;

3、GitHub.com会忽略行结束符。

Markdown 标记语言的使用,请上网查阅相关资料。

Windows 上 GitHub Desktop 的操作的更多相关文章

  1. Windows 上 GitHub Desktop 的操作[转]

    第1章 上传开源代码至GitHub    1 1.1 git Windows 客户端    1 1.2 注册GitHub账户    2 1.3 登录    2 1.4 创建本地代码仓库    2 1. ...

  2. 从0在windows上一次性上传本地整个项目(包含所有文件/文件夹)到 Github

    1.注册并登陆Github. 2.登陆进去之后的页面,点击这个“库”,这表示你在Github上上的代码仓库,我这里已经创建过一个了,所以数量是1 3.在仓库选项卡中,点击“新建”按钮添加一个项目. 4 ...

  3. Mac下,如何把项目托管到Github上(Github Desktop的使用)

    在上一篇中,详细讲解了使用X-code和终端配合上传代码的方法,这种方法比较传统,中间会有坑,英文看起来也费劲,不过Github官方提供了一个Mac版的客户端,如下图:

  4. TortoiseGit学习系列之Windows上本地代码如何通过TortoiserGit提交到GitHub详解(图文)

    不多说,直接上干货! 前面博客 TortoiseGit学习系列之Windows上TortoiseGit的安装详解(图文) 上面博文给大家讲解了一下如何本地安装TortoiseGit. 这篇为大家讲一下 ...

  5. github之无命令可视化界面操作——GitHub DeskTop

    Git是Linuxs之父Lunus用C语言写的一个非常好用的分布式版本控制系统. GitHub可以给我们提供免费的代码仓库,并用Git可以在上面提交代码并进行版本控制.使用Git一般要安装Git ,并 ...

  6. git/github在windows上使用

    问题描述:     git在Windows上的使用 问题解决:     (1)下载安装git http://msysgit.github.io/ 到该网址中下载msgit软件 注:     安装msg ...

  7. 批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务

    windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 @echo off net start "vds" net start "VMAuth ...

  8. windows 上驱动阻止关机重启操作

    Windows 上关机重启有很多相关的操作 HOOK 一个点搞不定  具体需要以下 4 处来布控 SSDT HOOK NtInitiatePowerAction 函数 ,直接返回失败废掉这个函数 SS ...

  9. (转)GitHub Desktop 拉取 GitHub上 Tag 版本代码

    转自:GitHub Desktop 拉取 GitHub上 Tag 版本代码 一直在使用 GitHub Desktop 图形化 git 管理工具,统一项目框架版本时需要切换到ThinkPHP Tag 分 ...

随机推荐

  1. Android UI自定义Spinner下拉框(用popuwindow实现)-转

    定义出第一个图片的布局和弹出框(一个listView)的布局,,这里就不在多说了~ListView需要自己定义一个MyspinnerAdapter~做好这些准备之后,就是弹出框的实现了~  prote ...

  2. 关于错误Access Violation和too many consecutive exceptions 解决方法

    关于错误Access Violation和too many consecutive exceptions 解决方法 “如果DLL中用到了DELPHI的string类型,则DLL和主程序中都需要加上Sh ...

  3. Django 中的时间处理

    操作系统为OS X 10.9.2,Django为1.6.5. 1.时区 在setting.py文件中设置了时区 TIME_ZONE = 'Asia/Shanghai' # 设置时区为UTC+8 USE ...

  4. 洛谷—— P1051 谁拿了最多奖学金

    https://www.luogu.org/problem/show?pid=1051 题目描述 某校的惯例是在每学期的期末考试之后发放奖学金.发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖 ...

  5. codeforces #472(div 1)

    B(two point) 题意: 给出长度为n的非递减数组E[1..n],对于所有三元组(i,j,k),1<=i<j<k<=n且Ek-Ei<=U,我们需要计算出最大的(E ...

  6. (入门SpringBoot)SpringBoot项目数据源以及整合mybatis(二)

    1.配置tomcat数据源: #   数据源基本配置spring.datasource.url=jdbc:mysql://localhost:3306/shoptest?useUnicode=true ...

  7. js跳出循环的方法区别( break, continue, return ) 及 $.each 的(return true 和 return false)

    js编程语法之break语句: break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句. 由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的 ...

  8. 通达OA 一些工作流调整后带来的后果及应对措施

    近期单位有个工作流须要改动,原因是最早设计时控件的字段设计不规范,控件直接使用了人员的名字来命名了.这不使用手机訪问时就出问题了,名字会直接显示出来,如今就须要进行调整. 调整初步有两个方案: 一是全 ...

  9. 网页JS简繁体字转换

    用法:非得加上html头 utf-8编码 其它编码无测试 head 中引用 <script language='javascript' src='zh.js'></script> ...

  10. OpenStack源码系列---nova-conductor

    nova-conductor启动的也是一个rpc server,代码框架和nova-compute类似,所以我也懒得再详细分析一遍服务启动的过程.nova-api那篇文章的最后我说"cctx ...