By francis_hao    Nov 20,2016

github介绍

github是一个网站https://github.com/,可以实现基于git(当然,svn也是可以的)的代码托管工作。我们可以在任何有网络的地方将自己的代码放到这个网站上供自己和别人下载,当然如果你不想让别人下载,也可以放在私人仓库里,不过这是需要收费的。

先有鸡后有蛋

创建仓库

当我们有一个项目需求时,首先在github上新建一个仓库。

进行基本的说明,比如我想学习一门语言,并想用C程序进行记录学习过程。其配置过程如下,其中第3步的选择会在仓库中生成两个文件,一个是对项目的简单介绍,内容就是第2步中的内容,另一个是你写的程序遵循的协议说明,我选择GPLv3。

创建后的内容

下载仓库到本地,修改并上传

有两种方式:SSH和HTTPS,官方推荐的是HTTPS.

HTTPS方式

具体的操作如下,首先复制HTTPS URL.

现在就可以使用git的clone命令下载了

$ git clone https://github.com/yinghao-liu/language.git

当然你也可以指定自己的路径名

$ git clone https://github.com/yinghao-liu/language.git hello

在目录下编写文件并编译,生成的可执行文件如果不想提交到git中可以在.git/info/exclude文件中添加规则将它忽略掉,之后就是add和commit了。

接下来就可以将本的的分支推送到github上了,过程中需要输入github上的用户名和密码

$ git push origin master:master

已经成功push上去了

 

SSH方式

这种方式的优点是在与服务器通信的时候只要输入一个口令即可,但是前提是必须有一个密钥,在本地生成一个并在github上配置。具体过程如下

查看本地是否存在密钥

不存在则生成一个,过程中需要输入两次口令

之后则是在github网站上进行配置,这里直接贴了github help页的内容

在github上复制SSH的URL,并在本地进行git clone,下面是两次clone的过程,第一次需要配置github到已知主机上并输入之前设置的口令,以后只输入口令就可以了。

git clone git@github.com:yinghao-liu/language.git lang_ssh

修改main.c文件并push到github上

可以在github上看到这次的修改

先有蛋后有鸡

当我们先在本地创建了一个项目,之后想放到github上。

首先,本地有个提交过的版本库

然后,新建一个含有README.md,LICENSE的github仓库。

将本地版本库和新建的github版本库进行关联,其中origin为自定义的远程主机名

$ git remote add origin https://github.com/yinghao-liu/test.git

将github版本库里的文件先取下来

$ git fetch origin

合并远程主机的分支到本地当前分支

$ git merge remotes/origin/master -m "merge from remote master"

将合并后的分支推送到github上

$ git push origin master:master

github上已经有本地的文件了

 

附注

若推送时候省略参数的形式,会出现提示

$ git push

这里有两种模式,设置方式如上图

simple:默认只推送当前分支(git 2.0版本之后默认的方式)

matching:推送所有有追踪关系的本地分支(git 2.0版本之前默认的方式)

设置默认推送方式之后仍然有问题

需要设置当前分支相关联的远程分支,下例为将本地当前分支关联到远程主机origin的master分支(也就是建立追踪关系)

$ git push u/--set-upstream origin master

 

 

 


本文由 刘英皓 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:http://www.cnblogs.com/yinghao1991/p/6083870.html

 

参考

[1] CSDN :http://blog.csdn.net/u012575819/article/details/50553501 git clone,push,pull,fetch命令详解

[2] gihub :https://help.github.com/ help页

[3]sitepoint: https://www.sitepoint.com/getting-started-git-team-environment/ Getting Started with Git in a Team Environment

 

 

