1. ホーム
  2. git

git commit からファイルを削除できない

2023-09-11 03:45:20

質問

プッシュされていないすべてのgitコミットを破棄し、data/ディレクトリに何もコミットしないようにgitを強制するにはどうすればよいですか?

私はc9.ioプロジェクトからgithubに保存されたプロジェクトのすべての変更を強制的に上書きしようとしています。 私は誤っていくつかのmongodbデータファイルをgitで追加しました。 私はdata/ディレクトリを.gitignoreに追加しようとしました。githubからプルして更新された.gitignoreを取得しましたが、git pushしようとすると、data/にあるこれらの頑固なファイルはまだコミットのためにステージされています。 また、git reset、git rebase、git clean、そして この で、dmpfile.sql を pi/data/node-login.1 に変更しました。

私は何時間もこれをやっていると私は本当にイライラしている助けてください。

Counting objects: 15, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (13/13), done.
Writing objects: 100% (13/13), 150.22 KiB | 92 KiB/s, done.
Total 13 (delta 6), reused 0 (delta 0)
remote: warning: File pi/data/local.0 is 64.00 MB; this is larger than GitHub's recommended maximum file size of 50 MB
remote: warning: File pi/data/node-login.0 is 64.00 MB; this is larger than GitHub's recommended maximum file size of 50 MB
remote: error: GH001: Large files detected.
remote: error: Trace: e6ade98208c08b634ed28aefea36dfbb
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File pi/data/node-login.1 is 128.00 MB; this exceeds GitHub's file size limit of 100 MB
To [email protected]:bobbyg603/goddard.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:bobbyg603/goddard.git'

.gitignoreを使用します。

lib-cov
*.seed
*.log
*.csv
*.dat
*.out
*.pid
*.gz

data/

pids
logs
results

npm-debug.log
node_modules

.project
.settings

ありがとうございます。 Bobby

どのように解決するのですか?

Chrisさんのおかげで、以下のように実行することで解決できました。

git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch pi/data/node-login.0' です。

git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch pi/data/node-login.1' です。

git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch pi/data/local.0'.