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 ...
随机推荐
- 【宣讲】德州科技职业学院宣讲关于IT领域趋势分析
12月25日,AICODER马伦老师受德州科技职业学院校领导的邀请,到德州科技职业学院青岛校区洽谈新型的校区合作,创新现有的职业教育的传统模式的束缚,探索新型的职业教育直接跟企业实习实战结合的新型职业 ...
- iOS最新Mac OS X 10.11之后 安装cocoapods及使用详解
iOS 最新版 CocoaPods 的安装流程 一.安装方法: 1.移除现有Ruby默认源 gem sources --remove https://rubygems.org/ 为了提高安装的成功几率 ...
- MobaXterm v10.9破解
去官网下载个人版 Exeinfo查壳发现无壳 载入OD,右键,字符串智能搜索. Ctrl+F搜索关键词About,找到到FormAbout处,即关于窗体的创建和显示的位置.双击查看汇编代码 程序在窗体 ...
- sqoop 测试 --hive-delims-replacement 参数
在hive的官方文档中给的例子中字段分隔符是\001,但是在他的API文档中--hive-delims-replacement ,--hive-drop-import-delims 参数中会处理的 ...
- 什么是面向切面编程AOP--知识点汇总
最近在学这方面的内容,读到的这段话我感觉说的很清楚了:这种在运行时,动态地将代码切入到类的指定方法.指定位置上的编程思想就是面向切面的编程. 面向切面编程(AOP是Aspect Orie ...
- Linux 文件umask默认权限_012
一. umask介绍 Linux 系统用户创建一个新的目录或文件时,系统会默认会分配相应的权限.目录或文件的权限是如何产生的呢? 1.这就是umask的功能,umask设置了用户创建文件或 ...
- “Java是编译执行的语言”这句话对吗?
现在让你谈谈对Java平台的理解,你是否会感觉内容过于庞大?这个问题是比较宽泛的,Java发展到现在已经不仅仅是语言这么简单了,Java平台涉及的,包括但不仅限于下面提到的这些内容: Java语言本身 ...
- Python的循环导入问题
循环导入的最好的解决方法是从架构上优化,即调整模块和模块成员变量的设计.一个好的原则是:可导出的成员变量,都不应该依赖于导入进来的成员变量. 但是在业务开发的过程中,总会遇到通过架构层面解决不了的导入 ...
- 以太坊: ETH 发送交易 sendRawTransaction 方法数据的签名 和 验证过程
作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...
- web.py框架之i18n支持
问题: 在web.py的模板文件中, 如何得到i18n的支持? Solution: 项目目录结构: proj/ |- code.py |- i18n/ |- messages.po |- en_US/ ...