command拡張子が便利

シェルスクリプトについて調べていたら偶然にcommnad拡張子が使えることを知りました。shの代わりにcommandと付けておくとスクリプトファイルをダブルクリックするだけでシェルスクリプトが実行されるのです。sudo認証が必要な時は、ターミナル.appが自動的に起動してパスワードを要求して入力が終わるとウインドウが閉じます。

shellscript.command

試しに先日エントリーした「Snow LeopardでVolume Logicを使う」の一連のファイル操作をシェルスクリプトで書いてみました。

SSHパスワードなしでログイン

エントリー「SSH 秘密鍵を利用する | appling weblog」の続きになります。

パスワード(パスフレーズ)を指定することなくログインできる秘密鍵を作成できることを知りました。パスワードを指定していてもキーチェインに登録できるので、パスワード入力の煩わしさを感じていなかったんだけどパスワードなしでログインできるのはそれはそれで便利かなと導入してみることに。

404 Blog Not Found:tips – sshでパスワード無しログイン

ssh-keygenオプション「`-N ”`」を利用するのがポイント。

$ ssh-keygen -d -f ~/.ssh/nopass-dsa -N ”

リモート先の認証ファイルを書き換えたとして、試しにログインしてみましょう。

$ ssh -i ~/.ssh/nopass-dsa remote.example.com

当然ですが、使用感はこれまでと変わりません。

Gitの使い方メモ

バージョン管理システムに慣れてないとGitを使いこなすのは難しいね。少しずつトライ&エラーで慣れてきてはいますが、ある程度全体を見渡せるまでには時間がかかりそう。今は練習なので、バックアップしてあるファイルを対象としているので安心だけど、いざ本番となればこうはいかないだろうなぁ。もう三日目で挫折する予感。 :p

Gitコマンドを使わなくてもGitHubウェブアプリでどうにかなるし、ここは状況を見ながらやり易い方で対応していこう。

基本的な作業のコマンド例をメモしておこう。

**対象に含めないファイルを決める**
.gitignore ファイルを作成し、対象に含めないファイルを記述

**変更のあったファイルをコミット**

$ git commit -a -m “commit text”

**新たにコミットを付け替える**

$ git commit –amend -m “commit text”

**addしたファイルを止める**

$ git rm –cached

**タグを公開**

$ git push –tags

git-pull コマンドでも同じで –tags オプションを付けておかないといけないらしい。

**タグの削除**

$ git tag -d # ローカルのタグを削除
$ git push origin :refs/tags/ # リモート先のタグを削除

**リモート先のファイル変更**

To [email protected]:Pafuxu/my_files.git
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to ‘[email protected]:Pafuxu/my_files.git’

リモート先ファイルに何らかの変更が加えられているので、 git-pull して同期させましょう。ローカル側を優先する場合は以下のコマンド。

$ git push origin +master:master

まだあったような気がするけど、気づいたら書き加えて行くことにしよう。