Gitでリモートブランチを削除する方法

Updated:

たまにしか実行しない手順は、次にやる時にはやり方を忘れてしまっていて調べ直したりするので、無駄を省くために書き残しておきましょう。

というわけで、まずはGitでリモートブランチを削除する方法です。

リモートブランチを削除するには、pushコマンドを使います。例えばoriginリポジトリのworkブランチを削除するには、次のようにします。

$ git push origin :work

なぜこのgit pushでリモートブランチが削除されるかを説明します。git pushコマンドには次のようにパラメータを与えます。

$ git push <repository> <refspec>

ここで、普通の使い方では、<refspec>部分に対象となるブランチ名を指定します。例えば、workと書けば、ローカルブランチworkがリモートブランチにプッシュされるわけです。

しかし、正式には、<refspec>には「<src>:<dest>」という指定を行うことになっています。<src>にはローカルブランチ(実際には、任意のハッシュ値やHEAD~のような記法も使えます)、<dest>にはリモートブランチを指定します。

ですから、originリポジトリにworkブランチをプッシュする場合には、正式な書き方では次のようになります。

$ git push origin work:work

ただし、ローカルプランチとリモートブランチの名前が同じ場合には、次のように略して書けることになっています。これは普通のgit pushの書き方ですね。

$ git push origin work

さて、<refspec>に「:work」を指定するとどうなるでしょうか。これは、「空のローカルブランチ」をリモートブランチworkにプッシュするという意味になります。つまりリモートブランチworkを削除することになるのです。

もっとも、リポジトリをGitHubやGitLabに置いていれば、GUIで簡単にブランチを削除できてしまいますけどね。

Puttyを0.63-jp20130916にバージョンアップしました

Updated:

デスクトップで使っている日本語版Puttyが結構古いままだったので、最新版にバージョンアップしました。

Puttyは、いろんなバージョンが存在しますが、hdkさんによるVersion 0.63-jp20130916を使うことにしました。

hdk の自作ソフトの紹介」に、ダウンロード用のリンクがあります。

このダウンロード用リンクからzipファイルをダウンロードして展開すると、putty-0.63-jp20130916という名前のフォルダができます。このフォルダをC:\Program Filesの下に移動しておきます。

あとは必要に応じて、puttyjp.exe(Putty本体)やpageant.exe(認証エージェント)のショートカットをデスクトップに作っておくとよいでしょう。

Puttyが自動的に特定ホストに接続するように設定する

Updated:

Puttyを使って、あるホストに接続(ログイン)できるようにする方法のメモです。

ここでは、myhostというセッションのホストに接続させるように設定するものとします。

1. デスクトップにPuttyへのショートカットを作成する。
Puttyをインストールしたフォルダを開き、その中のPuttyの実行ファイル(puttyjp.exe)のアイコンを右クリックして[送る]-[デスクトップ(ショートカットを作成]とする。

2. デスクトップに作成された「puttyjp.exe - ショートカット」というショートカットを右クリックして、[プロパティ]を選択する。このショートカットのプロパティダイアログを表示される。

3. 「ショートカット」タブを開き、「リンク先」フィールドの中を編集して、プログラム名の後ろに「 -load myhost」を追加する。追加したらOKをクリックして、プロパティダイアログを閉じる。
例えば、「リンク先」フィールドに

"C:\Program Files (x86)\putty-0.63\puttyjp.exe"
という値(putty実行ファイルの名前)が入っていたとすると、これを次のようにします。

"C:\Program Files (x86)\putty-0.63\puttyjp.exe" -load myhost

4. ショートカットをダブルクリックすると、セッションmyhostに設定してあるホストに接続してくれるはずです。

5. ショートカットの名前をわかりやすい名前に変えておきます。例えば名前を「ホスト名」(この例ではmyhost)にしておけばよいでしょう。

VMWare Plalyerで、ゲストOSの時刻が同期しない現象を解決

Updated:

VMWare Playerでは、ゲストOSの時刻を自動的にホストOSに同期させることができます。それには次のように設定しておきます。

1. ゲストOSにVMWare toolsをインストールする
2-1. VMWare Playerを起動して、対象となる仮想マシンを選択する。
2-2. 仮想マシンの設定の編集]をクリックして「仮想マシンの設定」ダイアログを表示する
2-3 [オプション]タブを選択してから[VMWare Tools]をクリックする。
2-4 「ホストとゲスト時間を同期」チェックボックスをオンにする。

これで、ゲストOSを起動したり、サスペンドから復帰する際に、ホストOSと時刻が同期します。

上記の設定を1回だけ行なえば、あとは何もしなくても、ゲストOSの時刻が常に正しく設定されます。

しばらくは自動的に時刻が同期されていたのですが、なぜかいつの間にかゲストOSの時刻が同期されなくなってしまいました。例えば、サスペンドから復帰した場合に、サスペンドした時の時刻のままなのです。

これでは不便なので、いろいろといじってみました。結果としては、VMWare toolsを再インストールすることで再び時刻が同期されるようになりました。

