Coda 2.5 で非公開 Git に上手く Push 出来ない時の解決方法

Coda 2.5 Web Site

Coda 2.5 を快適に使っていますが、 Git レポジトリをどうしても Push できない場合がありました。

それは、 git レポジトリを Clone した時に、https でチェックアウトしたからかも。

Coda 2.5 では、https による非公開 Git への Push にうまく対応していないっぽいので、Git の Remote URL の設定を、SSH 方式に変えてあげると解決するかもです。

その方法は結構簡単。下記にまとめておきます。

 

1. 隠れファイルを表示できるようにする

まだやっていない人は、ここから Mac の隠れファイルを表示できるようにしてください。

 

2. .git フォルダーの中の config ファイルを編集

隠れファイルを見れるようにすると、Git の情報がたくさん詰まった「.git」フォルダが現れます。

そこに「config」という拡張子も何もついていないファイルがあります。

普通のテキストファイルなので、Coda でも使って開きましょう。

そうするとそのテキストファイルの中に、下記のような部分があります。

 

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
	ignorecase = true
	precomposeunicode = false
[branch "master"]
[remote "c5jp/c5"]
	url = https://github.com/concrete5japan/concrete5.git
	fetch = +refs/heads/*:refs/remotes/c5jp/c5/*
[remote "katz/c5"]
	url = https://github.com/katzueno/concrete5.git
	fetch = +refs/heads/*:refs/remotes/katz/c5/*
[remote "c5/c5"]
	url = https://github.com/concrete5/concrete5.git
	fetch = +refs/heads/*:refs/remotes/c5/c5/*
[branch "master"]
	remote = katz/c5
	merge = refs/heads/master

 

上記の Git は、3つの GitHub のリモートレポジトリとやりとりしている複雑なものですが、3つの remote の URL が https 接続になっています。

そこを、SSH 接続に変えます。

GitHub ページに行き、画面右辺りに、小さく、SSH や HTTPS の clone URL を取得できるところがあります。

GitHub Clone URL

そこから「SSH」リンクをクリックして、Clone URL を SSH にしてから URL をコピーします。

GitHub Clone URL

さきほどの config ファイルに戻り、各 Remote の URL を SSH 方式に切り替えましょう。

例えば最初の

url = https://github.com/concrete5japan/concrete5.git

url =  [email protected]:concrete5japan/concrete5.git

といったふうに変更していきます。

変更が終わったら、一旦、 Coda2.5 サイトプロジェクトを閉じてしてから再びつなげると、無事、Push 出来るようになっているはずです。(Coda 2.5 の再起動は必要なし)

めでたし、めでたし。

 

補足. SSH 公開鍵を忘れずに

念の為に、確認ですが、SSH 秘密鍵・公開鍵の作成と、公開鍵登録も忘れずに。

Coda2.5 では SSH 鍵は [home]/.ssh/ ディレクトリに保存されていれば自動的に読みに行ってくれるので、自分の .ssh ディレクトリへ、GitHub に登録している公開鍵のペアーの秘密鍵を入れておくことも忘れずに。

 

以上。