赞
踩
IDEA中的.idea
文件夹是不需要提交到远程仓库的,如果在.gitignore
文件中没有指定忽略.idea
文件夹,已经提交了.idea
,此时在修改.gitignore
文件就没有作用了,因为.gitignore
是用来控制尚未被纳入版本控制的文件,如果文件已经存在于远程库中,自然也就无法生效了
git rm -r --cached "要取消版本控制的文件或文件夹"
将本地的 .idea 文件夹取消版本控制E:\ZHDSPEACE\pujiang-server>git rm -r --cached ".idea"
rm '.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_9_2.xml'
rm '.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_21.xml'
......
git commit
git push
提交修改.gitignore
文件中添加忽略.idea
文件夹,并提交到远程仓库.idea/
此时未将修改的文件git add
丢弃工作区的修改,并用最近一次的commit内容还原到当前工作区,只针对文件内容的修改,添加和删除文件不起作用
//放弃修改某个文件
git restore <filepathname>
git restore .gitignore
//放弃所有修改的文件
git restore .
可能有的同学使用git checkout -- filename
来 恢复工作区的文件,但是我总感觉git checkout
命令既被用来切换分支,又被用来恢复工作区文件,刚开始使用时很是迷惑。
这俩个命令针对文件可以完成相同的操作,所以我使用的是git restore
已经使用git add
这里只是从暂存区撤销了文件,但是文件的修改内容并没有被撤销。
方式一
git restore --stage <filepathname>
git restore --stage .gitignore
git restore --stage "*.txt"
方式二
git reset HEAD <filepathname>
git reset HEAD .gitignore
已经git commit
//回退到上一次commit的状态,丢弃工作区的修改
git reset --hard HEAD^
//撤销commit和add 但是保存工作区修改
git reset --mixed HEAD^
//撤销commit 不撤销add 保留工作区修改
git reset --soft HEAD^
HEAD
表示当前版本
HEAD^
上一个版本
HEAD^^
上上一个版本
HEAD^^^
上上上一个版本
也可以使用 ~数字表示
HEAD~0
表示当前版本
HEAD~1
上一个版本
HEAD^2
上上一个版本
HEAD^3
上上上一个版本
回滚到具体的某个版本
git reset --hard <版本号>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。