Situaion
在初始化git仓库的时候,没有创建.gitignore
文件来过滤不必要提交的文件,后来却发现某些文件不需要提交,但是这些文件已经被提交了。
这时候创建.gitignore
文件并添加对应规则以忽略这些文件,就会发现,对这些文件的修改仍然会被 track到,即忽略ignore的规则对那些已经被track的文件无效。
其实.gitignore
文件只会忽略那些没有被跟踪的文件,也就是说ignore规则只对那些在规则建立之后被新创建的新文件生效。
因此推荐: 初始化git项目时就创建.gitignore
文件。
Solution
删除track的文件 (已经commit的文件)
git rm 要忽略的文件
git commit -a -m "删除不需要的文件"
在.gitignore
文件中添加忽略规则
- 在
.gitignore
文件中添加ignore条目, 如:some/path/some-file.ext
- 提交
.gitignore
文件:git commit -a -m "添加ignore规则"
推送到远程仓库是ignore规则对于其他开发者也能生效: git push [remote]
Reference
FEATURED TAGS
algorithm
algorithmproblem
architecturalpattern
architecture
aws
c#
cachesystem
codis
compile
concurrentcontrol
database
dataformat
datastructure
debug
design
designpattern
distributedsystem
django
docker
domain
engineering
freebsd
git
golang
grafana
hackintosh
hadoop
hardware
hexo
http
hugo
ios
iot
java
javaee
javascript
kafka
kubernetes
linux
linuxcommand
linuxio
lock
macos
markdown
microservices
mysql
nas
network
networkprogramming
nginx
node.js
npm
oop
openwrt
operatingsystem
padavan
performance
programming
prometheus
protobuf
python
redis
router
security
shell
software testing
spring
sql
systemdesign
truenas
ubuntu
vmware
vpn
windows
wmware
wordpress
xml
zookeeper