一、安装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. Linux命令行增强版

    0. 前言 周末大早上的,没事做,了解下这几个命令了,哎~~~. 正常情况下,Linux下的命令行,界面比较丑,命令行命令有时候也不是很友好,下面就通过这几个命令或工具,美化一下命令行. 1. oh- ...

  2. 【Java基础】Java注解简单入门

    注解简单来说就是配置,是特别的配置,之前常用的配置文件,可以用注解替换.然后通过反射去获取注解的信息. 如何定义一个注解 你在IDE中新建一个注解定义,是这样的结构的: package com.nic ...

  3. [HDFS Manual] CH3 HDFS Commands Guide

    HDFS Commands Guide HDFS Commands Guide 3.1概述 3.2 用户命令 3.2.1 classpath 3.2.2 dfs 3.2.3 envvars 3.2.4 ...

  4. 基于expressjs老项目的翻新方案

    刚开始接触这方面的项目时,对ES规范理解不深,查了一些资料,发现如果不改expressjs的代码,大概率是没法用到最新的async/await了,后续也就没有继续往这个方面想. 这两天突然想起这个问题 ...

  5. MOD(motion Object Detection)介绍

    Motion Detection or Moving Object Detection 称之为运动侦测,移动侦测,移动检测 MOD全称为Moving Object Detection,中文“移动物体检 ...

  6. 【RPC】手撸一个简单的RPC框架实现

      涉及技术   序列化.Socket通信.Java动态代理技术,反射机制   角色   1.服务提供者:运行在服务端,是真实的服务实现类   2.服务发布监听者:运行在RPC服务端,1将服务端提供的 ...

  7. 转载:margin外边距合并问题以及解决方式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 【腾讯云的1001种玩法】几种在腾讯云建立WordPress的方法(Linux)(二)

    版权声明:本文由张宁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/126547001488207964 来源:腾云阁 ht ...

  9. js---设置cookie的方法

    在客户端进行一些操作的时候,很多时候会要用到设置cookie的方法.具体的做法: <script type="text/javascript"> var documen ...

  10. Centos6.8 安装spark-2.3.1 以及 scala-2.12.2

    一.Spark概述    Spark 是一个用来实现快速而通用的集群计算的平台. 在速度方面,Spark 扩展了广泛使用的 MapReduce 计算模型,而且高效地支持更多计算模式,包括交互式查询和流 ...