最近想着需要把工作中做一个备份,除了本地保存之外,上传到码云是个不错的选择,除了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. mui 滑块开关 进度条 以及如何获取值

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  2. Python学习之旅(二十三)

    Python基础知识(22):进程和线程(Ⅰ) 1.多进程 (1)fork Python的os模块封装了常见的系统调用,其中就包括fork,可以在Python程序中轻松创建子进程 fork可以在Mac ...

  3. Linux下一台服务器Redis主从复制(master-slave)配置

    主从概念 ⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构 master用来写数据,slave用来读数据,经统计:网站的读写比率 ...

  4. Linux内核态用户态相关知识 & 相互通信

    http://www.cnblogs.com/bakari/p/5520860.html 内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境. 系统调用是操作系统的最小功能 ...

  5. Django进阶之查询优化、extra注入SQL及批量创建

    Django查询优化 Django的查询优化用到两个函数——select_related()和prefetch_related(). select_related()用的是连表join的方式,主要处理 ...

  6. python基础(13)-面向对象

    类 类的定义和使用 # class Person: def __init__(self, name, age, gender): self.name = name self.age = age sel ...

  7. python 容器类型数据 (str list tuple set dict)

    # ###容器类型数据(str list tuple set dict) var1 = "今天心情非常美丽" var2 = [1,2,3,4] var3 = ("黄将用& ...

  8. 8 . IO类-标准IO、文件IO、stringIO

    8.1 IO类 #include <iostream> //标准IO头文件  8.2 文件输入输出流 #include <fstream> //读写文件头文件 std::fst ...

  9. 关于 vue 日期格式的过滤

    最近也在写公司几个单独页面,数据量比较,让前端来做,还不让angular,jquery? no no no~  对于一个前端来说绑数据那么麻烦的一款 “经典的老东西“ ,我才不用, SO~  vue ...

  10. 微信小程序获取用户手机号详解

    最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话 ...