zoukankan      html  css  js  c++  java
  • git 陷阱小记

    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详解
  • 相关阅读:
    [CF1439B] Graph Subset Problem
    [CF1439C] Greedy Shopping
    [CF1119F] Niyaz and Small Degrees
    [ARC101C] Ribbons On the Tree
    [CF1446C] Xor Tree
    11月24日 模拟赛 题解
    UOJ346
    [CF1229C] Konrad and Company Evaluation
    [CF1326F] Wise Men (Hard Version)
    学军联赛模拟 第二十七测 题解
  • 原文地址:https://www.cnblogs.com/dengchengchao/p/9056041.html
Copyright © 2011-2022 走看看