作为程序员一定要保持良好的睡眠,才能好编程

如何在Git中忽略某些文件

发布时间:2018-01-04

 项目中经常会生成一些Git系统不需要追踪(track)的文件。典型的是在编译生成过程中 产生的文件或是编程器生成的临时备份文件。当然,你不追踪(track)这些文件,可以 平时不用"git add"去把它们加到索引中。 但是这样会很快变成一件烦人的事,你发现 项目中到处有未追踪(untracked)的文件; 这样也使"git
 add ." 和"git commit -a" 变得实际上没有用处,同时"git
 status"命令的输出也会有它们。

你可以在你的顶层工作目录中添加一个叫".gitignore"的文件,来告诉Git系统要忽略 掉哪些文件,下面是文件内容的示例:

如果是linux 可以使用touch .gitignore

window:


---start


# 以'#' 开始的行,被视为注释.
# 忽略掉所有文件名是 foo.txt 的文件.
foo.txt
# 忽略所有生成的 html 文件,
*.html
# foo.html是手工维护的,所以例外.
!foo.html
#  忽略所有.o 和 .a文件.
*.[oa]


##############################

## 忽略文件夹                                      ##

##############################

#忽略 data下所有目录

data/


#忽略build文件夹build

build





---end



直接用 git add .gitignore 和 git commit等命令 进行提交 ), 这样项目里的其它开发者也能共享同一套忽略 文件规则。



git 删除已经 add 的文件

使用 git rm 命令即可,有两种选择,

一种是 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除;



一般新建立的.gitignore 是不生效的,需要进行删除 然后再次添加。

git  rm -r --cached .          切记“点”的存在    删除所有已经添加的文件


-r 是递归删除


git add .


git commit -m "添加.gitignore "




如果.gitignore忽略规则创建于文件提交代码库之后,则.gitignore规则不会影响目前所提交的文件(不会自动把文件从服务器端删除掉)。你需要手动删除,用如下的方式:

git rm --cached <FILENAME>

<FILENAME>即你要移除的文件全名。


一种是 git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)。



3.1查看本地代码状态

命令:git status

状态:

1.已暂存 (changes to be committed)

所列的内容是在Index中的内容,commit之后进入Git Directory

 

new file //表示新建文件

modified //表示修改文件

deleted //表示删除文件

 



2.已修改 (changed but not updated)

  所列的内容是在Working Directory中的内容,add之后将进入Index。

 

modified //表示修改文件

deleted //表示删除文件

 3.未跟踪 (untracked files)

所列的内容是尚未被Git跟踪的内容,add之后进入Index

 
3.2将文件添加至Index暂存

git add命令主要用于把我们要提交的文件的信息添加到索引库中。当我们使用git commit时,git将依据索引库中的内容来进行文件的提交。

git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包 括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂 存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)

git add -A :是上面两个功能的合集(git add --all的缩写)
3.3提交已暂存的文件

1. git commit -m "备注说明"

这个命令表示添加备注

2. git push -u origin master:master

提交到Git仓库。这里master为我自己的分支的名称,实际应用中,你要改成自己的分支的名称