1.检查当前文件状态 --  git status  git diff  git diff --staged   git status :我们可以使用 git status 来查看文件所处的状态.当运行 git status 之后,出现类似下面输出: $ git status On branch master nothing to commit, working directory clean 说明,现在的工作目录非常干净,换句话说,所有的已跟踪文件在上次提交之后都未被修改过.  如果你想要知道…
工作区和暂存区 984次阅读 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区: 版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的…
本文主要来介绍一下 Git 的内部状态管理系统.它利用基于节点和指针的数据结构来跟踪及管理编辑操作的时间线. 对本地项目而言,任一时刻,Git 处于三种状态中的一种:工作区状态.暂存区状态和提交区状态. 下面利用新建项目来演示一下不同状态及其转换. 1. Initialize the project $ mkdir git_tree_test && cd git_tree_test $ git init 提示:使用 'master' 作为初始分支的名称.这个默认分支名称可能会更改.要在新仓…
1.查看提交历史 --  git log  使用 git log 可以查看到所有的提交(commit)历史. 1. $ git log 列出所有commit,最新的commit在最上面.会显示每个提交的作者,提交信息等. 2. $ git log -p -  显示最近的两次提交每个文件修改了哪些地方.-p用来显示每次提交修改了哪些地方.-2用于指定只显示最近的两次提交. 3. $ git log --stat --stat 显示每次提交简略的统计信息.具体包括:在每次提交的下面列出所有被修改过的…
今天修改公司项目文件的时候,发现被修改的文件的始终不显示已经被修改. 本来是想要把 KWh 改成 kWh,然后执行 git status 后,没有文件修改记录: 开始分析究竟是因为什么导致的这样诡异的结果: 1. 大小写不敏感? 第一反应是文件对于大小写不敏感了,想到配置 git config. 查询到有这样一条指令 git config ignorecase false 如此指令就是大小写敏感. 依照设置以后,再次执行  git status ,仍然没有文件修改 modified 的提示. 后…
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version control system. Git is free software. 现在,运行git status命令看看结果: $ git status On branch master Changes not staged for commit: (use "git add <file>...…
查看提交历史 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源代码: git clone git://github.com/schacon/simplegit-progit.git 然后在此项目中运行 git log,应该会看到下面的输出: $ git log commit ca82a6dff817ec66f44342007202690a93763949 Au…
版本管理在产品级开发中是非常重要的一个部分,它涉及到团队协作,且影响到产品最终的发布.上线以及测试环节,当前最流行的版本控制系统是 git.git 内容非常多,本文尽量克制地来介绍 git 的基础内容 概述 版本控制系统的作用 版本控制系统(Version Control System)是一种记录若干文件修订记录的系统,它有以下三个作用: 1.从当前版本回退到任意版本 2.查看历史版本 3.对比两个版本差异 git 优势 1.速度快 2.设计简单 3.轻量级的分支操作,允许上千个并行开发的分支,…
SYJ@WIN-95I6OG3AT1N /D/gitlab/ihr-kafka-produce (master) $ git status [由于工作区文件被修改了,所以显示为红色] On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be com…
基础 目录: working driectory  工作目录,就是我们的工作目录,其中包括未跟踪文件及暂存区和仓库目录. staging area   暂存区,不对应一个具体目录,其实只是git directory中的一个特殊文件. git directory          仓库目录,就是.git目录,里面保存了所有的版本信息等内容. 文件状态: untracked 未跟踪  : 只有处于已跟踪状态的文件才被纳入GIT的版本控制. modified 已修改:已修改表示修改了文件,但还没保存到…
目录 1.删除文件说明 2.删除文件操作 (1)仅删除暂存区的文件 (2)完全删除文件 3.本文用到的命令总结 1.删除文件说明 在Git工作目录中要删除某个文件,首先要清楚该文件所处的状态. 若要是该文件未被Git管理,在工作区直接进行删除即可.(不演示) 但是,若该文件已经经过多次git add与git commit操作后,就必须要从已跟踪文件清单中删除(确切地说,是在暂存区中删除),然后提交. 可以用git rm命令完成此项工作,并连带从工作目录中删除指定的文件,这样文件之后就不会出现在未…
在上一篇简单讲述了文件状态与工作区域,在这里结合相关git命令详细了解文件的状态变更. 目录 1. 介绍 2. 常用命令 3. 实际操作 1. 介绍 git的文件状态是其git核心内容,了解后对后续的操作有莫大的帮助,不同的文件状态又存储在不同的工作区域中. 下面简单的说明这两者: 1.1 文件状态 git中的文件有以下几种状态: 未跟踪(untrack):表示文件为新增加的. 已修改(modified):表示修改了文件,但还没保存到git仓库中. 已暂存(staged):表示对一个已修改文件的…
1.仓库的获取 Git仓库的获取有两种方式: 1.从现有目录或者是项目中导入所有文件到Git中. 2.从一个服务器clone一个现有的Git仓库. 如果使用第一种方式,只需要在你希望被Git进行管理的项目的根目录下面运行以下Git命令: $ git init $ git add . $ git add README.md $ git commit -m "Initial project version" git init : 初始化Git仓库. 该命令会在你当前所在的目录创建一个.gi…
查看 Git 区域文件的具体改动 git diff git status 只能让我们知道文件在 Git 区域内的改动状态,但如果我们想查看某个文件内具体改了什么(也可以理解为在不同 Git 区域中的差异),此时需要用 git diff 命令. 对于 b 文件,由于是新增的文件,其只存在于工作区,且处于 Untracked 状态,Git 认为无论是哪两个 Git 区域之间的比对都没有意义,得到的结果是没有区别. 而对于 a文件,由于已经被提交到仓库了,处于 Git 管理中,所以这个文件同时存在于三…
前言 其实文件状态根据不同场景有不同的描述,例如:已跟踪.未跟踪.已暂存.已修改.未修改等等,乱七八糟的,今天个人根据自己的使用经验对其进行分类,如有不同建议或者更好的想法也可以留言评论,万分感谢! 根据文件内容状态 被git管理的工作目录中的文件无非两种状态:已跟踪或者未跟踪.已跟踪的文件是指那些被git管理的文件,在上一次快照中有他们的记录.已跟踪的文件可的状态能是未修改的.已修改的或者已暂存的.工作目录中除了已跟踪的文件,其余全是未跟踪的文件.初次克隆某个仓库的时候,工作目录中所有文件都是…
eclipse里面Git文件状态及图标展示   EGit会出现如下图标,其对应状态及意义如下:      1)忽略[ ignored ]:仓库认为该文件不存在(如bin目录,不需要关注).通过右键Team => Ignore 添加忽略文件 2)未跟踪[ untracked ]:仓库未跟踪,通常是新建的文件,要接入版本管理可以通过“Add to Index”或直接“Commit”操作. 3)已跟踪[ tracked ]:文件已被仓库记录. 4)已添加[ added ]:untracked 状态的文…
目录 1.用学过的命令进行文件重命名 2.使用git mv命令进行文件重命名 我们这篇文章来说说在Git中如何进行文件重命名. 提示一下,下面所说明的是对已经被Git管理的文件进行重命名,未被Git追踪的文件,直接修改文件名称就可以了. 1.用学过的命令进行文件重命名 (1)准备一个需要修改文件名的文件. # 1.准备一个干净的Git仓库 L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master) $ git status On b…
本文主要讨论和撤销有关的 git 操作.目的是让读者在遇到关于撤销问题时能够方便迅速对照执行解决问题,而不用去翻阅参数繁多的 git 使用说明. 一开始你只需了解大致功能即可,不必记住所有命令和具体参数.事实上,如果没有经过反复多次的操作,这些没血没肉的命令是很难被全部记清楚的,就算现在记住了,也会很快遗忘(天赋异禀,过目不忘者除外).建议读者在遇到特定问题时对照场景操作,多用几次自然就记住了. 首先,我们再看看上一篇文章中的这张图: git 命令和文件状态转换 这张图能让你一目了然的看到各种命…
目录 1.忽略文件常遇到的问题 2.忽略文件配置优先级 3.忽略已跟踪文件的改动(本机使用) 4.autocrlf和safecrlf参数说明 (1)提出问题 (2)autocrlf说明 (3)safecrlf说明 1.忽略文件常遇到的问题 有些时候,你想添加一个文件到Git,但发现添加不了,原因可能是这个文件被.gitignore忽略了: $ git add App.class The following paths are ignored by one of your .gitignore f…
1 直接删除文件 这个文件会有两个操作:已暂存的修改.未暂存的删除 2 直接删除文件 + 记录删除操作 先在工作目录中删除文件,再使用git rm命令记录此次移除文件的操作(删除暂存区中该文件的修改快照,并替换为删除快照). 3 取消暂存 + 删除文件 + 添加暂存…
关于版本控制 git是一种分布版本控制系统,每一主机都保存了完整副本.必杀技是分支. 在Windows可安装git客户端msysgit. git基础 第一次看progit觉得有点不懂,不懂版本控制,一条条命令写的觉得很麻烦没头绪.这次在看了向导guides.github.com之后,文章避免了一些细枝末节的命令,而是介绍工作流程,懂了一点工作大概流程再开始使用命令比较合适. 三种状态 工作目录.暂存区域.git目录 工作目录就是你打开文件夹看到可见目录.暂存区域含有添加(add)之后的文件.gi…
第二章 Git基础 Git基础包括:版本库的创建和获取,文件添加修改提交等基本操作,状态查询,远程版本库管理和同步,打标签. 1.取得项目的Git版本库 基于Git的工作流要以Git版本库为基础,即可以直接创建一个新的本地版本库,也可以将一个已有的远程版本库克隆到本地. (1)创建新的本地版本库 在一个目录中执行git init命令,会在该目录中建立.git的目录,里面存放了Git需要的所有数据和资源,自然包括一个空的本地版本库. git init 然后就是向这个本地版本库中存放版本数据了.先使…
Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某些更 新.我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件:如何既快且容易地撤消犯下的小错误:如何浏览项目的更新历史,查看某两次更新之间的差异:以及如何从远程仓库 拉数据下来或者推数据上去. 2.1  取得项目的 Git 仓库 有两种取得 Gi…
一.Git 基础图解 转自:http://www.cnblogs.com/yaozhongxiao/p/3811130.html Git 图解剖析 git中文件内容并没有真正存储在索引(.git/index)或者提交对象中,而是以blob的形式分别存储在数据库中(.git/objects),并用SHA-1值来校验. 索引文件用识别码列出相关的blob文件以及别的数据.对于提交来说,以树(tree)的形式存储,同样用对于的哈希值识别.树对应着工作目录中的文件夹,树中包含的 树或者blob对象对应着…
Git 基础 读完本章你就能上手使用 Git 了(伯乐在线注:如果你对Git还不了解,建议从本Git系列第一篇文章开始阅读).本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某些更 新.我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件:如何既快且容易地撤消犯下的小错误:如何浏览项目的更新历史,查看某两次更新之间的差异:以及如何从远程仓库 拉数…
参考: SourceTree使用 git教程 廖学风git  文档1 文档2 1. git 概念介绍 工作区: 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区,工作区下面有.git目录 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区, 还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD. git 文件的4中状态:…
1.Git 简史 自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标.它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统. 2.Git 基础 1)直接记录快照,而非差异比较 Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于 Git 对待数据的方法.概念上来区分,其它大部分系统以文件变更列表的方式存储信息.这类系统(CVS.Subversion.Perforce.Bazaar 等等)将它们保存的信息看作…
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git 本地仓库 远端无仓库,本地无仓库,本地新建一个仓库 git init git_learning 远端有仓库,本地无仓库,拉取远端仓库到本地 git clone git@github.com:Michael728/michael-git.git cd michael-git # 提交一个 readm…
Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某些更新.我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件:如何既快且容易地撤消犯下的小错误:如何浏览项目的更新历史,查看某两次更新之间的差异:以及如何从远程仓库拉数据下来或者推数据上去. 取得项目的 Git 仓库 有两种取得 Git 项目仓库的…
1.GIT基础    GIT是一个分布式版本管理系统,速度快,适合大规模,跨地区多人协同开.SVN是一个集中式版本管理系统. (1)GIT生态 GIT分布式版本管理系统 Gitlab git私库解决方案 Github git公有库解决方案  (2)Git安装 Centos: yum install -y git Ubuntu: apt-get install git Windows安装git bash Linux编译安装 注意不要使用git 1.8以下版本,推荐使用2.7版本 ①编译安装git[…