GitHub Desktop使用简介
使用介绍
1、安装git Windows 客户端—GitHub Desktop
具有git功能的Windows客户端软件有很多,如:git for windows(以前的msysGit)、TortoiseGit、GitHub Desktop(以前的GitHub for Windows)等
- git for windows
git 原产于 Linux,要在 Windows 上运行,需要移植。git for windows就是一个这样的移植项目。它移植的不仅仅是一个程序,而是在 Windows 上模拟出了一个 Linux 环境。它有两种运行方式:命令行方式(专家使用)、图形界面方式(菜鸟使用)。
git for windows 的下载网址
git for windows是一个开源项目,下载源代码
TortoiseGit
TortoiseGit只是一个图形界面程序,它内部调用的还是git for windows。所以,使用TortoiseGit之前需要安装git for windows。
TortoiseGit最大的优势在于与TortoiseSVN的操作比较相同,熟悉SVN的用户可快速上手。GitHub Desktop
GitHub Desktop 跟TortoiseGit一样,内部也会调用git for windows。它的操作是这三款软件中最简单的,安装之后无需配置就可使用,非常适合菜鸟。
GitHub Desktop的下载网址。下载下来的文件GitHubSetup.exe是一个在线安装程序,有可能无法正常安装。
可下载离线安装包,下载网址。下载GitHub_3_0_5_2.zip,解压后运行GitHub.application即可安装。
注意:如果离线安装程序无法运行,就需要先安装.NET Framework 4.5。可先运行在线安装程序GitHubSetup.exe,安装.NET Framework 4.5。然后再运行离线安装程序。
2、注册GitHub账户
要上传开源代码至GitHub.com,需要在该网站上注册一个账户。请浏览GitHub网站,单击"Sign up"按钮注册账户。这部分参考博客2中有详细讲解。
3、登录GitHub Desktop
安装好GitHub Desktop后,第一次运行时需要输入GitHub.com的用户名和密码,输入用户名和密码后,单击"Log in"按钮完成登录。如下图所示:
4、创建本地代码仓库
单击GitHub Desktop主界面左上角的按钮"+",将显示如下界面:
单击"Create"按钮,输入"Name"和"Local path"后单击"Create repository"按钮,完成本地代码仓库的创建。
如下图所示,创建本地代码仓库的实质就是:1)根据上图的设置,创建目录W:(yhf)\git\GitHub\test;2)在该目录下生成两个文件.gitattributes和.gitignore;3)在该目录下执行 git init 命令,生成.git目录(该目录是隐藏目录)。
5、创建远程代码仓库
如下图所示。GitHub Desktop里首先选中上一节创建的本地代码仓库test,然后单击右上角的"Publish"按钮。
显示如下界面
"Name"是远程代码仓库的名称;"Description"是对该项目的描述。单击"Publish test"按钮,将完成远程代码仓库的创建,并把本地代码仓库里的内容上传给远程代码仓库。这个远程代码仓库在github.com上,如下图所示:
也可以直接在github.com操作,如下图
点击“”New repository 创建自己的代码仓库
如果你是想修改别人的代码,只需在对应的项目中点击“Fork”按钮,然后就可以看到该项目在自己的账号中了。
6、提交改动至本地代码仓库
假设修改了本地代码仓库里的文件.gitattributes。这个改动应该提交给本地代码仓库(其实就是修改本地代码仓库.git目录内的文件)。具体操作如下:
如下图所示。GitHub Desktop里首先选中代码仓库test,然后进入"? uncommitted changes"页面。输入提交信息后,单击"Commit to master"按钮。
GitHub Desktop主界面下方出现下图所示提示时,说明提交完成。
7、同步代码仓库
上一节将改动提交给了本地代码仓库。通过"同步"操作,可以将这种改动提交给远程代码仓库。如下图所示,单击GitHub Desktop主界面右上角的"Sync"按钮即可。
8、添加文件至本地代码仓库
把代码文件复制到本地代码仓库所在文件夹内,然后按照6,7节的操作,将这些文件提交给远程代码仓库。如下图所示:
9、删除本地代码仓库
以删除本地代码仓库test为例进行说明。如下图所示,鼠标右键单击"test",弹出菜单中,单击【Remove】菜单项,即可将test从GitHub Desktop仓库列表中删除。
上面的删除只是将test从GitHub Desktop仓库列表中移除,物理删除本地仓库需要删除图1.3所示的文件夹W:(yhf)\git\GitHub\test。
10、增加本地代码仓库
上一节中将test从GitHub Desktop仓库列表中移除,实际的本地仓库并没有删除。此时,就可以增加本地仓库。如下图所示:
经此操作后,test将被增加至GitHub Desktop的仓库列表中。
11、删除远程代码仓库
浏览远程代码仓库的地址,如:https://github.com/###/test,然后进入设置页面,单击"Delete this repository"按钮即可。
12、克隆远程代码仓库至本地
可以在远程代码仓库直接操作,如下图
也可使用Git Shell,如下所示
进入本地代码仓库目录(F:\Program\GitHub),然后运行命令
git clone https://github.com/justjavac/free-programming-books-zh_CN.git
命令执行完毕后,可以看到F:\Program\GitHub下的本地代码仓库free-programming-books-zh_CN。
13、README.md
创建远程代码仓库时,同时需要创建文件README.md。它是Markdown 格式的标记语言文件,是对整个项目的说明。
关于.md文件的格式,需要注意:
- 行结束符为\n(0AH);
- 编码为UTF-8,不带BOM;
- GitHub.com会忽略行结束符。
Markdown 标记语言的使用详见下方链接
Learning-Markdown (Markdown 入门参考)
14、补充说明
git是分为三部分,一部分是自己的文件,另外一个是缓存区,最后一个是本地库。当修改了自己的文件后,用git add xx将修改保存到缓存区,然后再用commit推送修改到本地库中。
git push 将本地仓库修改推送到服务器上的仓库中。comiit 是将本地修改保存到本地仓库中。
.gitignore 用于忽略不想提交到Git上的文件 .gitattribute 指定非文本文件的对比合并方式。
一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。来看一个实际的例子:
$ cat .gitignore *.[oa] *~
第一行告诉 Git 忽略所有以 .o 或 .a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的,我们用不着跟踪它们的版本。第二行告诉 Git 忽略所有以波浪符(~)结尾的文件,许多文本编辑软件(比如 Emacs)都用这样的文件名保存副本。此外,你可能还需要忽略 log,tmp 或者 pid 目录,以及自动生成的文档等等。要养成一开始就设置好 .gitignore 文件的习惯,以免将来误提交这类无用的文件。
文件 .gitignore 的格式规范如下:
- 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
- 可以使用标准的 glob 模式匹配。
- 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
- 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9]表示匹配所有 0 到 9 的数字)。下面是一个 .gitignore 文件的例子:
# 此为注释 – 将被 Git 忽略 # 忽略所有 .a 结尾的文件 *.a # 但 lib.a 除外 !lib.a # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO /TODO # 忽略 build/ 目录下的所有文件 build/ # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt doc/*.txt # ignore all .txt files in the doc/ directory doc/**/*.txt
**/的用法是git 1.8.2之后的特性。