具体的には、仮想マシンを起動した状態で、[Player]メニューから[管理]-[VMWare toolsの再インストール」を選択すると、ゲストOS側でVMWare toolsのCD-ROMイメージがマウントされます。あとはVMWare toolsを最初にインストールした時と同じ手順です。

現象としては、たぶん次のような感じなのだろうと思われます(ちゃんと調べたわけでないのですけど)。

  • VMWare toolsをインストールすることにより、対応したカーネルイメージ(?)が生成される仕組みになっている
  • apt-get upgradeで新しいカーネルイメージが生成されると、それはVMWare対応ではないので、時刻が同期されなくなってしまう

というわけで、時刻が同期しなくなったらVMWare toolsを再インストールすれば直ります(たぶん)。

Xubuntu 14.04LTSを、VMWare Playerにインストールしました

Updated:

Ubuntuの派生ディストロであるXubuntuの最初バージョン14.04LTSを、VMWare Player(Windows 7マシン上で動作)の仮想マシンにインストールしました。その時の手順のメモです。

近藤は、これまでUbuntu 12.04LTSを使っていました。前回の移行(Ubuntu 10.04LTSから12.04LTS)の際には、既存の10.04LTSの環境に対して、アップグレードをかけました。その時の記録はここにありますが、正直言って、かなり苦労、というか悪戦苦闘しました。

そのこともあったので、今回は、既存環境のアップグレードはせずに、新規にXubuntu 14.04LTSをインストールすることにしました。

UbuntuからXubuntuに移行した理由


まず最初に、なぜ今回は、Ubuntuではなく、Xubuntuを選んだかという話を書いておきます。

近藤は、数年前から、WindowsマシンにVMWare Playerをインストールして、その上で仮想マシンとしてLinux(Ubuntu)を動かしていました。

VMWare Playerには、Unityモードという動作モードがあります。これは、「Linuxのデスクトップを表示せずに、LinuxアプリのウィンドウをWindowsのデスクトップ上に直接表示する」というモードです。つまり、Linuxで起動したアプリ(例えばターミナル)が、あたかもWindowsのアプリのように扱われるのです。私のLinuxの使用目的は主に開発なので、基本的にこのUnityモードを使っています。

しかし、(12.04当たりから?)Ubuntuに導入されたUnityモード(まぎらわしいですね)が、VMWare PlayerのUnityモードと相性が悪いのです。Ubuntu 12.04LTSでは、古いバージョンのVMWare Playerを使って、何とか調整して使っていました。

しかし、最新版のVMWare Playerでは、『(VMWare Playerの)Unityモードは、Ubuntu(のUnityモード)はサポートしない』ということになってしまいました。実際に、VMWare Player 6.0.3に、Ubuntu 14.04LTSをインストールしたところ、Unityモードに切り替えができません。

いろいろ調べたところ、VMWare Unity Mode with Ubuntu 12.10というQAスレッドを見つけました。

ここでは「Unityデスクトップの代わりに、Gnome3デスクトップを使う」という回避策が紹介されてました。また、そのほかには「どうしてもUbuntuを使いたければ、Ubuntu系の派生ディストロのXubuntuを使えばいい。Xubuntuは、XFCEデスクトップを使ってるので、VMWareのUnityモードとコンパチだから」というアドバイスもありました。

そこで、試しにXubuntuを入れてみたら、確かにVMWare PlayerのUnityモードがちゃんと動きました。また日本語環境で使えるという実績も見つかりました。

というわけで、Ubuntu 12.04LTSから、Xubuntu 14.04LTSへと移行したのでした。

Xubuntu 14.04LTSをVMWare Playerにインストールする手順


さて、本題ですが、インストールの手順自体は簡単です。

1. Xubuntuの公式サイトから、14.04LTSの64bit版のISOイメージをダウンロードします。

http://cdimage.ubuntu.com/xubuntu/releases/14.04/release/xubuntu-14.04-desktop-amd64.iso

2. VMWare Playerから、「新規仮想マシンの作成」を実行します。ダイアログでは、「インストーラディスクイメージファイル」として、ダウンロードしたISOイメージを指定してやります。すると、「Ubuntu 64ビット 14.04」と認識してくれて、簡易インストール(ほぼ全自動でインストールくれる)をしてくれます。

3. XubuntuのVMをスタートさせると、シンプルなログイン画面が表示されます。

xubuntu-login

4. ログインすると、シンプルなデスクトップが表示されます。

xubuntu-desktop

5. メニューからターミナルを立ち上げてみます。

xubuntu-desktop-2

6. ユニティモードのアイコン(下のイメージで、赤丸で囲んだアイコン)をクリックすると、ユニティモードに移行します。

xubuntu-unitify-icon

ターミナルがWindowsアプリのようにウィンドウに表示されます。

xubuntu-unity

さて、この状態では日本語文字は表示されるものの、まだ日本語の入力はできません。

日本語入力をするためにiBusをインストールする


日本語入力を可能にするには、iBusをインストールした上で、日本語入力の設定をすればOKです。下記のページの手順で設定を行ないました。


これで、Xubuntu 14.04LTSの開発環境が手に入りました。あとは、必要なソフトをインストールして、設定を行なえばOKです。