最近想着需要把工作中做一个备份,除了本地保存之外,上传到码云是个不错的选择,除了Git的一些特点外,也可以让别人看到你的代码,共同修改之类的

首先在上传到码云之前,需要学习Git的一些基础教程,包括国外的GitHub也是,需要首先了解Git(分布式版本控制系统)相关

在这里放两个链接:廖雪峰的Git教程以及stormzhang在知乎专栏学习编程里写的从0开始学习GitHub系列之Git速成

本博客适合Windows下的git相关,Linux和Mac版本可以查看我上面放的廖雪峰的Git教程链接

首先下载Git,按照 廖雪峰的Git教程--安装Git完成安装和配置,创建自己的版本仓库

在这里对Git的常见命令做一些说明:

首先需要了解一个概念,Git将文件夹分成三个区,工作区(就是我们电脑工作的区域),缓存区(将文件add到仓库之前的一个缓存区),仓库(相当于Git帮我们存储文件的地方)

1 初始化Git仓库:

我们在安装完Git之后,打开任意一个文件夹的空白位置,单击右键,会出现git Gui here和git Bash here,选择Git Bash here,输入git init即可对本地的Git仓库初始化:

2 向Git仓库添加文件:

输入 git add + 需要上传的文件名以及文件类型即可

新建一个txt文本,命名为readme.txt

内容为:

i am doing something
i want to learn java

没有返回消息,套用Unix的一句话“没有消息就是好消息”,添加成功

3 文件提交

输入 git commit命令,最好在命令后面添加-m + 添加的主要内容:

值得一提的是,由于Git的机制,如果我们在提交之前不将需要提交的项目add到缓存区,则无法commit到版本库里

4 文件修改:

修改完文件之后按照2-3的顺序进行即可

5 查看文件状态

修改原来的文本文件为:

i am doing something
i want to learn java
i am handsome

输入git status命令,返回如下信息,告诉我们代码被修改过了。还没有被提交:

5  查看修改的文件内容

输入git diff + 需要查看的文件名称和文件类型,从下图可以看出,我先是删除了i want to learn java这句话,复原后又添加了i am handsome

6 查看历史记录

输入git log命令,返回修改的次数以及修改的一些摘要(就是我们-m 后面所写的内容)

7 回退命令

假如我觉得自己不够帅,向回退到之前的版本,则输入git reset --hard + 想要回退的版本号,在Git中,使用HEAD表示当前版本,往前一个版本就是HEAD^,依次类推,当前面版本过多的时候,写成HEAD~数字,这时候readme.txt文件倒退回了上一个版本:

i am doing something
i want to learn java

8 再回退到上一个版本:

回退到上一个版本之后,我们输入git log,发现之前我们修改的版本不见了

假如这时候我又觉得自己比较帅了,想恢复怎么办

在第六个命令时,有一个很长的那个commit id,可以根据这个id来再次回退到上一个版本:

输入指令git reset -- hard  + commit id即可

输入cat readme.txt查看,果然,我又帅回来了

如果第二天关机之后忘记了commit,可以输入git reflog命令即可

9 删除/还原文件

当我们想删除文件时,用rm + 想删除的文件名,比如我想删除readme.txt文件

这时候我们查看状态,输入git status命令,可以看到我们删除了readme.txt文件

这个时候有两个选择,因为我们之前将文件提交到了仓库里面,想要删除文件可以使用git rm命令并且git commit提交,这时候就能从从版本库里面将readme.txt文件删除了

或者我们想还原文件,使用git checkout --  readme.txt命令即可,相当于将git仓库区的东西覆盖了工作区的东西,类似于一键还原

熟悉这9个常见命令,我们对Git有了一个大概的了解,可以做一些基本的操作

