Github桌面版使用方式(MAC)
Github是一个流行的代码管理网站,同时也是全球最大的同性交友网站(滑稽)。Github网页上你可以自由地托管自己的项目,也可以fork别人的项目过来玩耍,非常之方便,今天笔者就来介绍一下github桌面版程序上,针对常见需求的那些相关使用方法,此处以Mac版本的为例,win上的基本类似。
而学习Github桌面版的过程,其实也是在加深了解Git技术的各方各面,所以git小白也可以通过Github桌面版的使用来入门git哟!
接下来,我会通过github中比较基本的概念包括clone,branch,push,pull等来入手,一一介绍Github Desktop的使用方法。
将仓库中的代码下载到本地 (Clone Github Project to Local Repository)
首先,当你不想每次都打开github网站去对你的项目文件做编辑时,你可以选择把它们down下来到本地磁盘上。而从此以后,你在本地上对项目文件的任何修改都会被记录下来,并且只要通过github桌面程序就可以把这些修改同步到对应的github网站仓库上,非常方便。
- 假设我们在github上有一个名为Tech-Learning-Notes的项目。
- 接下来,打开github桌面版,点击左上角的“+”按钮,选择clone,你可以看到你在github上存放的(尚未down到本地的)项目列表。选中Tech-Learning-Notes项目,选择clone Repository,然后选择本地路径以存放项目文件夹。
- 稍等一会儿,待clone完成后,到之前选择的对应路径下,就可以看到你的项目文件夹了。
当然,你可以随意挪动文件夹的位置,因为github桌面程序已经锁定了文件夹本身,不会因为你挪动了文件夹的位置与之前保存的位置不一样就失去关联。而“锁定”其实是通过项目文件夹下的".git"文件夹实现的,所以大家不要轻易动这个文件夹哟~
然后就可以愉快地在本地随意编辑你的项目了。
在本地更新网页端的改变 (pull)
有一次,你的项目合作者在页面那边提交了一个新文件,名为【Friend's change】,于是你很感兴趣,想把新文件同步到本地,很简单:点击【Repository】-【Pull】,接着,你就可以看到本地仓库里出现了合作者提交的新文件。
在本地提交新的代码版本到仓库 (push local changes to remote repository)
问题来了,我们在本地对我们的项目做了一些新的修改,比如改了一些文件的源代码,新增了和删除了一些文件,我们怎么把这些变化同步到github仓库呢?
1.当你对本地的项目文件夹下的文件做了任何改动后,打开github桌面程序,你会发现,你的项目页面变成了这样:
这里出现的所有新条目都是你对项目文件做过的改动,包括修改代码,增加或删除文件,而你可以通过勾选条目前的复选框去选定将那些改动提交到仓库。
2.选择好改动后,在下面的注释框里填写改动的相关信息,以方便后续回溯。(不填写改动注释的标题的话是无法提交改动的。)
3.commit后,你会发现你的项目历史结点上多了一个新的环,代表你的上一次commit记录。
4.但是commit后只是将你的改动信息保存了下来并提交到本地代码库,如果要让远程仓库/Github页面也变成和本地仓库完全一样的状态,还需要点击一下【Repository】-【Push】,代表将新提交的本地改变推进到远程仓库。另外,也可以点击【Repository】-【Sync】,可以完成一样的效果,只是sync同步顾名思义,还包含将远程仓库的改变更新到本地的动作,换言之,sync可以看做push和pull操作的联合体。
5.待sync完成后,小环变成了一个点,代表同步完成,然后打开github的网站,进入到项目下,就会发现改动都同步了(新增了一个测试文件夹)。
建立新的分支 (creating new branch)
Github项目中还有一个很重要的概念是分支(Branch)。
假设,你有一天发现,你的项目可能用普通Java项目的结构来做和用Java EE项目的结构来做都可以,但是你不确定到底用哪种好,于是你和朋友商量一个人做一版。但是,你们做的还是同一个项目,只是架构不同,那么这时,你们就可以开两个分支(Branch),每个分支分别代表一种架构方式。
又或者,你和朋友一起翻译一本中文书,你负责翻译成英文,你朋友负责翻译成法文,那么你们也可以分别在两个分支上操作,而这两个分支都属于这本书的翻译项目。
简而言之,所有分支同属一个项目,但每个分支可以互相独立,互不干扰,而有需要时,任意两个分支也可以合并。
在Github Desktop中,我们首先选定要创建新分支的项目,然后点击【File】-【New Branch】(如下图),输入新分支的名字,并且要选择分支克隆的范本,即新分支以哪个已有当前分支为范本进行拷贝。
接着,在【Repository】-【show branches】中你就可以看到现在已有的两个分支,一个默认的"Master",一个新建的你自己命名的"new-demo-branch",而分支后面的小勾代表你现在操作的分支。
接下来,我们在当前分支下进行的操作,无论是增删改文件,都是针对当前分支的文件,不会对其它分支造成任何影响。
不过,你新建的这个分支目前在github页面是看不到的,因为它还没有公开(publish),所以你会看到,新分支的进度条右侧,会有一个"publish"按钮,当你点击它之后,新的分支才会在页面显示出来。
请求合并自己的代码 (pull request)
当你写好一版很厉害的代码,觉得是对当前项目的一个非常棒的改进后,你希望可以直接把你的代码并入到项目中去,那么你就可以发起一个pull request。
写好pull request的理由,然后send出去,接着就可以在github页面看到项目下的一个pull request。
在网页端这边,项目负责人就可以对pull request进行讨论和审核,如果大家审核通过,就可以选择【Merge Pull Request】,表示允许合并pull request提交的改动。
为什么要pull,而不是直接自己commit的一个重要原因在于:一般情况下,很多人是fork别人的项目,然后自己进行改进,但是你对别人的项目是没有改动权力的,否则就乱套了,你只是能改变你从别人那边fork过来的项目。但是你觉得自己的改进非常棒,想贡献自己的代码并成为原项目的contributor之一,于是你就需要发动一个pull request,请求原项目的负责人将你的代码合并的原项目中。
另外,pull request中的内容可以很方便地被项目负责的所有人讨论,并共同决策要不要把这些新的改变并入到项目中,这样就可以防止某个贡献者可能因为考虑不全面,提交了不合理的改动,进而对项目造成损害。
Github桌面版使用方式(MAC)的更多相关文章
- Github入门 - Github基本使用及Github桌面版使用
知识内容: 1.版本控制 2.Git介绍 3.Github介绍及基本使用 4.Github桌面版介绍及安装 5.Github桌面版基础使用 6.Github桌面版进阶使用 参考: http://www ...
- Github(1) 桌面版使用
桌面版使用 https://www.cnblogs.com/Chenshuai7/p/5486278.html 1安装 我的账号 1051196347@qq.com 密码 L*******4***** ...
- Mditor 发布「桌面版」了 - http://mditor.com
简单说明 Mditor 最早只有「组件版」,随着「桌面版」的发布,Mditor 目前有两个版本: 可嵌入到任意 Web 应用的 Embed 版本,这是一桌面版的基础,Repo: https://git ...
- github桌面软件使用教程
github桌面软件使用教程 首先 要先安装 桌面版官网,或者百度搜github windows下载即可 可以再github网站上直接点击,把代码添加的桌面软件中 也可以再左上角添加项目,比如actu ...
- iPhone 上显示桌面版页面
在用智能电话的浏览器打开页面时,很多网站会根据浏览器的屏幕大小自动调整显示布局,或跳转到移动设备使用的专用面上来优化显示.一些情况下,这种优化可能不是用户希望的,比如优化后的页面缺少桌面版的功能. 这 ...
- Windows下安装appium桌面版和命令行版
安装appium桌面版和命令行版 一 桌面版(打开很慢,常用于辅助元素定位) 1.官网下载window版本: github search appium desktop download late ...
- Stamus Networks的产品SELKS(Suricata IDPS、Elasticsearch 、Logstash 、Kibana 和 Scirius )的下载和安装(带桌面版和不带桌面版)(图文详解)
不多说,直接上干货! SELKS是什么? SELKS 是Stamus Networks的产品,它是基于Debian的自启动运行发行,面向网络安全管理.它基于自己的图形规则管理器提供一套完整的.易于使 ...
- ubuntu 14.04 桌面版关闭图形界面
ubuntu 14.04 桌面版关闭图形界面 问题: 怎样将ubuntu14.04设置为文本模式启动? 解决方式: 改动改GRUB 的配置文件(不建议直接改 grub.conf) $sudo vim ...
- Spring学习笔记(七)模拟实际开发过程的调用过程XML版-Setter方式注入
模拟实际开发过程的调用过程XML版-Setter方式注入 源码获取github [TOC] 1.项目结构 2.jar包跟上个一样 3.重写set方法 UserServiceImpl.java 1234 ...
随机推荐
- jquery.form.js笔记
由于项目的原因,需要异步上传文件,网上找了找,很多都是用jquery.form插件的,于是乎找资料,调代码,做点小笔记. 官方资料:http://www.malsup.com/jquery/form/ ...
- 《ASP.NET Core 高性能系列》Span<T>和Memory<T>
一.Span<T>概述 原文:Provides a type- and memory-safe representation of a contiguous region of arbit ...
- python爬虫-提取网页数据的三种武器
常用的提取网页数据的工具有三种xpath.css选择器.正则表达式 1.xpath 1.1在python中使用xpath必须要下载lxml模块: lxml官方文档 :https://lxml.de/i ...
- NOI Online 赛前刷题计划
Day 1 模拟 链接:Day 1 模拟 题单:P1042 乒乓球 字符串 P1015 回文数 高精 + 进制 P1088 火星人 搜索 + 数论 P1604 B进制星球 高精 + 进制 D ...
- 如何看待Java是世界上最好的语言?
Java出现二十多年以来,一直都是主流的开发语言,Java创建于 1995 年,在 20多年的发展历程中,Java 已经证明自己是用于自定义软件开发的顶级通用编程语言. Java 广泛应用于科学教育. ...
- LeetCode 278.First Bad Version(E)(P)
题目: You are a product manager and currently leading a team to develop a new product. Unfortunately, ...
- PYTHON 第二天学习记录
- R自带数据集
向量 euro #欧元汇率,长度为11,每个元素都有命名landmasses #48个陆地的面积,每个都有命名precip #长度为70的命名向量rivers #北美141条河流长 ...
- 简单的scrapy命令和中间件
创建爬虫 scrapy genspider 名字 xxx.com 运行爬虫 运行名为usnews的爬虫scrapy crawl usnews运行爬虫文件scrapy runspider quote_ ...
- search(1)- elasticsearch结构概念
上篇提到选择了elasticsearch ES作为专业化搜索引擎的核心,这篇讨论一下ES的基本结构和应用概念.首先,从硬结构方面来讲:ES是在一个集群(cluster)环境里运行的,所以ES应该具备高 ...