一、安装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学习总结的更多相关文章

  1. GitHub学习心得之 简单操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本文对Github的基本操作进行了总结, 主要基于以下文章: http://gitre ...

  2. GitHub学习心得之 安装配置与多帐号管理

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 GitHub学习心得之 安装配置与多帐号管理 1.前言2.GitHub Linux安装(ub ...

  3. 2019.3.6 Github学习 &Git学习

    Github学习 1.使用Github 1.1 目的 借助github托管项目代码 1.2 基本概念 仓库(Repository) 仓库的意思是:即你的项目,你想在Github上开源一个项目,那就必须 ...

  4. git/github学习笔记

    郑重提示,本文来自这里,如果喜欢,请关注原作者. 1. git 版本控制系统 相比CVS\SVN优势: - 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块 ...

  5. 我的git与github学习历程

    因为想要知道如何把代码放到github上,所以就百度了一下,然后找到一个<如何从github上面拷贝源码>的文章,就先进行练习了下   1.首先到git官网下载git版本控制工具的安装包, ...

  6. Swift - 语言指南,来自github学习

    @SwiftLanguage 更新于 2016-6-6,更新内容详见 Issue 55.往期更新回顾详见<收录周报> 这份指南汇集了 Swift 语言主流学习资源,并以开发者的视角整理编排 ...

  7. GitHub学习资料

    GitHub账户注册注册了有一年多了(Joined on 13 Apr 2015),一直以来都是本地命令行上传到内网的Git服务器Gitlab.最近正好在学习新的编程语言,所以当初荒废的GitHub想 ...

  8. github 学习笔记【一】

    这几天在学习github ,其实学了主要用来管理自己的项目!因为要在家里和公司两头做! 所以就开始学习使用!目前熟练几个命令,其他的一边用一遍学吧!想一举成功应该是不太可能的! 反复记忆才能更好,据说 ...

  9. github学习(一)

    初识github篇. 一.什么是github:       GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.       g ...

  10. github学习(二)

    Git学习(一) 学习github一定要学会git,否则在后续的github运用中会出现很多问题. 1.安装Git: Mac自带Git,Windows需要自己安装. 2.配置git: 配置user.n ...

随机推荐

  1. 【宣讲】德州科技职业学院宣讲关于IT领域趋势分析

    12月25日,AICODER马伦老师受德州科技职业学院校领导的邀请,到德州科技职业学院青岛校区洽谈新型的校区合作,创新现有的职业教育的传统模式的束缚,探索新型的职业教育直接跟企业实习实战结合的新型职业 ...

  2. iOS最新Mac OS X 10.11之后 安装cocoapods及使用详解

    iOS 最新版 CocoaPods 的安装流程 一.安装方法: 1.移除现有Ruby默认源 gem sources --remove https://rubygems.org/ 为了提高安装的成功几率 ...

  3. MobaXterm v10.9破解

    去官网下载个人版 Exeinfo查壳发现无壳 载入OD,右键,字符串智能搜索. Ctrl+F搜索关键词About,找到到FormAbout处,即关于窗体的创建和显示的位置.双击查看汇编代码 程序在窗体 ...

  4. sqoop 测试 --hive-delims-replacement 参数

    在hive的官方文档中给的例子中字段分隔符是\001,但是在他的API文档中--hive-delims-replacement ,--hive-drop-import-delims   参数中会处理的 ...

  5. 什么是面向切面编程AOP--知识点汇总

           最近在学这方面的内容,读到的这段话我感觉说的很清楚了:这种在运行时,动态地将代码切入到类的指定方法.指定位置上的编程思想就是面向切面的编程. 面向切面编程(AOP是Aspect Orie ...

  6. Linux 文件umask默认权限_012

    一.       umask介绍 Linux 系统用户创建一个新的目录或文件时,系统会默认会分配相应的权限.目录或文件的权限是如何产生的呢? 1.这就是umask的功能,umask设置了用户创建文件或 ...

  7. “Java是编译执行的语言”这句话对吗?

    现在让你谈谈对Java平台的理解,你是否会感觉内容过于庞大?这个问题是比较宽泛的,Java发展到现在已经不仅仅是语言这么简单了,Java平台涉及的,包括但不仅限于下面提到的这些内容: Java语言本身 ...

  8. Python的循环导入问题

    循环导入的最好的解决方法是从架构上优化,即调整模块和模块成员变量的设计.一个好的原则是:可导出的成员变量,都不应该依赖于导入进来的成员变量. 但是在业务开发的过程中,总会遇到通过架构层面解决不了的导入 ...

  9. 以太坊: ETH 发送交易 sendRawTransaction 方法数据的签名 和 验证过程

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  10. web.py框架之i18n支持

    问题: 在web.py的模板文件中, 如何得到i18n的支持? Solution: 项目目录结构: proj/ |- code.py |- i18n/ |- messages.po |- en_US/ ...