コミット ツリーを書き直して作成者の名前を変更し、電子メールを変更した後、ローカル リポジトリとリモート オリジンが同期しなくなりました。私は唯一の開発者であり、ローカル リポジトリをオリジンにプッシュし、オリジン/マスターをローカル マスター ブランチに更新したいと考えています。これが私が成功せずに試したことです:
LibGuest08@LBP-NW0345QZMH1 /e/devel/src/java/bbct (swing.0.5.2)
$ git push
Password:
To ssh://codeguru@git.code.sf.net/p/bbct/code
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'ssh://codeguru@git.code.sf.net/p/bbct/code'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. If you did not intend to push that branch, you may want to
hint: specify branches to push or set the 'push.default' configuration
hint: variable to 'current' or 'upstream' to push only the current branch.
LibGuest08@LBP-NW0345QZMH1 /e/devel/src/java/bbct (swing.0.5.2)
$ git push origin master:master
Password:
To ssh://codeguru@git.code.sf.net/p/bbct/code
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'ssh://codeguru@git.code.sf.net/p/bbct/code'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and merge the remote changes
hint: (e.g. 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
LibGuest08@LBP-NW0345QZMH1 /e/devel/src/java/bbct (swing.0.5.2)
$ git push -f origin master:master
Password:
Counting objects: 464, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (148/148), done.
Writing objects: 100% (452/452), 470.65 KiB, done.
Total 452 (delta 268), reused 417 (delta 247)
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
To ssh://codeguru@git.code.sf.net/p/bbct/code
! [remote rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'ssh://codeguru@git.code.sf.net/p/bbct/code'
LibGuest08@LBP-NW0345QZMH1 /e/devel/src/java/bbct (swing.0.5.2)
$
提案どおりにオリジンもプルしましたが、すべてのコミットとマージされ、その中には作成者名と電子メールが間違っているものもあります。リモートのオリジン リポジトリをローカル リポジトリと同期し、不正なメタデータを含むすべてのコミットを削除するにはどうすればよいですか?
アップデート:
Sourceforge リポジトリの構成ファイルを編集しました。まだエラー メッセージが表示されますが、別の行に気付きました。
lib_lab_ref08@LBP-REF87XVMDP1 /e/devel/src/java/bbct (master)
$ git push -f
Password:
Counting objects: 464, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (148/148), done.
Writing objects: 100% (452/452), 470.65 KiB, done.
Total 452 (delta 268), reused 417 (delta 247)
fatal: Unable to create temporary file: Permission denied
error: unpack failed: index-pack abnormal exit
To ssh://codeguru@git.code.sf.net/p/bbct/code
! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to 'ssh://codeguru@git.code.sf.net/p/bbct/code'
何が
fatal: Unable to create temporary file: Permission denied
error: unpack failed: index-pack abnormal exit
平均?さらに重要なことに、これを修正するにはどうすればよいですか?
結果論:
公共のパソコンを使用しています。最近リポジトリ データベースを圧縮しましたが、プッシュ中に git が圧縮されたリポジトリ オブジェクトを解凍する一時フォルダーに書き込む権限がないと推測しています。これらのセキュリティ制限のないコンピューターでこれを試してみて、何が起こるか見てみましょう.