[エラー] Bad Line Length Character: Sysl
とあるタイミングでheroku上のgitからフェッチしようとすると、
タイトルのようなエラーが出た。
エラー内容。
$ git fetch staging
Fetching repositoryfatal: protocol error: bad line length character: Sysl
環境は、herokuで、ここで書いたとおり、ローカルでブランチを切って、
それぞれのブランチでリモートのプッシュ先を変えて管理している。
ここでは、staging環境の分をフェッチしたかった。
heroku関連として全く同じ内容のエラーがStackOverFlowに投稿されていたが、
どうやら解決はしていないよう。
Git Error: bad line length character: Sysl
ググってみると、リモート先のサーバーにsshでログインする時に表示されるメッセージが悪いとか、
ssh関連で、.bashrc
とか.zshrc
とかの設定を見なおしたよ、というような内容が多い。
protocol error: bad line length character と出たら – #9 Backyard
gitのエラー解決方法 – Shut the fuck up and write some code
fatal: protocol error: bad line length character: # Us – きもい交換日記
しかしどれもピンと来ない。
とりあえず、master環境に切り替えてみよう(理由はない)と思い、変更してみると以下のエラー。
$ git checkout master
fatal: This operation must be run in a work tree
ググると以下の情報が。
#git bareレポジトリでcheckoutしようとして"This operation must be run in a work tree"の対処法 – DQNEO起業日記
内容通り、以下のコマンドで切り替えは出来た。
$ git symbolic-ref HEAD refs/heads/master
ただし、またstagingに戻そうとすると、上記のコマンドが必要になる。。
ターミナルだけでなく、gitはsourceTreeでも管理しているのだけれど、
そのソフト上では、ブランチの切り替えはダブルクリックだけで簡単に出来た。
そんな感じで、ブランチの切り替えをしていると、自動的にstaging環境でフェッチが行われていた。
流れとしてはこんな感じ。
stagigブランチ
masterブランチに切り替え
stagingブランチに切り替え
自動的にフェッチが行われる
(全てsourcetree上での作業)
その後、ターミナル上でもfetch
してみたが、何事もなく動作した。
$ git fetch staging
Fetching repository, done.
結局、原因は不明で、修正手順も不明、なのだけれど、
ちょっと情報が少なかったのでメモとして残しておく。