gitで、二度目以降https認証でアイパスを聞かれないようにする設定
gitで、HTTPSでpush/pullするときに毎回パスワードを聞かれないようにする。
環境:Mac OS X 10.6.8
Macでは、キーチェーンと連携するための認証ヘルパーを使用することができる。
Homebrewでのインストール時、Gitのインストール時に認証ヘルパーも自動でインストールされる。
認証ヘルパーがインストールされているかどうか確認。
$ git credential-osxkeychain usage: git credential-osxkeychain <get|store|erase>
認証ヘルパーを有効にする設定を追加する。
$ git config --global credential.helper osxkeychain
.gitconfigに下記記述が追加されている。
[credential] helper = osxkeychain
dotfilesをGitHubで管理
HomeBrewでやります。
$ cd ~ $ mkdir .dotfiles $ mv .vimrc .dotfiles/ $ mv .zshrc .dotfiles/ $ ln -s .dotfiles/.vimrc .vimrc $ ln -s .dotfiles/.zshrc .zshrc
$ cd .dotfiles $ touch README.md $ git init $ git add -A $ git commit -m 'first commit!' $ git remote add origin git@github.com:[USER]/.dotfiles.git $ git push -u origin master
oh-my-zshを導入してみる
-
oh-my-zshって何?
-
導入
1.oh-my-zshって何?
https://github.com/robbyrussell/oh-my-zsh
下記の恩恵を一気に受けることができる、zshローカル設定のフレームワーク。
推奨されるzshのバージョンは4.3.9。
- 40以上のプロンプトテーマ
- 便利なプラグイン集
-
コミュニティ主体の開発(みんなの設定を取り込んでいく)が
自動アップデートで取り込むことができる機能(※1)
※1…
1週間に1回のタイミングで、zsh起動時に自動的アップデートされる。アップデートといっても単純にGitHubからpullしてくるだけ。Gitを使わずにインストールした人はこの機能が使えない。
勝手にアップデートされるのがいやなら ~/.zhsrcの設定で無効にできる。
2.導入
githubに書かれている通り, git cloneするか、
あるいは curl または wgetでinstall.shを取得して実行する。
既存の設定はバックアップすること。
2-1.テーマ変更
テーマ変更はこちら一覧から気に入ったテーマを指定して.zshrcを再読み込みすればよい。
https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
2-2.プラグイン利用
.zshrcの「plugins=()」に対象プラグイン名を追記することで行える。
plugins=(svn git)
colorsvnで幸せなsvnライフを。
git主流ですが、既存のプロジェクトではまだまだSVNを利用しているところも多いはず。
そんなあなたに、色分けされる便利なツールを紹介
>|sh|
% wget http://www.console-colors.de/downloads/colorsvn/colorsvn-0.3.2.tar.gz
||<
rpmがない場合は、ソースからconfigure,makeする。
最新はこちら↓
Console colors - ConsColors - Downloads
解凍して、
% ./configure
checking whether make sets $(MAKE)... ./configure: line 1236: ac_make: command not found
./configure: line 1236: 31mtemp=make: command not found
no
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether ln -s works... yes
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking for rm... /bin/rm
checking for cp... /bin/cp
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
% make
/bin/rm -f colorsvn && \
/bin/rm -f colorsvnrc && \
/bin/rm -f colorsvn-env.sh
/bin/cp colorsvn-original colorsvn && \
perl -pi -e '~s|/usr/bin/svn|/usr/bin/svn|' colorsvn && \
/bin/cp colorsvnrc-original colorsvnrc && \
perl -pi -e '~s|colorsvnrc|colorsvnrc|' colorsvn && \
perl -pi -e '~s|/usr/bin/svn|/usr/bin/svn|' colorsvnrc && \
/bin/cp colorsvn-env.sh-original colorsvn-env.sh && \
perl -pi -e '~s|/usr/bin/colorsvn|/usr/bin/colorsvn|' colorsvn-env.sh
% sudo make install
/usr/local/bin/ginstall -c -d /usr/bin && \
/usr/local/bin/ginstall -c -m 755 colorsvn /usr/bin/colorsvn && \
/usr/local/bin/ginstall -c -d //etc && \
/usr/local/bin/ginstall -c -m 644 colorsvnrc //etc/colorsvnrc && \
/usr/local/bin/ginstall -c -d //etc/profile.d && \
/usr/local/bin/ginstall -c -m 755 colorsvn-env.sh //etc/profile.d/colorsvn-env.sh && \
if [ -f ./colorsvn.1 ] ; then \
/usr/local/bin/ginstall -c -d /usr/man/man1/ ; \
/usr/local/bin/ginstall -c -m 644 ./colorsvn.1 /usr/man/man1/ ; \
fi
あとは.bashrcにエイリアスを張って完成。
alias svn='colorsvn'
GitHubで相手のリポジトリをforkせずにcloneして編集した内容をpull requestするまで
通常の手順だと、
1.相手のGitHubリポジトリから自分のリポジトリにfork
2.自分のリポジトリに作業ブランチを作成
3.ローカルで編集
4.変更内容をadd・commit
5.自分のリポジトリにpush
6.相手のリポジトリにpull request
となるのだが、
相手のGitHubリポジトリを直接cloneして編集していたため、
1.相手のGitHubリポジトリから自分のリポジトリにfork
2.forkしたリポジトリをリモートとして追加
git remote add [コミットするユーザ名] git@github.com:[GitHubユーザ]/[プロジェクト名].git
3.変更内容をadd・commit
4.自分のリポジトリにpush
git push [コミットするリポジトリ] master:[ブランチ名]
5.相手のリポジトリにpull request
という手順で進めた!問題なさそう。