GitHub学习总结
一、安装git:下载Git,官网地址:https://git-scm.com/,进入官网首页,然后点击download,下载对应系统的git就行。

二、我用的是win系统,打开git界面是这样的:

在用git前首先要配置2个全局变量,否则代码不能提交
git config --global user.name 用户名
git config --global user.email 用户邮箱
接下来
创建版本库:git init
查看仓库状态:git status
添加文件:git add 文件名(如果在当前文件夹下修改了多个文件,文件名可换成“.”即添加当前目录下修改的所有文件)
提交到仓库(这里的仓库指本地的仓库):git commit -m "注释信息"
删除文件:git rm 文件名
三、推送到远程仓库
1.首先要添加一个远程库:git remote add origin(这里写你给远程库起的别名) https://github.com/Diewind/gittest.git(这里是远程库的地址)
2.同步Git仓库至本地仓库
git pull origin(远程库的别名) master
如果在创建项目时勾选了README选项,则可以用git pull --rebase origin master把该文件下载下来
2.推送到远程仓库:
- git push origin(这里写远程库的别名,也可以填远程库完整的https地址) master(分支名,可省略,默认为当前分支,分支在后面内容会讲到)
- git push -u origin(这里写远程库的别名,也可以填远程库完整的https地址) master(分支名,可省略,默认为当前分支,分支在后面内容会讲到)
这里说一下二者的区别:
$ git push origin 将当前分支推送到origin主机的对应分支。 如果当前分支只有一个追踪分支,那么主机名都可以省略。
$ git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。
$ git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。
四、日志查看与版本切换
1.日志查看:
git log 显示所有提交过的版本信息;
git log --pretty=oneline 只会留下commit id (版本号 (用SHA1字串表示))和 提交版本时的描述信息;
git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录。
注:以上3个方法都可以看到版本号!
2.切换版本:
git reset --hard HEAD^(表示切换到前1版本,如果写^^,表示切换到2版本,如果写~100,则表示切换到前100版本)
git reset --hard 版本号(更加精准,填写版本号的前几位数字,是唯一的就行)
五、分支
查看分支:git branch
创建分支:git branch 分支名
删除分支:git branch -d 分支名
切换分支:git checkout 分支名
合并分支:git merge 分支名(将“分支名”合并到当前分支)
创建并切换到分支名:git checkout -b 分支名
六、远程仓库
查看远程仓库:git remote
查看远程仓库(显示远程仓库地址):git remote -v
添加远程仓库:git remote add 远程仓库别名 远程仓库地址
删除远程仓库:git remote remove 远程仓库别名
修改远程仓库:git remote rename 远程仓库旧名称 远程仓库新名称
七、配置公钥登录
1.配置ssh格式的远程仓库地址:git remote add 远程仓库别名 远程仓库地址(这里的远程仓库地址填写ssh地址,如下图)

2.创建sshkey
ssh-keygen -t rsa -C "邮箱"
完成后私钥和公钥都在C盘的“C:\Users\Administrator\.ssh\”目录下,用公钥即可。

3.把公钥的内容复制到git的ssh上





