最近想着需要把工作中做一个备份,除了本地保存之外,上传到码云是个不错的选择,除了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. eclipse连接mysql数据库实现怎删改查操作实例(附带源码)

    package model; public class User { private int id; private String name; private String password; pub ...

  2. ORACLE导入梗

    1.Oracle版数据库的安装及初始化 1.1安装oracle数据库(10g或11g) 1.2以用户system账号登陆oralcle数据库的sqlplus,执行以下语句 1.3创建表空间语句: cr ...

  3. ubuntu14.04 LTS 更新国内网易163源

    2015/10/7 更改ubuntu的默认源是linux学习中必须掌握的基础技能.在此记录,以作参考. 在ubuntu14.04 LTS默认使用的是国外源,由于网络的原因,使用apt-get安装包时异 ...

  4. HTML经典模板总结(地址)

    HTML经典模板总结 地址:http://download.csdn.net/tag/html%E6%A8%A1%E6%9D%BF?from=singlemessage

  5. AngularJS实现可伸缩的页面切换

    AngularJS实现可伸缩的页面切换 AngularJS 1.2 通过引入基于纯CSS class的切换和动画,在一个单页面应用创建页面到页面的切换变得更加的容易.只需要使用一个ng-view,让我 ...

  6. odoo二次开发 tips

    1.model属性 每个对象(即class)一般由字段(变量)和函数组成,每个对象对应着数据库中的一张表,驼峰命名方式 models.Model 基础模块,会根据字段和模型名在后台数据库生成对应得表文 ...

  7. Docker入门3------手动编辑自定义镜像

    手动编辑自定义镜像 查看本地现有镜像: 基于centos创建一个,会自动下载centos最新原始镜像 docker run -it --name=web centos /bin/bash 然后在容器内 ...

  8. 智能门锁测试程序和PCB板线路通断检测程序经验总结

    这次去WZ出差,还是很累的,之前一年多没有搞嵌入式了,更重要的是之前没有接触太深刻GPIO的用法等等原因,导致很心累. 必须掌握的技能: (1)SPI和IIC总线,模拟和专用外设两种方式,他们的重要性 ...

  9. 16.2-uC/OS-III同步 (事件标志组)

    事件标志组 1.当任务要与多个事件同步时可以使用事件标志.若其中的任意一个事件发生时任务被就绪, 叫做逻辑或(OR).若所有的事件都发生时任务被就绪,叫做逻辑与( AND). 2.用户可以创建任意个事 ...

  10. 关于${pageContext.request.contextPath}的理解 (转载)

    ${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> . 也就是取出部署的应用程 ...