GitHub学习笔记
安装
Ubuntu上安装Git
sudo apt-get install git
Windows上安装Git
msysgit是Windows版的Git。从http://msysgit.github.io/下载,然后按默认选项安装就可以。安装完毕后,在開始菜单里找到”Git”|”Git Bash”,蹦出一个相似命令行窗体的东西,就说明Git成功安装!
配置
打开命令行。输入例如以下代码:
git config --global user.name "YOUR NAME"
git config --global user.email "YOUR EMAIL ADDRESS"
注意git config命令的--global參数。用了这个參数,表示你这台机器上全部的Git仓库都会使用这个配置,当然也能够对某个仓库指定不同的username和Email地址。
创建仓库
- 点击GitHub页面右上角的“+”,然后点击“New repository”。
- 输入仓库的名称及其描写叙述信息。
- 选择仓库是公开的还是私有的(仅仅同意付费用户创建)。
- 选择”Initialize this repository with a README.”。
- 点击”Create repository”。
也可从命令行输入例如以下语句:
mkdir repoName
cd repoName
git init
提交更新
- 在仓库的文件列表点击”README.md”。
- 点击编辑button,对文件作出改动,文件内容上方有预览button能够预览改动效果。
- 在”Commit changges”下方输入简单的有意义的更新信息。
- 点击”Commit changes”。
最后一步除了”Commit changes”之外还有” Create a new branch for this commit and start a pull request”选项,能够用此选项创建一个pull request。管理员就可以点击”Merge pull request”合并结果。
假设从命令行合并。过程例如以下:
Step 1: From your project repository, bring in the changes and test.
git fetch origin
git checkout -b chinaeagle001-patch-1 origin/chinaeagle001-patch-1
git merge master
Step 2: Merge the changes and update on GitHub.
git checkout master
git merge --no-ff chinaeagle001-patch-1
git push origin master
Fork A Repo
创建分支的样例
- On GitHub, navigate to the octocat/Spoon-Knife repository.
- Fork buttonIn the top-right corner of the page, click Fork.
同步分支
创建分支的本地克隆。
- 在GitHub页面,导航到你的分支,复制分支的URL。
- 打开命令行。输入:
git clone https://github.com/YOUR-USERNAME/Spoon-Knife。 - 回车,本地克隆创建完毕。
配置Git使分支与原始的仓库同步
- On GitHub, navigate to the octocat/Spoon-Knife repository.
- 复制原始仓库的URL。
在命令行输入
git remote -v并点击回车。能够看到当前配置的你的分支的远程仓库。git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)输入
git remote add upstream。然后粘贴复制的URL并点击回车。
git remote add upstream https://github.com/octocat/Spoon-Knife.git- 此时,再次输入
git remote -v,能够看到例如以下信息:
git remote -v
# origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
# origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
# upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
# upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)
如今,就能够通过少量的Git命令使分支与原始仓库同步。
git fetch upstream
git checkout master
git merge upstream/master
The sky’s the limit with the changes you can make to a fork, including:
- Creating branches: Branches allow you to build new features or test out ideas without putting your main project at risk.
- Opening pull requests: If you are hoping to contribute back to the original repository, you can send a request to the original author to pull your fork into their repository by submitting a pull request.
GitHub学习笔记的更多相关文章
- Github学习笔记-不定时更新
最近在搞一个外包项目,有个非常厉害的师兄带我,他写后端,我负责前端部分,项目合作需要用到github,这也是早晚要接触,记录下项目过程中对github/git使用的学习笔记. 1.在网上看了一些教程之 ...
- HIT2019春软件构造->Git&Github学习笔记
由于软件构造课程需要,学习使用git,以下作为学习笔记. 一.Git初始化及仓库创建和操作 1.基本信息设置(设置签名) 命令 项目级别/仓库级别:仅在当前本地库范围内有效 git ...
- git/github学习笔记
郑重提示,本文来自这里,如果喜欢,请关注原作者. 1. git 版本控制系统 相比CVS\SVN优势: - 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块 ...
- github 学习笔记【一】
这几天在学习github ,其实学了主要用来管理自己的项目!因为要在家里和公司两头做! 所以就开始学习使用!目前熟练几个命令,其他的一边用一遍学吧!想一举成功应该是不太可能的! 反复记忆才能更好,据说 ...
- eclipse使用git及github学习笔记
项目托管 1.首先需要在github上建立一个远端仓库 点击Create repository后,会在github上建立相应的git仓库,并会出现如下界面: 复制https或者ssh的仓库地址,远端 ...
- Git与GitHub学习笔记(七)Windows 配置Github ssh key
前言 SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell.SSH登录是需要用户 ...
- Git与GitHub学习笔记(三).gitignore文件忽略和删除本地以及远程文件
一.Git提供了文件忽略功能.当对工作区某个目录或者某些文件设置了忽略后,git将不会对它们进行追踪 HELP:如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件 问题:最近 ...
- Git与GitHub学习笔记(八)git如何同时同步提交到码云和GitHub上
前言: 今天github push代码一直push不上去,打算就备份一份代码带国内开源码云上. Github容易出现的情况是: 国内访问速度比较慢, 如果被墙掉的话,就直接没发使用了 如果开源个PHP ...
- GitHub学习笔记:分支管理
GitHub对于每个开发版本都需要有一个分支,默认的分支是master往往被大家保留下来作为主分支,分支类似于进程的一个指针,往往在master这个稳定的主干版本上分出一个或多个正在开发的分支版本,开 ...
随机推荐
- 关于js封装框架类库之选择器引擎(一)
选择器模块之传统做法 var tag = function (tag){ return document.getElementsByTagName(tag); } var id = function ...
- iOS中运用正则表达式
iOS中运用正则表达式来匹配短信验证码,电话号码,邮箱等是比较常见的. 在iOS中运用正则表达式主要有三种方式: -:通过谓词下面是实例代码: - (BOOL)regularExpresionWith ...
- JS中的replace方法
JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replace(/\-/ ...
- mysql 时间差问题集锦
SELECT * from grouptoadd where taskid = '103244'; select datediff(max(spreadtime),min(createtime)) f ...
- Hadoop学习笔记(3)hadoop伪分布模式安装
为了学习这部分的功能,我们这里的linux都是使用root用户登录的.所以每个命令的前面都有一个#符号. 伪分布模式安装步骤: 关闭防火墙 修改ip地址 修改hostname 设置ssh自动登录 安装 ...
- 关于block 用法
Block Apple 在C, Objective-C, C++加上Block這個延申用法.目前只有Mac 10.6 和iOS 4有支援.Block是由一堆可執行的程式組成,也可以稱做沒有名字的Fu ...
- jQuery File Upload 插件 php代码分析
jquery file upload php代码分析首先进入构造方法 __construct() 再进入 initialize()因为我是post方式传的数据 在进入initialize()中的po ...
- 射频识别技术漫谈(7)——ID卡
ID(Identification)是识别的意思,ID卡就是识别卡.ID卡包含范围广泛,只要具有识别功能的卡片都可以叫ID卡,例如条码卡,磁卡都可以是ID卡,我们这儿说的当然是射频识别卡. 射频ID卡 ...
- php定界符 <<< 的作用及使用注意事项
按照原样输出,包括换行符.特殊字符等 任何特殊字符都不需要转义,比如双引号.单引号,它会按照原样输出 像在双引号字符串中一样使用php的变量输出 定界符<<<,当需要输出大段文本时, ...
- poj 1836 Alignment(线性dp)
题目链接:http://poj.org/problem?id=1836 思路分析:假设数组为A[0, 1, …, n],求在数组中最少去掉几个数字,构成的新数组B[0, 1, …, m]满足条件B[0 ...