把公钥复制在这即可,以后推送到远程仓库就不需要再次输账号密码了。
GitHub学习总结的更多相关文章
- GitHub学习心得之 简单操作
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本文对Github的基本操作进行了总结, 主要基于以下文章: http://gitre ...
- GitHub学习心得之 安装配置与多帐号管理
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 GitHub学习心得之 安装配置与多帐号管理 1.前言2.GitHub Linux安装(ub ...
- 2019.3.6 Github学习 &Git学习
Github学习 1.使用Github 1.1 目的 借助github托管项目代码 1.2 基本概念 仓库(Repository) 仓库的意思是:即你的项目,你想在Github上开源一个项目,那就必须 ...
- git/github学习笔记
郑重提示,本文来自这里,如果喜欢,请关注原作者. 1. git 版本控制系统 相比CVS\SVN优势: - 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块 ...
- 我的git与github学习历程
因为想要知道如何把代码放到github上,所以就百度了一下,然后找到一个<如何从github上面拷贝源码>的文章,就先进行练习了下 1.首先到git官网下载git版本控制工具的安装包, ...
- Swift - 语言指南,来自github学习
@SwiftLanguage 更新于 2016-6-6,更新内容详见 Issue 55.往期更新回顾详见<收录周报> 这份指南汇集了 Swift 语言主流学习资源,并以开发者的视角整理编排 ...
- GitHub学习资料
GitHub账户注册注册了有一年多了(Joined on 13 Apr 2015),一直以来都是本地命令行上传到内网的Git服务器Gitlab.最近正好在学习新的编程语言,所以当初荒废的GitHub想 ...
- github 学习笔记【一】
这几天在学习github ,其实学了主要用来管理自己的项目!因为要在家里和公司两头做! 所以就开始学习使用!目前熟练几个命令,其他的一边用一遍学吧!想一举成功应该是不太可能的! 反复记忆才能更好,据说 ...
- github学习(一)
初识github篇. 一.什么是github: GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub. g ...
- github学习(二)
Git学习(一) 学习github一定要学会git,否则在后续的github运用中会出现很多问题. 1.安装Git: Mac自带Git,Windows需要自己安装. 2.配置git: 配置user.n ...
随机推荐
- golang字符串拼接
四种拼接方案: 1,直接用 += 操作符, 直接将多个字符串拼接. 最直观的方法, 不过当数据量非常大时用这种拼接访求是非常低效的. 2,直接用 + 操作符,这个和+=其实一个意思了. 3,用字符串切 ...
- [微信小程序] 微信小程序开发初步探索
1.开发文档 https://developers.weixin.qq.com/miniprogram/dev/ app.json配置:https://developers.weixin.qq.com ...
- 【Qt】信号和槽对值传递参数和引用传递参数的总结
在同一个线程中 当信号和槽都在同一个线程中时,值传递参数和引用传递参数有区别: 值传递会复制对象:(测试时,打印传递前后的地址不同) 引用传递不会复制对象:(测试时,打印传递前后的地址相同) 不在同一 ...
- SAP PA Document List
RE-Real Estate 房地产 RE010-EN-Col95-Real Estate Processes in SAP ERP RE200-EN-Col95-Real Estate Manage ...
- 蜕变成蝶~Linux设备驱动之异步通知和异步I/O
在设备驱动中使用异步通知可以使得对设备的访问可进行时,由驱动主动通知应用程序进行访问.因此,使用无阻塞I/O的应用程序无需轮询设备是否可访问,而阻塞访问也可以被类似“中断”的异步通知所取代.异步通知类 ...
- Linux常见问题整理
1. 操作系统应该要控制硬件的哪些单元? 运算单元.控制单元.寄存器组.总线接口单元.输入/输出接口单元. 2. 一个较为完整的操作系统应该包含哪些部分? 比较完整的操作系统应该包含两个组件,一个是核 ...
- LINUX下从mysql文件导出后标题合并
这两天在做数据导出,真实折磨死了,记录下来.导出的格式是csv. 由于我们的数据量比较大,导出到excel时,几百万上千万行的时候用程序去写入肯定是不行,所以自然就想到了mysql的outfile功能 ...
- C#获取一个数组中的最大值、最小值、平均值
C#获取一个数组中的最大值.最小值.平均值 1.给出一个数组 ,,,,,-,,,,}; 2.数组Array自带方法 本身是直接可以调用Min(),Max(),Average()方法来求出 最小值.最大 ...
- lxml xpath 爬取并正常显示中文内容
在使用python爬虫提取中文网页的内容,为了能正确显示中文的内容,在转为字符串时一定要声明编码为utf-8,否则无法正常显示中文,而是显示原编码的字符,并没有正确转换.比如下面这个简单的爬取百度页面 ...
- Dagger2 导入项目
导入分为两步: 第一步: 在Project build.gradle 文件中加入: dependencies { // Dagger2 第一步classpath 'com.neenbedankt.gr ...