gitでリモートリポジトリ(GitHub)のタグを削除する

Updated:

たまにしか行なわないので、やり方を忘れてしまい、毎回調べることになる操作のメモです。

GitHubではブランチを削除するUIが用意されていますが、タグ(GitHubでは「リリース」)を削除できないみたいなので、ローカルから行なう方法を調べてみました。

gitで、リモートリポジトリ(要はGitHub)のタグ(TAGNAME)を削除するには、次のようにします。

$ git push --delete origin TAGNAME

以下は、よく行なうのでやり方を覚えている操作だけど、念のためにメモしておきます。

ローカルのタグ(TAGNAME)を削除する。

$ git tag -d TAGNAME

ローカルのタグをリモートリポジトリに反映する。

$ git push --tags

gitで指定したコミットから指定したファイルを取り出す

Updated:

たまにしか行なわないので、やり方を忘れてしまい、毎回調べることになる操作のメモです。

gitで、あるコミットのファイルの内容を知るには、git showを使って次のようにする。

$ git show ハッシュ:ファイルのパス名

例えば、次のコマンドで、ハッシュ333efpath/to/fileの内容が標準出力に表示される。

$ git show 3333ef:path/to/file

ファイルをカレントディトリからの相対パスで指定するには、パス名を./で始めればよい。

$ git show 3333ef:./myfile.c

Screenの再接続時にssh agent forwardingを有効にする

Updated:

screenコマンドをデタッチしてから、後ほど再ログインしてscreenに再接続すると、screen上で動いているシェルで、ssh agent forwardingが無効になってしまいます。

これは、agent forwardingに使われるソケットの名前が、sshでログインするたびに変わってしまうためです。実際にはソケット名は次のようになります。

/tmp/ssh-[ランダムな文字列]/agent.[sshdのPID]

これを解決するには、sshdが生成したソケットを指すようなシンボリックリンクを、決め打ちのパスで作るようにします。 そして、環境変数SSH_AUTH_SOCKがそのリンボリックを指すようにしてやります。

実際には、~/.bashrcに次のコードを追加します。

# To enable agent forwarding when screen is reconnected.
#  See http://mokokko.hatenablog.com/entry/2013/03/14/133850
AUTH_SOCK="$HOME/.ssh/.ssh-auth-sock"
if [ -S "$AUTH_SOCK" ]; then
    export SSH_AUTH_SOCK=$AUTH_SOCK
elif [ ! -S "$SSH_AUTH_SOCK" ]; then
    export SSH_AUTH_SOCK=$AUTH_SOCK
elif [ ! -L "$SSH_AUTH_SOCK" ]; then
    ln -snf "$SSH_AUTH_SOCK" $AUTH_SOCK && export SSH_AUTH_SOCK=$AUTH_SOCK
fi

参考:

GitHubに貼りつけたイメージの表示サイズを明示的に指定する

Updated:

GitHubでMarkdownの中にイメージを貼りつけることがあります。

デフォルトでイメージは原寸で表示されるのですが、そのままではイメージが大きすぎる事があります。サイズを明示的に指定することにより、イメージを縮小して表示する方法を調べたのでメモしておきます。

Markdownではなく、HTMLの<img>を使って次のようにすれば、指定したサイズに合わせて表示してくれるのでした。

<img src="http://xxxxxxxx" width="300">

ブログをWordPressからJekyllに移行しました

Updated:

ずい分久しぶりの更新です。 前のポストが2015年1月なので、なんと1年半ぶりのポストです。

ブログをWordPressからJekyllに移行しました。 また、ホスト先もさくらVPSから、GitHub Pagesへと乗りかえました。

Jekyll + GitHub Pagesに乗りかえた理由は、WordPressではMySQLサーバを動かす必要があるが、その運用の手間やコストを無くしたいという点です。 今後はブログをGitHub Pagesでホストするので、MySQLだけでなく、Webサーバも不要となりました。

もう1つの理由は、ブログ記事をMarkdownで記述して、Gitで管理したい、というものですが、こちらもJekyllにする事で実現できました。

サイトのデーマは、Minimal Mistakesを使っています。 ご覧の通り、とてもシンプルなデザインで気に入っています。 実際には、自分の好みに合わせて若干カスタマイズしています。

GitHub PagesはJekyllに対応していますが、Minimal MistakesもGitHub Pages上で動くように設計されています。

過去記事のURLは変わらないようにしてあります。

環境をJekyllベースに移行したので、手軽にブログを更新できるようになりました。 実際には、記事をMarkdownで書いて、Gitでコミットして、GitHubにpushすれば公開されます。

今後はもっと気軽に更新してきますので、よろしくお願いいたします。