memo.xight.org

日々のメモ

GitHub で ssh から https 接続に移行

Summary

プロキシ内からのアクセスする頻度が増えてきたので、
https 越しのアクセスに統一したい。

.zshenv

Macのネットワーク環境に合わせてHTTP_PROXYを切り替えるシェルスクリプト より

function set_proxy() {
	export http_proxy=$proxy
	export HTTP_PROXY=$proxy
	export ftp_proxy=$proxy
	export FTP_PROXY=$proxy
	export all_proxy=$proxy
	export ALL_PROXY=$proxy
	export https_proxy=$proxy
	export HTTPS_PROXY=$proxy

	git config --global http.proxy $proxy
	git config --global https.proxy $proxy
	git config --global url."https://".insteadOf git://
}

function unset_proxy() {
	unset http_proxy
	unset HTTP_PROXY
	unset ftp_proxy
	unset FTP_PROXY
	unset all_proxy
	unset ALL_PROXY
	unset https_proxy
	unset HTTPS_PROXY

	git config --global --unset http.proxy
	git config --global --unset https.proxy
	git config --global --unset url."https://".insteadOf
}

network_location="`networksetup -getcurrentlocation`"
proxy=''
if [ $network_location = "example.com" ]; then
	echo "Switch to proxy for example.com network"
	proxy="proxy.example.com:8080"
	set_proxy
elif [ $network_location = "example.net" ]; then
	echo "Switch to proxy for example.net network"
	proxy="proxy.example.net:8080"
	set_proxy
else
	echo "Unset proxy config"
	unset_proxy
fi
unset network_location


git config 実行

$ git config --global url."https://".insteadOf git://
$ git config --global credential.helper osxkeychain


.git/config を確認

[http]
	proxy = xxx.xxx.xxx.xxx:xxxx
[https]
	proxy = xxx.xxx.xxx.xxx:xxxx
[url "https://"]
	insteadOf = git://
[credential]
	helper = osxkeychain


各リポジトリの origin を ssh から https に変更

$ git remote set-url origin https://github.com/xight/homebrew-cask.git


Personal access token を作成

Personal access tokens を作成する。
scope は repo, user, gist のままで良い。
マシンごとに作成するようにすると良い。

git pull など https越しにアクセスして、パスワードを聞かれたら

作成したPersonal access tokenを入力すれば良い。

Reference

Caching your GitHub password in Git - User Documentation
https://help.github.com/articles/caching-your-github-password-in-git/

Qiita - Macのネットワーク環境に合わせてHTTP_PROXYを切り替えるシェルスクリプト
http://qiita.com/uetchy/items/b9991d1f86b23f4a184d

Qiita - GitHubへのアクセスはSSHよりHTTPSがお勧めらしいので切り替えてみた
http://qiita.com/hnakamur/items/cb04882cc69f2d1a7367