说我在Git存储库中.我删除了一个文件并提交了更改.我继续工作,并做了一些更多的提交.然后,我发现我需要恢复该文件.
我知道我可以使用签出文件git checkout HEAD^ foo.bar,但我真的不知道该文件何时被删除.
我希望我不必手动浏览我的日志,检查整个项目的给定SHA,然后手动将该文件复制到我原来的项目结帐中.
使用gitk log,我无法发现两者之间的差异.如何观察差异(使用git命令或某些工具)?
我想在GitHub上放置一个Git项目,但它包含某些带有敏感数据的文件(用户名和密码,比如/ config/deploy.rb for capistrano).
我知道我可以将这些文件名添加到.gitignore,但这不会删除他们在Git中的历史记录.
我也不想通过删除/.git目录重新开始.
有没有办法删除Git历史记录中特定文件的所有痕迹?
是否有可能在Git中恢复已提交的文件?我已经将提交推送到GitHub然后我意识到有一个我不想被推送的文件(我还没有完成更改).
是否可以删除存储库中的所有文件并仅使用我本地计算机中的文件进行更新?原因是,在我的github中有一些不需要的文件,所以我想删除这些文件.我没有逐个删除文件,而是想看看是否可以删除我的git repo中的所有文件并仅使用本地机器中的文件进行更新/推送.希望清楚.谢谢.
VCS有一个Add选项(Git Add),但似乎缺少Git Remove.
用VCS删除Git的惯用方法是什么?
我从我的本地仓库删除了python .pyc文件,我认为我做的是从远程github删除.
我推动了所有变化.这些文件仍然在repo上,但不在我的本地机器上.如何从github仓库中删除文件?
我尝试了以下方法:
git rm classes/file.pyc
git add .
git
Run Code Online (Sandbox Code Playgroud)
乃至:
git rm --cached classes/file.pyc
Run Code Online (Sandbox Code Playgroud)
然后,当我尝试检出文件时,我收到此错误.
enter code here`error: pathspec 'classes/redis_ha.pyc' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)
我现在不知道还能做什么.截至目前,我有一个完全损坏的git repo.
我有一个 github 存储库,其中有一个我无意提交的文件夹。我从本地 git 存储库中删除了该文件夹,但是当我推送本地存储库时,所有新更改都会被推送,但该文件夹仍然在我的远程存储库中。我怎样才能从 GITHUB 中删除这个文件夹?
我不小心添加并提交了一份来自我本地仓库的文件,我不希望将其添加到我的GitHub项目的回购中.我可以用终端删除此文件还是可以在线手动删除?
我正在尝试在git中提交正确的文件,但是在正确配置gitignore时遇到了问题。我按照此处的说明创建了gitignore文件(django项目):
# File types #
##############
*.pyc
*.swo
*.swp
*.swn
# Directories #
###############
logs/
# Specific files #
##################
projectname/settings.py
# OS generated files #
######################
.DS_Store
ehthumbs.db
Icon
Thumbs.db
*~
Run Code Online (Sandbox Code Playgroud)
问题是settings.py已包含在提交中:
Admin$ git add .
Admin$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: projectname/settings.py
Run Code Online (Sandbox Code Playgroud)
如何忽略gitignore中的设置?
我添加了一个目录到本地git repo使用git add然后意外地做了git rm -rf(没有提交之前).有没有办法从这个目录中恢复文件?
我有一个独特的情况,我添加了 2 个 >50MB 的文件,但 Git 无法处理它们。我已经提交了它们并尝试推动,但它出错并说它太大了。现在我可以解决这个问题,但现在我已经在添加我想保留的文件的同时和之后进行了更改。所以现在我有 8 个提交准备好推送,一旦我可以摆脱大文件并让它再次工作。
我用过git rm --cached largefile.whatever,看不到大文件,git diff --stat --cached origin/master但是当我推送时,它仍然推送20分钟,然后说文件太大。
我还删除了大文件并推送了删除,但仍然存在同样的问题。
我想保留所有最近的工作,但删除大文件并继续。我怎样才能做到这一点?
这是我的提交过程。我希望回去也能那么容易,但我现在给自己挖了一个坑。我对 git 不是最擅长,所以我希望这是有道理的。
我不能git rm,因为该文件已被删除。它没有显示在目录中并说myfile.tif did not match any files

git ×12
github ×5
gitignore ×2
commit ×1
fast-forward ×1
file-io ×1
git-checkout ×1
git-commit ×1
git-push ×1
merge ×1
push ×1
repository ×1