git使用笔记(六)github
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的更多相关文章
- Git学习笔记-----下载GitHub上某个分支的代码
在GitHub上的仓库里,往往建有几个分支,如果只是想下载某个分支的代码,怎么办呢? 1.需要知道远程分支的名称,及远程分支所在的Git仓库 2.按下面指令下载 git clone -b 远程分支名称 ...
- Git学习笔记(四)
一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- git 学习笔记6--remote & log
git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...
- 《Pro Git》笔记3:分支基本操作
<Pro Git>笔记3:Git分支基本操作 分支使多线开发和合并非常容易.Git的分支就是一个指向提交对象的可变指针,极其轻量.Git的默认分支为master. 1.Git数据存储结构和 ...
- git使用笔记(三)(图文说明) 图解提交更改内容的不同方式,涉及代码
此步之前的工作和示例请参考以下帖子: git使用笔记(一)Git的下载与配置 git使用笔记(二) 如何把GitHub上项目同步到本地 -------------------------------- ...
- git入门笔记汇总——(廖雪峰博客git入门)
本文内容是对廖雪峰老师Git教程做的笔记,外加一些自己的学习心得,还抱着学以致用的心态来实践一番 如有显示错误 请移步本人github:git教程小结 Git学习笔记 Git简介 安装Git 创建版本 ...
- Git 安装及用法 github 代码发布 gitlab私有仓库的搭建
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 这个版本控制软件,有 svn还有git,是一个工具. git是由linux的作者开发的 git是一个分布式版本控制系统 ...
- 【转帖】Git学习笔记 记录一下
本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...
随机推荐
- linux系统编程之框架
linux系统编程之框架: 1. 进程 1.1 进程概念 1.1.1 PCB 1.1.2 环境变量 1.2 进程控制 1.3 进程间通信 1.3.1 管道 1.3.2 有名管道 1.3.3 共享内存 ...
- pyecharts的简单使用
由于需要在项目中展示数据,查了查资料发现,pyecharts模块在网页数据展示方面有很大优势,所以就学了点pyechas 参考博客:Python:数据可视化pyecharts的使用 - JYRoy - ...
- Leecode刷题之旅-C语言/python-118杨辉三角
/* * @lc app=leetcode.cn id=118 lang=c * * [118] 杨辉三角 * * https://leetcode-cn.com/problems/pascals-t ...
- vue 项目如何使用微信分享接口
首先做微信网页都要接入微信sdk: 安装sdk npm install weixin-js-sdk --save 具体可以查看微信公众平台技术文档:https://mp.weixin.qq.com/w ...
- fastDFS 上传 java源码
要想搭建fastDFS网上有相近的文章: 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试 首先下载fastd ...
- Hadoop Sentry 学习
什么是Sentry? Sentry 是Cloudera 公司发布的一个Hadoop开源组件,它提供细粒度基于角色的安全控制 Sentry下的数据访问和授权 通过引进Sentry,Hadoop目前可在以 ...
- 58HouseSearch项目迁移到asp.net core
前言 58HouseSearch这个项目原本是基于ASP.NET MVC 4写的,开发环境是Windows+VS2015,发布平台是linux+mono+jexus,这样看来整个项目基本已经满足跨平台 ...
- Putty的设置保存
用了好几年都不知道这功能, 以前每次在连接时只能手工更改字符为utf-8,当时在想怎么这么弱呢 后来才知道... 1 字符 Translation下 字体Appearance下 颜色Colours下 ...
- (1)分布式下的爬虫Scrapy应该如何做-安装
关于Scrapy的安装,网上一搜一大把,一个一个的安装说实话是有点麻烦,那有没有一键安装的?答案显然是有的,下面就是给神器的介绍: 主页:http://conda.pydata.org/docs/ 下 ...
- 在PXC中重新添加掉线节点
Preface When we add a new node into PXC structure,it will estimate the mothed(IST/SST) to tr ...