1. 安装

  官网地址:https://git-scm.com/downloads

  我这里使用的是git version 2.19.1.windows.1,全程傻瓜式安装,点下一步即可,可以把命令模式和图形界面模式都勾选上。
  

2. Git基本原理

  

3. 本地git使用

(1)创建仓库

  仓库即repository,就是一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的添加,修改和删除,Git都能追踪和还原

  创建文件夹:git_project

  进入git_project文件夹,右键,点击git bash here,输入git init

  

  git_project文件夹下会多了.git文件夹,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了

(2)添加文件  

  创建文件test.py

  

  将test.py添加到git暂存区---->git add test.py

  

  查看git status 提示:No commits yet,即未提交,只有提交后才算真正添加成功

(3)提交文件

  将test.py提交到git仓库---->git commit -m 'add test.py'

  -m后面的字符串为本次操作的说明,自己添加

  

(4)修改文件

  修改test.py文件,查看状态

  

  再次添加和提交

  git add test.py

  git commit -m "modify test file"

(5)查看日志

  git log

  

  可以看到两次日志记录,如果嫌输出的信息太多,眼花缭乱的,可以添加--pretty=oneline

  

  上面看到的一大串a3b865f4576....是comit id(版本号),这个和SVN不一样,commit id是一个SHA1计算出来的一个非常大的数字,用十六进制表示

(6)版本回退和版本选择

  Git必须知道当前版本是哪一个版本,在Git中,用HEAD表示当前版本,上一个版本是HEAD^,上上个版本是HEAD^^,往上100个版本可以写成HEAD~100

  git reset --hard 99a542

  

  果然,又回到了第一个版本

  再看下git log

  

  只有add test.py版本的日志信息,modify test file的commit id 看不到了,那要怎么回退到modify的版本呢?我们可以使用git reflog命令

  

  这样就又回到了modify的版本

(7)撤销修改

  撤销修改有两种情况:

  一是git add前你不知道修改了什么,想还原到修改前的版本

  再次修改文件内容为print("modify test file second"),现在想撤销,这时候如果记得要修改的内容,当然好,可以直接文本操作,但若不知道之前修改的内容了,可以进行如下操作:

  

  git提示可以使用git checkout -- <file>恢复工作区的变化

  

  二是git add后git commit前,你想撤销修改

  

  git提示可以使用git reset HEAD <file>进行恢复

  

  查看下当前状态,发现文件已从存储区恢复到工作区

  

(8) 删除文件

     rm test.py

    git status

  

  git commit -m "delete test.py"

  

  

3. 使用git将项目上传到github

  参考博客:https://www.cnblogs.com/cxk1995/p/5800196.html

Git和Github使用说明的更多相关文章

  1. GitHub 使用说明

    GitHub使用教程 附件是Github 使用说明: GitHub使用说明.pdf 目录 1      注册帐户... 2 2      登录帐户... 2 3      创建仓库... 2 4    ...

  2. git以及gitHub的使用说明书

    一.使用说明 1.Git与github的功能: Git是世界上最先进的分布式版本控制系统,也就是用来记录你的项目代码历史变更信息的工具:github就是用来存储你的代码以及变更信息的云端平台: 2.优 ...

  3. 简单使用Git和Github来管理自己的代码和读书笔记

    原文链接:http://my.oschina.net/bxxfighting/blog/378196   先注册github.com的账号官方网站: https://github.com/ 注册界面, ...

  4. git for windows 的默认工作路径(HOME)的设置以及Git与GitHub之间的SSH加密协议

    1.安装及配置默认路径 Windows中从GitHub上面:https://git-for-windows.github.io/ 下载安装好git后(双击,改一下需要的安装路径,一路确定就好了),安装 ...

  5. git与github安装、配置、pull、push

    操作系统是Ubuntu 16.04 LTS 64bit 1 安装git (1)安装 sudo apt-get install git-core (2)一些全局变量的初始化 在本地建立一个文件夹,然后做 ...

  6. 转:sublime上使用git连接github

    "工欲善其事,必先利其器." 这是古人的教诲,也是一个高效率的工程师需要遵循的法则之一.从大学开始写Java使用了JBuilder,Eclipse,后来写PHP用了Zend,写Ja ...

  7. git与github使用

    Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的关联 六. ...

  8. linux下git以及github的连接与使用

    简单理解 Git 的思想和基本的工作原理,能够更好的进一步和使用Git.在开始学习Git 的时候,最好不要把Git的各种概念和其他的版本控制系统诸如 Subversion 等相比,否则容易混淆每个操作 ...

  9. Git和Github简单教程

    原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...

随机推荐

  1. Android:日常学习笔记(8)———开发微信聊天界面

    Android:日常学习笔记(8)———开发微信聊天界面 只做Nine-Patch图片 Nine-Patch是一种被特殊处理过的PNG图片,能够指定哪些区域可以被拉升,哪些区域不可以.

  2. range开始节点和结束节点

    sc = range.startContainer, so = range.startOffsest ec = range.endContainer, eo=range.endOffset   sta ...

  3. pyhton3 hashlib模块

    hashlib模块提供一下常量属性 hashlib.algorithms_guaranteed 获取保证在所有平台上此模块支持的哈希算法名称的集合 hashlib.algorithms_availab ...

  4. Loadrunder脚本篇——web_custom_request做接口测试

    一.POST + JSON格式参数 例: web_custom_request("create", "URL=http://xxx.xxx.x.xx:1600/ditui ...

  5. 学习小程序第三天 WXML语言特性

    WXML语言特性     1.数据绑定   Musstache 语法 获取json中指定键值:变量名加双括号的绑定语法 如下: (1)绑定文本 注意所有组件和属性 都要小写 (2)绑定属性     ( ...

  6. 系统封装接口层 cmsis_os

    在这个实时操作系统泛滥的年代,有这么一个系统封装接口层还是蛮有必要的.前些时间偶然间在STM32最新的固件库中就发现了这个系统封装接口,当时就把自己所用的系统进行封装.直到最近KEIL5.0发现其中所 ...

  7. 【Flask】Sqlalchemy limit, offset slice操作

    ### limit.offset和切片操作:1. limit:可以限制每次查询的时候只查询几条数据.2. offset:可以限制查找数据的时候过滤掉前面多少条.3. 切片:可以对Query对象使用切片 ...

  8. 【Flask】ORM 关系一对一

    ### 一对一的关系:在sqlalchemy中,如果想要将两个模型映射成一对一的关系,那么应该在父模型中,指定引用的时候,要传递一个`uselist=False`这个参数进去.就是告诉父模型,以后引用 ...

  9. ResourceLoader笔记

    Ant路径匹配 Ant路径通配符支持“?”.“*”.“**”,注意通配符匹配不包括目录分隔符“/”: “?”:匹配一个字符,如“config?.xml”将匹配“config1.xml”: “*”:匹配 ...

  10. requests.post处理Content-Type: multipart/form-data的请求

    前几天遇到一个需求,要调用一个接口发送请求,抓包之后得到的数据是这样的 上网看了一些资料得知,原来这个接口的数据是通过multipart/form-data格式传过去的,multipart/form- ...