本文介绍从远程存储库中删除.gitignore中的git文件/目录,适用于各Linux平台。编辑.gitignore文件时,添加的规则仅适用于未跟踪的文件,对于已经提交到远程git存储库的文件,你需要取消它们,创建新的提交并推送到远程git存储库。
我在我的本地git存储库中有一个名为backup的目录,其中包含两个文件,下面是.gitignore文件,我已修改该文件以忽略此目录中的文件。
$ cat .gitignore
.Trash-*
.vim/
.mutt/cache/
backup/
第1步:取消暂存文件/目录
使用git rm -r --cached命令标记文件以进行取消暂存:
$ git rm -r --cached backup/
rm 'backup/backup.sh'
rm 'backup/rsync_exclude.lst'
将buckup/替换为你的目录或文件。
第2步:进行新的提交
将新的提交对象/更改保存到本地Git存储库:
$ git commit -m 'Remove newly ignored directory "./backup"'
master d631061] Remove newly ignored directory "./backup"
2 files changed, 14 deletions(-)
delete mode 100644 backup/backup.sh
delete mode 100644 backup/rsync_exclude.lst
第3步:将更改推送到远程git存储库
上一个命令将更改保存到本地git存储库,使用以下命令将它们推送到远程存储库:
$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 261 bytes | 261.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:jmutai/dotfiles.git
7a80a6d..d631061 master -> master
就是这么简单,在将目录/文件添加到.gitignore文件后,你已经成功从远程存储库中删除了目录/文件了。
相关主题