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. vue中"‘webpack-dev-server’不是内部或外部命令,也不是可运行的程序"的报错

    在vue项目中发现了这个报错  解决办法将项目里的“node_modules”文件夹删除,然后重新运行cnpm install

  2. 解决使用MUI时mui-slider-item高度不一致的自适应问题

    今天在写一个MUI项目的时候,发现使用slider时,最高的mui-slider-item会把mui-slider-group撑开,而其他的mui-slider-item下面会出现很大的空白. 百度了 ...

  3. Scala 多继承顺序

    Trait多继承顺序: 准则: 如果有超类,则先调用超类的函数. 如果混入的trait有父trait,它会按照继承层次先调用父trait的构造函数. 如果有多个父trait,则按顺序从左到右执行. 所 ...

  4. 线程、进程概念与Android系统组件的关系

    Android系统是Google公司基于Linux内核开发的开源手机操作系统.通过利用 Linux 内核的优势,Android 系统使用了大量操作系统服务,包括进程管理.内存管理.网络堆栈.驱动程序. ...

  5. 从零开始的 phpstorm+wamp 组合下的debug环境搭建(纯小白向)

    本文主要是为了帮自己记住每次重装系统后需要干点啥,如果能帮到你,烦请给个好评 环境说明: 1. windows10 64bit 2. wampservers 3.0.6(x86) apache2.4. ...

  6. 微人事 star 数超 10k,如何打造一个 star 数超 10k 的开源项目

    看了下,微人事(https://github.com/lenve/vhr)项目 star 数超 10k 啦,松哥第一个 star 数过万的开源项目就这样诞生了. 两年前差不多就是现在这个时候,松哥所在 ...

  7. python编程基础之二十

    字符串的其他常用方法: ord(char)  # 返回char字符对应的码值,可以是中文字符 chr(x)  # 输入一个unicode码,返回对应的字符 eval(str)  # 将str 中的内容 ...

  8. 利用Helm简化Kubernetes应用部署(2)

    目录 定义Charts  使用Helm部署Demo  Helm常用操作命令  定义Charts 回到之前的“charts”目录,我们依次进行解读并进行简单的修改. Chart.yaml 配置示例: a ...

  9. VM虚拟机启动夜神模拟器卡99%解决办法

    VM虚拟机启动夜神模拟器卡99%解决办法 本人出现的情况: 物理机装的是win7系统,安装了vmware14(安装过程未出现报错),在vmware14 上 win10系统(安装过程未出现报错),安装夜 ...

  10. 因果推理的春天-实用HTE(Heterogeneous Treatment Effects)论文github收藏

    一直以来机器学习希望解决的一个问题就是'what if',也就是决策指导: 如果我给用户发优惠券用户会留下来么? 如果患者服了这个药血压会降低么? 如果APP增加这个功能会增加用户的使用时长么? 如果 ...