質問: 知りたいこと ------ AzureのWebAppsのデプロイ オプションのセットアップ画面で**ローカル Git リポジトリ**を選択した場合のサーバ上のリポジトリの物理的な位置を知りたい。 経緯 -- PythonプログラムをWebAppsに乗せるにあたってチュートリアルを参考に作成し、ローカルGitを使ったデプロイ管理を選択しました。 アプリケーション自体は想定通り動いているんですが、でかいバイナリファイルを何度かコミット&プッシュしたところ、件のリポジトリからCloneできなくなりました。 ※当初より開発しているマシンにクローン済みのローカルリポジトリからのコミットは可能なんですが、別のマシンで改修しようとクローンを試みたところでエラーが出ています。 発生しているエラー --------- > > Cloning into 'D:\repo\myapp'... > > POST git-upload-pack (175 bytes) > > remote: Counting objects: 550, done. > > fatal: The remote end hung up unexpectedly > > fatal: protocol error: bad pack header > > > > gitは正常に終了しませんでした (終了コード 128) (189141 ms @ 2018/03/19 17:23:44) > > > エラー内容で調べると近しいものが見つかりました。 Gitでclone中 fatal: early EOF, The remote end hung up unexpectedly, index-pack failed この例ではサーバ側で`GC/repack`するとあったため、AzureのKudu環境より実施しようと試みています。 で知りたいことにつながり、gc対象のリポジトリはKuduからどうやってアクセスできるのか?というわけです。 (そもそもKuduコンソールからは覗けない場所にある可能性も...) 試したこと ----- 1. git設定を変えてみた `git config --global http.postBuffer 1048576000` 2. KuduのDebug consoleであちこち探した 3. 深さを指定したClone > > git.exe clone --progress -v --depth 1 "https://~ > > > > Cloning into 'D:\repo\myapp'... > > POST git-upload-pack (190 bytes) > > fatal: protocol error: bad line length character: > POST git-upload-pack (199 bytes) > > > > gitは正常に終了しませんでした (終了コード 128) (6422 ms @ 2018/03/19 17:34:34) > > > ほか -- ざっくり妄想ですが、gitのrebaseかなんかで歴史をすべて消し去れば行けるのかも!?と思ってます。 コミット履歴消えちゃ困るのでそれはできないんですが。 質問に対する直接の答えでなくとも、何かgitを駆使したアイディアでもあればお助けください!
回答: git filter-branch が使えそうです。