练习一:GitHub Desktop下载及使用
用了几次 GitHub Desktop 之后,发现不好用,其图形化界面功能有限。
推荐使用Git for Windows,官方网站 https://git-for-windows.github.io/
这里有我写的Git和Github教程:http://www.cnblogs.com/schaepher/p/5561193.html
目录:
一、 说明
二、 GitHub Desktop的下载过程
三、 GitHub Desktop下载错误处理
四、主要界面介绍(操作说明请直接跳到这里)
五、其他功能
六、我提交的Hello World
一、说明
真正的勇士,敢于在没有翻♂墙的情况下去下载GitHub Desktop!
不知道是我没设置好,还是因为没翻♂墙,无法正常下载,只能用一些小技巧来下载。整个过程耗时五个半小时,从16:58到22:33。喜欢挑战的同学,请务必自己试试,相当刺激。
如果已经下载好了,请点击: 四、主要界面介绍
如果是用命令行进行操作,推荐这个教程:Git教程
二、GitHub Desktop的下载过程
2.1.
点击Download GitHub Desktop进行下载。
或者直接点击此处 下载。
2.2.
在安装之前,先确保已经安装了Microsoft .NET Framework 4.5。
Note: 当然,也可以直接打开,让安装程序自动帮你下载,不过有时候会下载失败。此时就得通过搜索Microsoft .NET Framework 4.5下载了,这里提供一个下载页面:点击此处 进入下载页面下载。
不过即使安装了.net 4.5,也未必能继续安装。这里先假设能继续安装。
在安装前:
- 复制 %SYSTEMROOT%\SYSTEM32\REGSVR32.EXE %SYSTEMROOT%\SYSTEM32\WUAUENG.DLL
- 按Windows键 + R(Windows键在Ctrl和Alt中间),运行cmd。点击左上角,编辑-》粘贴
- 然后回车。提示成功。
2.3.
运行Microsoft .NET Framework 4.5安装程序。
安装完成后,重启。
打开GitHubSetup.exe,如果能安装,那是最好。如果不能,继续看下去。
三、GitHub Desktop下载错误处理
错误提示:连接的主机没有反应
看到图片中的红框,可知,需要下载一个名为GitHub.application的文件。
那我们手动下载,把链接复制下来,直接粘贴到浏览器地址栏回车下载,或者打开下载器(如迅雷)新建下载。
后来发现这里可以用正则表达式把链接都匹配出来
如果下载很慢,这里介绍自己摸索的小技巧。前提是要有云盘账号,如百度云。这里以百度云为例:
在网盘里面新建一个文件夹,名字为github,因为待会儿有很多文件需要这样下载。
打开离线下载:
离线下载完毕后,再下载到本地。
Note: 默认放桌面吧。
在桌面创建文件夹Application Files进入该文件夹,创建文件夹GitHub_3_0_5_2
Note: 该文件夹名字可能会改变,实际以下文提到的地址为准。
双击桌面上的GitHub.application,会有以下错误:
大致意思是缺少文件,在log里面可以知道缺少什么文件。举个例子(这不是下载的第一个文件):
在ERROR SUMMARY里,可以看到缺少文件的信息。Downloading file后面的地址是本地路径。
Note: 因为我的GitHub.application在桌面,所以它显示桌面路径。
其中
**D:\personal\Desktop\ **
这是我电脑的桌面的目录(被我改过,默认不是这个,但是不影响本操作,可以无视)。
接着是
**Application Files\GitHub_3_0_5_2 **
这就是上面提到的需要创建的两个文件夹。红色矩形框是文件名,复制文件名,并加到
http://github-windows.s3.amazonaws.com/Application%20Files/GitHub_3_0_5_2/
的末尾。然后用云盘离线下载,接着下载到刚才创建的文件夹里面。Note: 有一个文件是放在
**Application Files\GitHub_3_0_5_2\Images **
底下的,需要再创建这个文件夹。与此类似的还有ko、zh-Hant、ru文件夹。注意下载的时候文件夹分割符是“/”。
当下载到GitHub.exe.manifest这个文件时,就不需要每下载一个文件后就去执行GitHub.application来获取错误报告里的文件列表。
打开GitHub.exe.manifest,codebase的值就是要下载的文件名,如下图所示:
复制该文件名,并加到以下链接的后面:
http://github-windows.s3.amazonaws.com/Application%20Files/GitHub_3_0_5_2/
可以用 正则表达式 把所有文件名匹配出来,然后批量下载。
我把链接都做好了并放进文本里,可以下载 这个文件。
四、主要界面介绍
安装完成后,桌面会出现两个图标
双击GitHub,进入主界面。
首先登陆:输入GitHub账号和密码
登陆之后显示主界面,此时可以跟着它的教程做一遍,熟悉大致流程:
接着是主界面的介绍,如下图:
这里将对每个红框的区域进行大致说明:
1. 这是新建功能,里面有:
- Add 添加已创建的本地代码库
注意!如果在Create之前直接导入一个代码库(本地文件夹),会提示create a repository,点击进入Create。不用更改,直接点击下面的Create repository。
- 这时可能会自动帮你添加到Other部分(即上图的3)。
- 也可能没有任何变化,如果出现这种情况,请再次点击Add选项。你会发现点击Add repository也没用。这时将Local path位置的路径最后一个字母删掉,接着补回来,这样就可以成功Add了。(至于为什么要这么麻烦,我也不清楚,这个方法是我试出来的,如果你有其他更好的方法,分享一下吧)
- Create 创建新的本地代码库
- Clone 从GitHub上下载已有的代码库
2. 这里是已经与GitHub同步的代码库。
3. 这里是本地的代码库。里面有:
- 没有提交到GitHub的代码库
- 更改后未同步的代码库
4. 如果当前本地代码库有更改,会将更改的文件显示在这里。这里只是缓存。
5. 如果想提交缓存里的修改修改到本地代码库,需要在这里填写修改摘要(Summary)和详细描述(Description)。然后点击Commit to master,提交到本地代码库。
6. 如果按照上面的步骤提交到本地代码库,则可以看到那些文件都移动到这里了。此时提交到本地代码库完成。但是还需要将其同步到GitHub上面。
7. 上面4-6都是在这里的红框选项卡内。这里表示最新情况。
8. 与上面7不同的是,这里表示提交历史。也可以通过选择下面的master上的圈圈来查看历史提交。
9. 请求合并。如果你从其他人的GitHub上Fork代码库到你的GitHub并进行修改,又希望其他人将你的代码与他的合并,可以提交请求。如果审核通过,那么你成为这个项目的贡献者之一。
10. 与上面9不同的是:这里将你的代码与你所参与的项目(有写权限)进行同步(Sync)。如果是是第一次提交代码库,这里显示的是Publish。
操作部分,以Helloworld为例:
-
如果先在GitHub中创建好了代码库,那么先用Clone功能,将代码库Clone到本地。此时会将其显示在上图的2中。
-
找到该代码库的本地位置。右键-》Open in Explorer。
-
把用Android Studio或其他IDE创建的Helloworld项目移动到这个文件夹内。
-
在上图7,可以看到发生了变化。接着按照上面5-》6-》10,将项目同步到GitHub上。
五、其他功能
1 分支
- 左边表示新建一个分支(branch),从当前的master中另外分出一个支线。
- 右边可以切换分支
2 设置
选项 | 功能 |
---|---|
Undo most recent commit | 如果上面的第5中,Commit之后又想撤销,则点击。 |
Delete master... | 如果创建了新分支,又想删除,则点击。 |
Reponsitory settings... | 当前代码库的设置。 |
Open in Explorer | 在资源管理器中打开当前项目。 |
Open in Git Shell | 用命令行模式打开。 |
View on GitHub | 到GitHub上查看。 |
Options... | 软件的设置。 |
3 版本回退
在某个代码库的History选项卡下,是该代码库每次提交的情况。左边最上面的版本是最新版,最下的是初始版本。
-
左边上面的红框表示版本回退,Revert "Game EightDigit",回退到Summary为Game EightDigit的版本。
-
版本回退操作,只需选定某个版本,点击右边红框处的Revert即可。该Revert可以跨版本回退,不用一步步回退。
Note: GitHub Desktop之前的版本好像是把它区分开。分为
- Roll Back to this Commit
- Revert this Commit
这些说明差不多足够一般使用了。
六、我提交的Hello World
Helloworld的地址:
https://github.com/sefzu2015Ggavin/schaepher_HelloWorld
顺便发一个前几天做的八数码游戏。做这个主要是感受一下启发式搜索。界面没有美化,只做了主要功能。
https://github.com/schaepher/EightDigit