目录

  • 为什么要使用GitHub
  • 下载Github Desktop
  • fork 与 pull request
  • git pull,fetch,merge,push的区别与联系
  • git clone 与 download 区别
  • 当源仓库更新时,让自己fork的仓库复制这些更新

1.为什么要使用GitHub

作为“全球最大同性交友网站”,全世界最大的代码集中地,最大的代码托管平台,GitHub的存在必然有它存在的意义。
私以为,GitHub能为我们干这么一些事情:

  • 寻找学习资源,比如下载各种文档。另外,一些书本会把源码上传至GitHub供读者学习使用。
  • 参与感兴趣的开源项目,增强与他人协作开发的能力。
  • 上传自己的代码,记录自己的成长,打造自己的名片。并且可能会有热心人士指出代码的不足,这难道不是间接的提升自我。

2.下载Github Desktop。

  • 下载网址
    这个可视化工具可以让GitHub的使用简单点吧。

3.fork 与 pull request

fork*:若在GitHub上找到自己感兴趣并且想加入一起完成这个项目。又或者是一个团队一起开发,等于创建一个代码仓库。这时候便需要是要 fork 这个功能了。等于你成了这个项目的一个协同开发者。

在这之后在你的账号便会自动生成一个新的仓库(可以理解为原仓库的复制版)

这时候desktop就登场了。

在这边将 自己仓库 克隆的本地,这是相当在本地创建了一个副本。

选择正确的分支,点击右下在本地打开。

就像这样,我们这时候可以在这个文件夹中增加或者删除文件或代码。之后desktop上会显示你的更改。确认更改无误后

按下 push origit 按键,这时候你的GitHub的仓库便被更改了。
这时,如果想把自己所做的修改合并到源仓库的话。

按下 pull request 按键。

左下角将会显示你所做的修改。确认之后,点下右上的 view pull request

在方框内可以写写自己的看法或是简单的介绍。之后点击右下角就行了。

在这之后,其他人可以对你的 pull request 评论。只有在仓库的最初创建者同意”merge“你的更改时,这时候pull request 才算完成使命你。

3.git pull,fetch,merge,push的区别与联系

  • git push 是把本地更改上传至网络端。
  • git merge 是把代码clone的代码与本地代码结合。
  • pull,fetch 都是把网络端的代码带回本地,但它们之间有点区别,可以理解为 pull=fetch+merge

4.git clone 与 download 区别

采用git clone的项目包含.git目录,这里面有历史版本信息。
采用下载zip文件的是没有版本历史信息的。只是当前分支的最新版本。
也就是说git会记录你对仓库做的一举一动,什么时候上传,删除或更新了代码或文件。若采用clone的话,你可以清楚知道项目的”成长“,这有利于对项目加深理解,并且更易于代码的维护。download则无这些记录。

4.当源仓库更新时,让自己fork的仓库复制这些更新(不知道有没有更简单的方法)

  • 在自己厂库点击 new pull request 按键。

将左边改选为自己fork的仓库的分支。

这时候它会提示这是两个一样的分支,不能pull request。这时就需要点击右上角的篮圈了。

将右边分支换为源仓库里的分支,接下来只需点击创建pull request。
其实这就相当在源仓库发送一个pull request 到你fork的仓库,最后点击”merge“便完成了源仓库更新的复制。

Github 入门(“趣考网络”学习第一步)的更多相关文章

  1. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  2. Qt 学习第一步 做计划和确定目标

    接下来開始一步步深入学习Qt. 学习的第一步是整理资料,也就是找书和sample. 逛了一些论坛,推荐以下3本书 1> C++ GUI programming with Qt 4(2nd Edi ...

  3. Java学习第一步: Win7配置JDK环境

    转摘"专注JavaWeb开发":http://www.javaweb1024.com/java/Javajichu/2015/03/02/353.html 下载JDK并安装到本机  ...

  4. Struts2 学习第一步准备工作

    第一步:安装下载MyEclispe10 对于MyEclispe的下载安装就不再详述了. 第二步:下载Struts-2.3.15 Struts-2.3.15下载地址: http://struts.apa ...

  5. java学习第一步,使用IntelliJ IDEA编写自己的第一个java程序

    首先下载java的jdk,然后说一下IDEA的配置 IntelliJ IDEA目前公认的最好的java开发工具,不过一般的学校的教学还是使用eclipse来进行java的开发.所以老师一般只会教你如何 ...

  6. caffe windows 学习第一步:编译和安装(vs2012+win 64)

    没有GPU,没有linux, 只好装caffe的windows版本了. 我的系统是win10(64位),vs 2012版本,其它什么都没有装,因此会需要一切的依赖库. 其实操作系统只要是64位就行了, ...

  7. GitHub注册失败,卡在第一步

    同事说他无法注册GitHub,我一开始以为GitHub又无法登录进去,我就登录了自己的GitHub账号,没有问题,可以登录啊,见第一个标签页.同一局域网,不可能我能登录,你无法完成注册啊.于是,我就在 ...

  8. android 学习第一步

    今天是2015年7月24号,今年下半年的主要学习方向是android,学习的目标是做出3个或以上的有实用价值的app.

  9. Angular学习第一步

    前端开发越来越流行了,作为后端开发人员,也开始需要学习前端了.随着前端技术的发展,前端技术也越来越复杂,复杂程度不亚于后端,各种框架各种设计模式前端都用上了,什么AngularJS,Angular, ...

随机推荐

  1. java基础学习总结——面向对象1

    目录 一.面向过程的思想和面向对象的思想 二.简单理解面向对象 三.面向对象的设计思想 四.对象和类的概念 五.如何抽象出一个类? 六.类(对象)之间的关系 七.Java与面向对象 八.为什么使用面向 ...

  2. linux命令进阶

    Though unconsciously,peple are indeed moving towards their destination.Slow as the progress seen fro ...

  3. Application Security Per-Engagement

    1. an SQLi vulnerability will allow you  to do the  following query the database using select statem ...

  4. Emacs Org-mode 1 下载、安装、基本使用

    1.1 总述 Org 是一种帮助我们做笔记.日常事件或者项目计划的快速高效的文本格式系统. Org 有以下特点: Org mode 基于组织结构(outline-mode)对文本进行组织.具有良好的快 ...

  5. memcached笔记

    启动memcached:./memcached -d -m 10 -l 127.0.0.1 -p 11211 -u root 连接memcached:telnet 127.0.0.1 11211 查看 ...

  6. UWP WebView 禁用缩放

    只要加入一行 css 样式就行了 html, body { -ms-content-zooming:none; }   MSDN:https://msdn.microsoft.com/library/ ...

  7. 一起学HBase——总结HBase中的PUT、GET、DELETE操作

    传统的关系型数据库有CRUD增删改查操作,同样对于NoSQL列式数据库也有CRUD操作.本文对HBase中常用的Scan.GET.PUT.DELETE操作的用法做个总结. Put操作 Put相当于传统 ...

  8. python全栈开发day112-CBV、flask_session、WTForms

    1.Flask 中的 CBV class Index(views.MethodView): # methods = ["POST"] # decorators = [war,nei ...

  9. java.net.NoRouteToHostException: No route to host解决方法

    当访问192.168.10.98上的tomcat时候,tomcat日志异常 然后查看tomcat服务器上的防火墙 查看service层的防火墙: 至此问题解决: 永久关闭防火墙: 1.首先查看防火墙状 ...

  10. 如何使用JMeter开源性能测试工具来构建Web性能测试体系

    一.性能测试一些概念 性能测试:就是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 负载测试:确定在各种工作负载 ...