Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 与 SVN 区别点:

  • 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。

  • 2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

  • 3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。

  • 4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

  • 5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

Git 完整命令手册地址:http://git-scm.com/docs

PDF 版命令手册:github-git-cheat-sheet.pdf

一、前往官网下载安装Git

  https://git-scm.com/

二、配置Git

  初次运行Git前需要进行配置,配置工作只需一次,以后会沿用现在的配置,如果需要修改用相同的命令修改已有配置即可。

  Git是分布式版本控制系统,所以每个设备需要自报家门:名字和Email地址。

  这两条配置很重要,每次Git提交都会引用这两条信息,随更新内容永久纳入历史记录。

  打开终端或桌面Git Bash应用,输入如下命令进行如下配置:

  1. git config --global user.name '用户名称'
  2. git config --global user.email '登录邮箱'

  

三、创建版本库(用来保存我们项目中所有的文件)

  1.在合适的位置创建一个空文件夹(这里我在桌面创建一个test文件夹,也就是工作区)

  2.在命令行工具中进入该文件夹,执行 git init 命令

  文件夹内生成一个隐藏文件.git,未设置显示的话看不见该文件,这个.git就是我们的本地仓库。

  后续如果需要提交文件至本地仓库,也需要文件在工作区内(也就是这里创建的test文件夹内)

四、添加文件至暂存区

  如果想将工作区的文件提交至Git仓库,需要执行 git add 文件夹名(例如git add index.tet),将文件提交至暂存区。

  如果没有任何提示说明则说明添加成功,该命令可多次执行,用于添加多个文件至暂存区。

 五、提交文件至仓库

  添加至暂存区完成后,执行 git commit -m "提交说明信息" 将暂存区所有文件提交至仓库。

六、查看工作区文件状态

  git status 命令用来查看工作区文件状态。

  当所有文件已提交时:

  “nothing to commit”指没有文件提交。

  当我们修改工作区index.txt文件,在里面写个“hello world”时再执行git status命令:

  “changes not staged for commit”指有修改未提交。

  git commit –am “本次提交描述” git commit –a –m“本次提交描述” 命令是指已经经历过git add 的文件无需再次执行 git add 命令,而直接将文件提交至Git。

七、查看当前文件修改内容

  git diff 文件名,查看文件修改内容

  

八、文件的删除和恢复

  1.工作区的文件删除后的恢复

  (可执行git status查看被删除文件),执行 git checkout --文件名 从仓库中恢复,如果工作区该删除文件内容作出过改动,恢复的文件也只是文件之前提交时的状态,如果暂存区有该文件则恢复的是暂存区该文件,否则从Git恢复该文件。

  2.如果需要删除仓库某文件,可以在工作区删除该文件后执行git add和commit命令重新提交

  3.Git每一次提交修改都是一个新的版本,如果Git文件误删就需要版本回退,回退可能引起更多的问题存在,所以删除文件需要谨慎操作。

    回退参考:https://www.cnblogs.com/revel171226/p/11360844.html

    git log 命令可以查看各个历史版本记录。

    

    回退到上一个版本:git reset --hard HEAD~1,数字代表回退的版本数,版本太多时可以执行git reset --hard commit id(例如git reset --hard 474a919c22232707d50c8f11d89981be9c08ceb6)

    commit id在执行git log命令时会显示:

    

