如何从存储库中删除“file1.txt”?
当前回答
更一般地,git help至少可以帮助解决以下简单问题:
zhasper@berens:/media/Kindle/documents$ git help
usage: git [--version] [--exec-path[=GIT_EXEC_PATH]] [--html-path] [-p|--paginate|--no-pager] [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE] [--help] COMMAND [ARGS]
The most commonly used git commands are:
add Add file contents to the index
:
rm Remove files from the working tree and from the index
其他回答
在我的案例中,我尝试在几次提交后删除github上的文件,但保存在计算机上
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch file_name_with_path' HEAD
git push --force -u origin master
后来这个文件被忽略了
如果您想使用rm命令从本地文件夹中删除文件,然后将更改推送到远程服务器,则可以使用另一种方法。
rm file1.txt
git commit -a -m "Deleting files"
git push origin master
首先,从本地存储库中删除文件。git rm-r文件名或者,只从本地存储库中删除文件,而从文件系统中删除文件git rm—缓存的文件名其次,将更改提交到本地存储库。gitcommit-m“不需要的文件或一些内联注释”最后,将本地更改更新/推送到远程存储库。数字推送
只需打开github存储库中的文件,就可以看到Raw|Blame旁边的删除图标,不要忘记单击提交更改按钮。您可以看到您的文件已被删除。
2022年有效的新答案。
请勿使用:
git filter-branch
推送后,此命令可能不会更改远程回购。如果您在使用它之后进行克隆,您将看到没有任何变化,回购仍然具有较大的大小。此命令已过时。例如,如果使用中的步骤https://github.com/18F/C2/issues/439,这行不通。
你需要使用
git filter-repo
步骤:
(1) 在.git中查找最大的文件:
git rev-list --objects --all | grep -f <(git verify-pack -v .git/objects/pack/*.idx| sort -k 3 -n | cut -f 1 -d " " | tail -10)
(2) Strat过滤这些大型文件:
git filter-repo --path-glob '../../src/../..' --invert-paths --force
or
git filter-repo --path-glob '*.zip' --invert-paths --force
or
git filter-repo --path-glob '*.a' --invert-paths --force
或无论您在步骤1中找到什么。
(3)
git remote add origin git@github.com:.../...git
(4)
git push --all --force
git push --tags --force
完成!
推荐文章
- 如何在git中找到原始/master的位置,以及如何更改它?
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头
- 如何获得在两次Git提交之间更改的所有文件的列表?
- 什么是跟踪分支?