忽略提交文件有两种方式:
第一种没有添加到版本库!
第二种已经添加到版本库,但是现在不想再提交的!
一、文件没有添加到版本库中
ignore all files under:忽略文件夹
ignore all files matching:忽略所有匹配的文件(某一类文件)
根据需要选择需要忽略的文件或者文件夹,直接添加进去就可以忽略提交!
二、文件已经纳入版本库
第一步:按照上图步骤添加一个忽略文件夹
第二步:把不想提交的文件直接拖进该文件夹即可!
提示:如何把忽略的文件提交呐
第一种:可以在Version Control中直接把需要提交的文件拖出来
第二种:分次提交,先提交默认的,然后再提交忽略的文件
在changelist中可以选择是提交默认还是自己设置的忽略文件夹!
这个是在你提交页面发现有自己不想提交的文件,这个时候可以直接点击Move to Another Changelist如果只有当前一个列表idea会提示你新建一个文件夹,如果你已经新建了忽略文件夹,直接点击然后文件忽略了,其实也不能叫忽略,只是把你不提交的文件换了文件夹,而只提交你当前所在的文件夹!仅此而已!!!!!
先来看下如何安装。点击File->Settings
使用:
在项目上右键->New ->.ignore file ->.gitignore file(Git)
先选择Example user template好了,以后有什么想过滤的可以自行添加,~最后点击Generate生成
然后就会发现被忽略的文件名变成了灰色有木有啊!又可以愉快的提交代码了~
也可以右键文件将其加入忽略的名单中
(比如你有很多个add了的文件,但是没有commit,都会使用这种方式都会回到等待add
,但是使用git rm --cached 可以针对某个文件?)
当你用idea把误把一个文件add到git后,想把这个文件去掉(也就是从git管理中去掉,commit时不把这个文件提交)的话,可以用下面的方法:
这方法就等于:git reset head
这个命令就是把本地仓库的文件,替换Stage区里相应的文件(工作区,就是你的文件目录,不受影响)
在网上看到还一个命令,就是: "git rm --cached " 。这个命令会直接从暂存区删除文件,工作区则不做出改变。(还没有测试过)
这么看来"git rm --cached "命令比"git reset head"更适合文章主题,前者是删除掉,后者是替换掉。
日常工作中会遇到 commit 到本地仓库的代码,因为一些原因,需要撤销后在提交到本地,或者需要整合多次 commit,然后 push 到远程仓库。下面是 IDEA 支持的快捷方式。
(和上面第一点的的加入到版本库,忽略提交对比!)
介绍下Reset Head中三种Reset Type类型:
1.Mixed(默认):它回退到某个版本,本地会保留源码,回退commit和index信息,若要提交重新commit。
2.soft: 回退到某个版本,只回退了commit的信息,不会恢复到index file一级,若要提交重新commit。
3.Hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容。
操作如下:
拿ConfigServerApplication类中的fun() 方法来验证,每次提交修改方法中的数据,目前本地仓库的记录是10,远程仓库的记录是8,如下:
现回退到9,记录9的version number:d7c653bdbd25c530aba6ad8c202048487b54a0ab
选择Reset Head:
Reset Type:选择默认的Mixed(相当于第四点:idea 把一个add到git的文件去掉)
To Commit:输入刚才记录的9的version number
点击Reset
commit记录回退到了9,本地记录还是10,这时可重新commit到本地仓库或revert还原到本地仓库的记录。push时只有记录9.
若Reset Type:选择Hard,如下:
本地和commit记录都会回退,点击Reset后如下:
刚新建的文件,还没有add,不想把文件add纳入版本管理:
已经add,想要回到新建状态,不想纳入版本管理,即第一种:
已经commit,想要撤销commit:
这里分想要撤销comiit的提交历史,还有另一种是提交历史和代码也对应撤销:
顺便说一下,如果commit注释写错了,只是想改一下注释,只需要
git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就好了。
2. 提交历史和代码都要回退,选择git reset --hard head~1
(和git reset current branch 回退版本一样!)
参考文章:
https://blog.csdn.net/hotdust/article/details/52994203
https://www.cnblogs.com/gexiaoshan/p/10184815.html
https://blog.csdn.net/w893932747/article/details/80623795
https://www.jb51.net/article/128274.htm
https://jingyan.baidu.com/article/3a2f7c2ef5b2c926afd6111b.html
https://blog.csdn.net/w958796636/article/details/53611133