Github桌面版使用方式(MAC)

目录

  • 将仓库中的代码下载到本地 (Clone Github Project to Local Repository)
  • 在本地更新网页端的改变 (pull)
  • 在本地提交新的代码版本到仓库 (push local changes to remote repository)
  • 建立新的分支 (creating new branch)
  • 请求合并自己的代码 (pull request)

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网站仓库上,非常方便。

  1. 假设我们在github上有一个名为Tech-Learning-Notes的项目。

  1. 接下来,打开github桌面版,点击左上角的“+”按钮,选择clone,你可以看到你在github上存放的(尚未down到本地的)项目列表。选中Tech-Learning-Notes项目,选择clone Repository,然后选择本地路径以存放项目文件夹。

  1. 稍等一会儿,待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中的内容可以很方便地被项目负责的所有人讨论,并共同决策要不要把这些新的改变并入到项目中,这样就可以防止某个贡献者可能因为考虑不全面,提交了不合理的改动,进而对项目造成损害。

原文地址:https://www.cnblogs.com/bluemapleman/p/9277112.html

时间: 2024-10-19 18:05:05

Github桌面版使用方式(MAC)的相关文章

github桌面版的安装

1.在IE浏览器直接打开http://github-windows.s3.amazonaws.com/GitHub.application 2.如果无法打开,则在IE浏览器中设置上述网址为信任源:

ABBYY FineReader Engine泰比OCR文字识别控件桌面版说明

FineReader Engine用于开发ocr文字识别软件和图片识别软件,提供自己的OCR API, 包括光学字符识别(OCR).智能字符识别(ICR).光标识别(OMR).光学条码识别(OBR).文档图片.PDF转换技术和 图像识别技术. 新的泰比(ABBYY)FineReader Engine 10将使你体会到非同一般的OCR文字识别软件质量和可用性: 选择泰比(ABBYY)FineReader Engine 10,将获得无与伦比的准确性.更高的ocr技术的质量和速度.与众不同的功能性以及

必应词典桌面版 --- 基于大学生用户群体的软件分析(与有道词典对比版 1功能篇)

1.概述 这篇博客会从大学生的角度来评测必应词典桌面版,以大学生的使用习惯来评判必应词典桌面版各项功能的优劣,并与同类软件进行横向分析,最终给出我们的评分.本次分析评测的主要评测员为博主本人,相关分析评测人员包括软件工程团队人员与他们的来自各个学校各个专业的同学们,人数共计23个,具有较好的普遍性. 2.软件分析与评测 本次评测我们会从功能.体验两大方面来对必应词典桌面版进行分析.必应词典版本:V3.5.0 for windows 桌面版     有道词典版本:PC版6.2 这篇博客是功能篇.

Ubuntu桌面版搭建单机版CloudFoundry

一.简介 想来想去还是写个简介吧- 1.1 CloudFoundry Cloud Foundry是VMware公司推出的一个开源PaaS云平台,似乎号称业界第一个.它支持多种框架.语言.运行时环境.云平台及应用服务,可以用于应用程序的部署和扩展. 它本身是基于Ruby on Rails编写的,有多个相对独立的子系统.系统之间通过消息机制(nats)通信,使平台在各层级都可水平扩展,既能在大型数据中心里运行,也能运行在一台桌面电脑中,二者使用相同的代码库. 1.2 PaaS PaaS是Platfo

必应输入法(桌面版)软件分析和用户需求调查

目标用户:大学生 对比软件:搜狗输入法(桌面版) 一.功能篇: 1.人名输入: 尝试了很多人名,发现必应和搜狗两种输入法对于人名的词库是差不多的都很完整,但是输 入“wskt”的时候可见必应给出了正确的人名,而搜狗出现的第一个候选词不是我们需要的人 名并且没有正确人名的候选词出现.必应略胜. 2.地名输入: 地名的识别度和准确性两款输入法软件做的都是很不错的,但是搜狗输入法对于地名 的相关信息会有显示,例如,输入克利夫兰,搜狗输入法的第二个候选词是克利夫兰 最著名的球队克利夫兰骑士队,会给用户带

CentOS6.5桌面版安装VirtualBox提示错误/etc/init.d/vboxdrv setup

安装步骤 1.在VirtualBox主页上面下载 VirtualBox-4.3-4.3.6_91406_el6-1.x86_64.rpm 2.双击安装 3.安装完成后选择镜像后安装系统后将出现错误对话框并提示你运行 /etc/init.d/vboxdrv setup 来解决问题 4.运行/etc/init.d/vboxdrv setup,仍然发现错误并且标准输出提示你查看/var/log/vbox-install.log来发现错误 5.运行vi /var/log/vbox-install.log

ubuntu 14.04 桌面版关闭图形界面

ubuntu 14.04 桌面版关闭图形界面 问题: 如何将ubuntu14.04设置为文本模式启动? 解决方案: 修改改GRUB 的配置文件(不建议直接改 grub.conf) $sudo vim /etc/default/grub 找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash",应该是在第11行. 复制本行然后把quiet splash替换成text. 把本行注释掉(以免以后想改回来时不知道怎么改回来). 如下:GRUB_CMDLINE_L

淘宝UWP桌面版已经发布

目前正在等待应用商店的检测,很快会可以下载. 谢谢各位园主针对淘宝UWP 桌面版(又叫PC版,HD版等等)给予的feedback,在这里统一回复一下,就不一一感谢了. 有一件事需要说明一下,请看下图: 绿色方框的部分是H5页面,这里的内容完全有淘宝服务器端控制,所以由此产生的bug我们这边修不了,但是淘宝的攻城狮们已经知道了这些bug,正在努力修改. 如何区别哪些是H5页面呢?1)在右侧窄屏显示:2)标题条上的标题在中间:3)标题条右端有刷新和菜单(…)两个按钮.

arcgis10.2.2桌面版具体的安装步骤过程

原文:arcgis10.2.2桌面版具体的安装步骤过程 先声明一下,这里的截图虽说是ArcGIS10.1版本的,但是安装步骤是对的,本人用ArcGIS10.2.2软件测试成功安装上 一.ArcGIS许可证管理器安装 1.在软件包文件夹license manager目录下,单击Setup.exe安装ArcGIS许可证管理器:这里安装步骤没什么注意的,就是常规的软件安装即可.安装完之后,先不忙这破解,接下下面的ArcGIS Desktop安装. 二.ArcGIS Desktop的安装 1.安装Arc