1.文件添加陷阱:
1).git 提交命令快捷键: git commit -a -m "",能够跳过git添加文件到暂存目录步骤
2)git add . git commit -m“” 添加所有非忽略文件到暂存目录中,然后添加到缓存目录中
陷阱:有时候会认为这是两个相同的命令,其实并不是,缩减版只会追踪已经在添加了追踪的文件,

对于新建的文件,缩减版会忽略掉,但是git add .能添加新的文件

可能造成的后果:文件丢失
比如在V1.1.0版本中,你在开发的项目的中增加了一个文件:readme.txt。然后使用缩减版命令保存了缓存。
然后在V1.1.1版本中,你修改了readme.txt 你更换了命令,使用了git add .,然后commit到缓存中
后来发现V1.1.1有个大问题,回退到V1.1.0版本中,这个时候,你会发现你的readme.txt 不见了,如果你不记得到readme.txt真正提交到缓存中的时间,你得一个一个的回退回去查找readme.txt
解决办法:经常使用git status,查看三个区域的状态,了解仓库信息。
2.git 忽略文件与被忽略文件消失陷阱
通常我们不想纳入版本控制管理的文件,我们会使用.gitignore进行管理。
陷阱:有时候在这之前我们发现我们想添加的需要忽略的文件在之前已经被add到了缓存中,我们会使用git rm -r --cached . 删除文件在缓存区的index中。这样看起来完全是合乎情理的。
可能造成的后果:文件丢失
复现方法:首先将一个文件添加到git管理中,然后提交到缓存中,然后添加.gitignore文件,在.gitignore文件中添加需要忽略的文件,运行git rm -r --cached . ,然后运行git add .,在添加到git缓存中这个时候,被忽略的文件就会没有git的图标显示了。这个时候配合git reset命令,回退到以前没添加忽略文件的版本中,然后再回退到添加了忽略文件后的版本中,你会发现,被忽略的文件消失了~~~
现象解释:其实知道了怎么怎么复现就大概知道了原因,在运行git rm -r --cached .与git add .后,在git看来,这两个文件突然不见了,git会处理为删除这两个文件。
解决方法:参看 .gitignore详解

git 陷阱小记的更多相关文章

  1. Git使用小记

    刚刚简答的完成了pureblog,想着先上传导Github上去,等着以后有时间了在完善其功能,所以使用Git上传导Github代码仓库上去,这里简答的记录以下使用小计. 我们首先下载Git,我们使用用 ...

  2. git命令小记

    1.git之tag git标签分为轻量级(lightweight)标签和含标注(annotated)标签.轻量级标签一般用于不会改变的分支,含标注的标签包含详细的信息. 轻量级标签: git tag ...

  3. git 学习小记之图形化界面客户端

    习惯了 Windows 的用户,一直不喜欢用类似命令行的东西来操作,当然我也不是不喜欢,只是操作太慢了.也许 Linux 大神在命令行的帮助下,办事效率翻倍,那也是非常常见的事情..当然我不是大神,所 ...

  4. git 学习小记之记住https方式推送密码

    昨天刚刚学了点git基础操作,但是不幸的是Git@OSC给出公告说尽量使用 https 进行操作.可是在用 https 进行 push 时,都需要输入帐号和密码. 各种百度谷歌之后在Git@OSC官网 ...

  5. git 学习小记

    话说 git 出了已经很久了,可是我一直没用过.其实也不是没用过,只不过在 github 上下载东西那根本就不是在用 git,只是单纯的HTTP下载而已.我们公司用的是 svn,所以我只会一点点svn ...

  6. git服务器的建立——Git折腾小记

    转自:http://blog.csdn.net/xsl1990/article/details/25486211 如果你能看到一些sshd相关的进程信息,则说明你已经有这个服务了,否则(或者你想更新的 ...

  7. git stash错误小记

    git出错小记 想要push代码,我们经常这样做. 1.查看状态 git status 2.隐藏本地编辑的新内容 git stash 3.拉远程的代码 git pull 这一步操作有的时候会报错,没有 ...

  8. Git 图解剖析(转)

    git中文件内容并没有真正存储在索引(.git/index)或者提交对象中,而是以blob的形式分别存储在数据库中(.git/objects),并用SHA-1值来校验. 索引文件用识别码列出相关的bl ...

  9. 6种常见的Git错误以及解决的办法

    我们都会犯错误,尤其是在使用像Git这样复杂的东西时.如果你是Git的新手,可以学习如何在命令行上开始使用Git.下面介绍如何解决六个最常见的Git错误. Photo by Pawel Janiak  ...

随机推荐

  1. dedecms5.7最新漏洞修复

    最近发现织梦cms被挂马现象频繁,解决好好几个网站的问题,但是过不了多久,就又被攻击了,即使更改系统及ftp密码,也没有起到防御的作用,最后怀疑cms本身漏洞,于是采用工具扫描了一下,才发现问题的严重 ...

  2. 洛谷:P3950 部落冲突

    原题地址:https://www.luogu.org/problemnew/show/P3950 题目简述 给定一棵树,每次给定一个操作,有如下两种: 将某条边染黑 2.询问给定的u,v两点间是否有边 ...

  3. 快学Scala 第十六课 (shell调用,正则表达式,正则表达式组,stripMargin妙用)

    shell调用:(管道符前加#号,执行shell用!) import sys.process._ "ls -al" #| "grep x" ! 正则表达式:(r ...

  4. 如何决定使用 HashMap 还是 TreeMap?

    问:如何决定使用 HashMap 还是 TreeMap? 介绍 TreeMap<K,V>的Key值是要求实现java.lang.Comparable,所以迭代的时候TreeMap默认是按照 ...

  5. oracle表空间不足:ORA-01653: unable to extend table

    问题背景: oracle表空间不足报错是比较常见的故障,尤其是没有对剩余表空间做定期巡检的系统: 报错代码如下: oracle表空间不足错误代码:ORA-01653: unable to extend ...

  6. 从干将莫邪的故事说起--java比较操作注意要点

    故事背景 <搜神记>: 楚干将.莫邪为楚王作剑,三年乃成.王怒,欲杀之.剑有雌雄.其妻重身当产.夫语妻曰:“吾为王作剑,三年乃成.王怒,往必杀我.汝若生子是男,大,告之曰:‘出户望南山,松 ...

  7. SpringBoot源码分析之---SpringBoot项目启动类SpringApplication浅析

    源码版本说明 本文源码采用版本为SpringBoot 2.1.0BUILD,对应的SpringFramework 5.1.0.RC1 注意:本文只是从整体上梳理流程,不做具体深入分析 SpringBo ...

  8. Cocos2d-x入门之旅[1]场景

    在游戏开发过程中,你可能需要一个主菜单,几个关卡和一个END的界面,如何组织管理这些东西呢? 和其他游戏引擎类似,Cocos也使用了场景(Scene) 这个概念 试想象一部电影或是番剧,你不难发现它是 ...

  9. 【源码解析】自动配置的这些细节不知道,别说你会 springboot

    spring-boot 相对于 spring,很重要的一个特点就是自动配置,使约定大于配置思想成功落地.xxx-spring-boot-starter 一系列引导器能够开箱即用,或者只需要很少的配置( ...

  10. mysql锁表处理语句

    show OPEN TABLES where In_use > 0; -- 查询是否锁表show processlist; -- 查询到相对应的进程===然后killidSELECT * FRO ...