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
algorithm-problem
architectural-pattern
architecture
aws
c#
cache-system
codis
concurrent-control
data-format
data-structure
database
debug
design
design-pattern
distributed-system
django
docker
engineering
engingeering
freebsd
git
golang
grafana
hackintosh
hardware
hexo
http
hugo
ios
iot
java
java-ee
javascript
kafka
kubernetes
linux
lock
macos
markdown
microservices
mysql
nas
network
network-programming
nginx
node.js
npm
oop
openwrt
operating-system
operating-systems
padavan
performance
programming
prometheus
protobuf
python
redis
router
security
shell
software-testing
spring
sql
truenas
ubuntu
vmware
vpn
windows
wmware
wordpress
zookeeper