git使用笔记(六)github的更多相关文章

  1. Git学习笔记-----下载GitHub上某个分支的代码

    在GitHub上的仓库里,往往建有几个分支,如果只是想下载某个分支的代码,怎么办呢? 1.需要知道远程分支的名称,及远程分支所在的Git仓库 2.按下面指令下载 git clone -b 远程分支名称 ...

  2. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  3. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  4. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  5. git 学习笔记6--remote & log

    git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...

  6. 《Pro Git》笔记3:分支基本操作

    <Pro Git>笔记3:Git分支基本操作 分支使多线开发和合并非常容易.Git的分支就是一个指向提交对象的可变指针,极其轻量.Git的默认分支为master. 1.Git数据存储结构和 ...

  7. git使用笔记(三)(图文说明) 图解提交更改内容的不同方式,涉及代码

    此步之前的工作和示例请参考以下帖子: git使用笔记(一)Git的下载与配置 git使用笔记(二) 如何把GitHub上项目同步到本地 -------------------------------- ...

  8. git入门笔记汇总——(廖雪峰博客git入门)

    本文内容是对廖雪峰老师Git教程做的笔记,外加一些自己的学习心得,还抱着学以致用的心态来实践一番 如有显示错误 请移步本人github:git教程小结 Git学习笔记 Git简介 安装Git 创建版本 ...

  9. Git 安装及用法 github 代码发布 gitlab私有仓库的搭建

    版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 这个版本控制软件,有 svn还有git,是一个工具. git是由linux的作者开发的 git是一个分布式版本控制系统 ...

  10. 【转帖】Git学习笔记 记录一下

    本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...

随机推荐

  1. Python接受流式输入

    随笔记录——Python接受终端入若干行输入 Python接受终端的若干行输入时,比较常用的input()不再好用. 1. 导入sys模块: import sys 2. for循环接受输入: for ...

  2. python基础,导入模块,if语句,while语句

    python基础 python代码 变为字节码 变为机器码 最后执行执行‘文件名.py’文件时出现的‘文件名.pyc’文件为字节码 缓存机制 使用pycharm的时候在文件最开始添加下面这两行代码,中 ...

  3. n点游戏

    n点游戏 24点游戏是非常经典而简单的小游戏,从一堆扑克牌中抽取4张,向其中添加运算符号并使其运行结果恰等于24,这叫作24点游戏. 现在我们不再是组合24,而是组合出给定的数字n,但要求只可以利用任 ...

  4. vuejs中的计算属性和监视

    计算属性 1.在computed属性对象中定义计算属性的方法,在页面上使用{{方法名}}来显示计算结果 2.通过getter/setter实现对属性数据的显示和监视 3.计算属性存在缓存,多次读取只执 ...

  5. js倒计时页面跳转

    HTML: <p><span id="timer">60</span>s 后跳转到百度首页</p> JS: //倒计时方法 func ...

  6. vue2018年5月报错No parser and no file path given

    mac电脑直接: rm -rf node_modules rm package-lock.json npm install npm install prettier@~1.12.1 执行完这四个命令, ...

  7. MyEclipse - 问题集 - 创建Maven项目,JDK版本默认是1.5

    修改Maven的配置文件settings.xml,增加profile节点,如下所示: <profile> <id>jdk-1.8</id> <activati ...

  8. 一次和别人争吵一个按钮,点击后显示导航;再点击不显示的效果,是否一定以及必须用js?

    事情经过是这样的,我们组一个说话很喜欢用一定,肯定的哥们,吃午饭的时候拿了自己做的一个UI库,头部有一个按钮 点击展开,再次点击收缩,他意思说一个按钮无法记录点击状态,必须使用js.然后我看了一眼,心 ...

  9. 27、理解js的继承机制(转载自阮一峰)

    Javascript继承机制的设计思想   作者: 阮一峰 日期: 2011年6月 5日 我一直很难理解Javascript语言的继承机制. 它没有"子类"和"父类&qu ...

  10. Android应用开发中的夜间模式实现(一)

    前言 在应用开发中会经常遇到要求实现夜间模式或者主题切换具体例子如下,我会先讲解第一种方法. 夜间模式 知乎 网易新闻 沪江开心词场 Pocket 主题切换 腾讯QQ 新浪微博 我今天主要是详述第一种 ...