常见的Git命令的更多相关文章

  1. 常见的git命令和git->github错误

    相关命令 git remote git remote add origin xxx (xxx为仓库链接) 给这个链接取一个名字,为origin git pull git pull <远程主机名& ...

  2. 工作常见的git命令

     Git创建项目仓库: 1.git init 初始化   2.git remote add origin url 关联远程仓库   3.git pull  拉取远程仓库到本地  相当于(git fet ...

  3. 常见的 Git 命令:

    开始一个工作区(参见:git help tutorial) clone 克隆一个仓库到一个新目录 init 创建一个空的 Git 仓库或重新初始化一个已存在的仓库 在当前变更上工作(参见:git he ...

  4. 一天工作所用到的Git命令

    一天工作所用到的Git命令 像大多数新手一样,我一开始是在网上搜索 Git 命令,然后把答案复制粘贴,并没有真正理解它们究竟做了什么. 后来我曾经想过:"如果有一个最常见的 Git 命令的列 ...

  5. Python 命令行之旅:使用 argparse 实现 git 命令

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  6. 使用IDEA模拟git命令使用的常见场景

    目录 使用IDEA模拟git命令使用的常见场景 前期准备 新建一个远程仓库 在一个文件夹内建立两个子文件夹作为两个本地仓库的存放位置 本地仓库与远程仓库建立联系 模拟两个用户协同开发的场景(使用IDE ...

  7. 一些常见的shell命令和git命令

    shell命令: pwd : (Print Working Directory) 查看当前目录 cd (Change Directory) 切换目录,如 cd /etc ./当前目录  ../上级目录 ...

  8. 【转】Github轻松上手4-常用的git命令

    转自:http://blog.sina.com.cn/s/blog_4b55f6860100zzih.html 附上一些git的常见命令: •    git remote add origin git ...

  9. 需要熟记的git命令

    需要熟记的github常用命令 总结一下ubuntu下github常用的命令,设置部分跳过,假设repository的名字叫hello-world: .创建一个新的repository: 先在gith ...

随机推荐

  1. Scrapy框架基本使用

    pycharm+Scrapy 距离上次使用Scrapy已经是大半年前的事情了,赶紧把西瓜皮捡回来.. 简单粗暴上爬取目标: 初始URL:http://quotes.toscrape.com/ 目标:将 ...

  2. vue2.0 源码解读(二)

    小伞最近比较忙,阅读源码的速度越来越慢了 最近和朋友交流的时候,发现他们对于源码的目录结构都不是很清楚 红色圈子内是我们需要关心的地方 compiler  模板编译部分 core 核心实现部分 ent ...

  3. Python学习之旅(二十七)

    Python基础知识(26):常用内建模块(Ⅱ) 1.hashlib Python的hashlib提供了常见的摘要算法,如MD5,SHA1等 摘要算法又称哈希算法.散列算法. (1)它通过一个函数,把 ...

  4. javascript的数组之find()

    find()方法返回数组中第一个满足回调函数测试的第一个元素的值.否则返回undefined const arr1 = [1, 2, 3, 4, 6, 9]; let found = arr1.fin ...

  5. ZBX_NOTSUPPORTED: Cannot obtain filesystem information: [13] Permission denied

    zabbix有默认两条自动发现规则,其中一条是自动发现已挂载文件系统,但笔者的三个挂载文件系统中两个监控成功了,一个失败 agentd端挂载情况: 仔细研究sdb1的挂载点,发现它是挂载在xiami用 ...

  6. spring-boot 速成(2) devtools之热部署及LiveReload

    JRebel热部署插件相信很多人都知道,但是这是一款商业插件,spring-boot框架也提供了类似的功能,即:devtools,关键是免费的! 使用方法如下: 一.添加 devtools依赖 dep ...

  7. gitlab的ssh key有2个

    Gitlab添加SSH key可以pull不能push的问题 最后解决的是 使用http去clone pull  提交 没用ssh.就是需要输入密码

  8. 基于容器与微服务架构的Web应用示例eShopOnContainers

    简介 微软官方提供了一个基于Docker和微服务的示例应用eShopOnContainers:它使用了面向服务的架构并且从服务端到客户端都是跨平台的:该架构使用通过http作为客户端与服务端直接的通信 ...

  9. st2_057

    http://vulapps.evalbug.com/s_struts2_s2-057/ 这大概是全网复现st2-057环境最简单的操作了. 不过首先,你需要安装过docker,安装方法参考官方文档h ...

  10. CentOS 7 配置Tomcat9连接MySQL

    配置Tomcat 首先安装Tomcat 安装Tomcat分为安装Tomcat和安装JDK两个步骤 JDK( Java Development Kit ) 是Sun Microsystems针对Java ...