随笔 - 172  文章 - 0  评论 - 0  阅读 - 11939

Git文件操作

文件4种状态

  版本控制就是对文件的版本控制,要对文件进行修改,提交等操作,首先要知道文件当前在什么状态,

不然可能提交了现在还不想提交的文件,后者要提交的没提交上。

  ··Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add状态变为staged

  ··Unmodify:文件已入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,

如果它被修改,而变为Modified。如果使用git rm移除版本库,则成为Untracked文件

  ··Modified:文件已修改,仅仅是修改,并没有进行其他操作,这个文件也有两个去处,通过git add可以进入暂存staged

状态,使用 git checkout则丢弃修改过,返回到Unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改。

  ··Staged:暂存状态,执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态

执行git resert HEAD filename取消暂存,文件状态为Modified

 

查看文件状态

上面说文件有4中状态,通过如下命令可以查看到文件状态:

查看指定文件状态

git status [filename]

查看所有文件

git status

 以上是进行了一次添加和提交,三次查看文件状态

 

忽略文件

  有些时候我们不想把某些文件纳入版本控制之中,比如数据库文件,临时文件,设计文件等。

在主目录下建立"  .gitignore"文件,此文件有如下规则:

  1.忽略文件中的空行或以井号(#)开始的行

  2.可以使用LInux通配符,例如:星号(*)代表任意多个字符,问好( ? )代表一个字符,放括号

([  ])代表可选字符范围,大括号({  })代表可选字符串等

  3.如果名称的最前面有一个感叹号( ! ),代表例外规则,将不被忽略

  4.如果名称的最前面是一个路径分隔符( / ),表示要忽略的文件在此目录下,而子目录中的文件不忽略

  5.如果名称的最后面是一个路径分隔符( / ),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)

posted on   键盘敲烂的朱  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示