Git本地仓库的使用的更多相关文章

  1. Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法

    Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法 1.git在本地的电脑创建了仓库,要远程同步github的仓库.使用 ...

  2. Git - Git本地仓库与GitHub远程仓库关联

    前言 Git本地仓库与GitHub仓库的关联逻辑如下 创建Key 在本地仓库下,新建Key文件夹,然后打开Key文件夹,单击鼠标右键,选择Git Bash Here. 输入命令:ssh-keygen ...

  3. 创建Git本地仓库

    一.获取Git仓库 安装好Git后即可创建Git本地仓库,开始项目的版本管理.有两种方法取得Git项目仓库:1.在现有项目或目录下导入所有文件到Git中:2.从一个服务器克隆一个现有的Git仓库. 1 ...

  4. Git本地仓库和远程仓库冲突解决

    场景描述: 在本地创建了一个git repo,并且执行了,git init命令,创建了.gitignore文件,或者README.md文件: 在远程创建了一个git repo,创建时也初始化了.git ...

  5. Git本地仓库

    原文:http://www.cnblogs.com/wilber2013/p/4189920.html Git基本概念 在Git中,我们将需要进行版本控制的文件目录叫做一个仓库(repository) ...

  6. git本地仓库与github远程仓库链接协议问题

    前提条件:有github账号,本地安装了git,能上网. 环境:ubuntu14.0.4LTS 首先在你得在github上创建一个仓库new repository,然后再本地创建一个文件夹mkdir ...

  7. Git本地仓库push至GitHub远程仓库每次输入账户密码问题解决(亲测可行)

    在使用git push命令将本地仓库内容推送至GitHub远程仓库的每一次git都要让我们输入GitHub的用户名和密码.这着实让我们心烦.我们会有疑问,我明明设置了公钥呀!怎么还需要输入账户和密码? ...

  8. GitHub创建仓库,并与git本地仓库关联

    登录后头像右上角点击: 起名再create 后 会跳转到下面页面: 先在git上复制执行第一条指令,创建一个readme文档 然后再用第二条初始化仓库 第三步将readme文档添加至暂存区 然后提交一 ...

  9. [git] 本地仓库信息的查询

    本地仓库信息查询操作 1.1  git status 查看当前暂存区状态 git  status 显示当前分支信息: 提交的目的分支信息: git 管理的有修改的文件: 当前仓库未被 git 管理的文 ...

  10. IDEA如何初始化Git本地仓库,并提交到远程仓库

    本文转载自:http://blog.csdn.net/two_people/article/details/77008593 1. 首先在远程仓库上新建一个项目,码云和github都可以,我这里使用的 ...

随机推荐

  1. Django请求过程

  2. JVM性能优化系列-(5) 早期编译优化

    5. 早期编译优化 早起编译优化主要指编译期进行的优化. java的编译期可能指的以下三种: 前端编译器:将.java文件变成.class文件,例如Sun的Javac.Eclipse JDT中的增量式 ...

  3. css实现文字过长显示省略号的方法

    <div class="title">当对象内文本溢出时显示省略标记</div> 这是一个例子,其实我们只需要显示如下长度: css实现网页中文字过长截取. ...

  4. mybatis 通过配置父类数据源连接和关闭数据,进行junit单元测试

    来源:https://blog.csdn.net/Bigbig_lyx/article/details/80646005 解决问题,单元测试没经过单独配置,每个测试方法中要添加配置数据源 一:配置父类 ...

  5. 容器监控工具WeaveScope

    最近一段时间整了一些docker容器,弄了一些基于docker的微服务通信,弄好一套服务系统之后,对于服务的性能,基础数据的监控就显的很重要, 不然就是两眼一抹黑了,要不就是维护成本很高,这些都不符合 ...

  6. 常见CSS3选择器和文本字体样式汇总

    常见的CSS3选择器包含:常用基本.属性.伪类.层级(组合)选择器,具体使用情况建议先阅读css选择器四大类:基本.组合.属性.伪类对于选择器的使用有一个基本了解,选择器的作用在于通过它找到元素,并且 ...

  7. Android Studio 学习笔记(五):WebView 简单说明

    Android中一个用于网页显示的控件,实际上,也可以看做一个功能最小化的浏览器,看起来类似于在微信中打开网页链接的页面.WebView主要用于在app应用中方便地访问远程网页或本地html资源.同时 ...

  8. 「Flink」RocksDB介绍以及Flink对RocksDB的支持

    RocksDB介绍 RocksDB简介 RocksDB是基于C++语言编写的嵌入式KV存储引擎,它不是一个分布式的DB,而是一个高效.高性能.单点的数据库引擎.它是由Facebook基于Google开 ...

  9. 【Java】模拟登录教务网并获取数据

    本文章仅做技术交流演示学习,请勿用于违法操作! 前期准备 首先我们需要到要模拟登录的网页,进行抓包操作. 使用Chrome浏览器打开系统的登录页面,按F12打开开发者工具 切换到Network选项卡 ...

  10. Git操作:绑定上传已存在的仓库到Github

    之前使用github都是创建一个全新的仓库,然后clone下来用,但如果我已经有一个正在使用的仓库,想要绑定上传已存在的仓库到github,怎么做呢?其实在github创建仓库的时候会提示: …or ...