博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git使用笔记(六)github
阅读量:4558 次
发布时间:2019-06-08

本文共 1889 字,大约阅读时间需要 6 分钟。

By francis_hao    Nov 20,2016

github介绍

github是一个网站,可以实现基于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

 

 

 

本文由 创作,采用 许可协议进行许可。欢迎转载,请注明出处:
转载自:

 

参考

[1] CSDN : git clone,push,pull,fetch命令详解

[2] gihub : help页

[3]sitepoint: Getting Started with Git in a Team Environment

 

 

转载于:https://www.cnblogs.com/yinghao1991/p/6083870.html

你可能感兴趣的文章
CodeForces 731A Night at the Museum
查看>>
MySQL 删除数据库
查看>>
JavaScript 字符串(String) 对象
查看>>
How to use VisualSVN Server and TortoiseSVN to host your codes and control your codes' version
查看>>
微信小程序picker组件 - 省市二级联动
查看>>
Dynamics CRM 给视图配置安全角色
查看>>
Eclipse修改已存在的SVN地址
查看>>
(转)使用 python Matplotlib 库绘图
查看>>
进程/线程切换原则
查看>>
正则表达式语法
查看>>
20165301 2017-2018-2 《Java程序设计》第四周学习总结
查看>>
Vue的简单入门
查看>>
urllib 中的异常处理
查看>>
通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了?
查看>>
比较:I/O成员函数getline() 与 get()(第二种用法)的用法异同
查看>>
WIFI密码破解全攻略
查看>>
gulp
查看>>
pgsql查询优化之模糊查询
查看>>
不变模式
查看>>
matlab去云雾
查看>>