カテゴリー別アーカイブ: 開発環境

Mac で Internet Explorer or Edge をシミュレートする方法

Modern.IEを利用するのが簡単です. ちなみに, Modern.IEという名前ですが, Edge をシミュレートすることも可能です.

1. Modern.IEにアクセス

2. Virtual machine を選択

Modern.IE
Modern.IE Virtual machine

3. Select platform (VirtualBox) を選択

Modern.IE
Modern.IE Select platform

4. zipファイルをダウンロード

Modern.IE
Modern.IE Download

このzipファイルは容量が大きいので, The Unarchiverなどで解凍します.

5. VirtualBoxを起動し, [ファイル] >> [仮想アプライアンスのインポート] を選択

6. [インポートしたいアプライアンス] で解凍した, ovaファイルを指定

Modern.IE Select ova
Modern.IE Select ova

7. 次に表示されるダイアログで, [インポート] をクリック

Modern.IE
Modern.IE Import

8. インポートが完了すると, VirtualBoxに追加されるので, 起動すればOK !!

Modern.IE
Modern.IE VirtualBox

ちなみに, localhostをブラウズしたい場合は,

$ ifconfig

で, MacのIPアドレスを調べて, URL入力欄に入力すればアクセスできます.

Mac OS X Apache (httpd) が起動しなくなったときの対処法

以下のコマンドを実行します.

$ sudo /usr/sbin/httpd -D FOREGROUND
$ sudo /usr/sbin/apachectl start

もし

No such file or directory: httpd: could not open error log file /private/var/log/apache2/error_log

とエラーが出た場合は

$ mkdir -p /private/var/log/apache2
$ touch /private/var/log/apache2/error_log

を作成しておきます.

$ ps aux | grep httpd

と実行して,

_www               856   0.0  0.1  2478336   4784   ??  S     1:02PM   0:00.01 /usr/sbin/httpd -D FOREGROUND
_www               855   0.0  0.0  2478080   2268   ??  S     1:02PM   0:00.02 /usr/sbin/httpd -D FOREGROUND
_www               853   0.0  0.0  2478080   2260   ??  S     1:02PM   0:00.03 /usr/sbin/httpd -D FOREGROUND
_www               849   0.0  0.1  2478336   5088   ??  S     1:02PM   0:00.04 /usr/sbin/httpd -D FOREGROUND
_www               848   0.0  0.0  2478080   2268   ??  S     1:02PM   0:00.02 /usr/sbin/httpd -D FOREGROUND
_www               847   0.0  0.0  2478336   4152   ??  S     1:02PM   0:00.03 /usr/sbin/httpd -D FOREGROUND
_www               844   0.0  0.1  2478336   5004   ??  S     1:02PM   0:00.09 /usr/sbin/httpd -D FOREGROUND
root               843   0.0  0.1  2478080  10480   ??  Ss    1:02PM   0:00.32 /usr/sbin/httpd -D FOREGROUND
rilakkuma3xjapan   942   0.0  0.0  2432784    604 s000  S+    2:02PM   0:00.00 grep httpd

のように表示されていればOKです.

git tag

タグをつける

$ git tag v0.0.0

リモートリポジトリに反映する

$ git push origin v0.0.0

過去のコミットにタグをつける

$ git tag v0.0.0 [コミットID]

タグをすべてリモートリポジトリに反映する

$ git push origin --tags

タグの削除

$ git tag -d [タグ名]
$ git push origin :[タグ名]

Pull Requestをとりこむ

Pull Requestが送られてきた場合, 「Merge pull request」のボタンで自動的にマージするのは危険です.

Merge pull request
Merge pull request

そこで, 下記のような手順で安全にPull Requestをとりこみます.

1. コードレビュー

2. 受信側のローカルリポジトリを最新にする

$ git clone 受信側のリモートリポジトリ

あるいは,

$ git pull 受信側のリモートリポジトリ

3. 送信側のリモートリポジトリを取得する

$ git remote add PR送信者 PR送信者のリモートリポジトリ

4. マージ用のブランチを作成

$ git checkout -b pr1

5. マージする

$ git merge PR送信者/ブランチ名

6. 動作を確認する (問題があれば以降の手順はおこなわない)

7. メインのブランチにマージする

$ git checkout master
$ git merge pr1

8. 変更をpushする

$ git push

git stash pop でコンフリクトが発生した場合の解決方法

手動マージ

マーキングされた部分を手動で修正する方法です.

++<<<<<<< Updated upstream
// 現在のコミット
++=======
// コンクリフトした内容
++>>>>>>> Stashed changes

git checkout

現在のコミットにする場合

$ git checkout --ours .

checkoutを実行後, コンフリクトを解決するためにgit addが必要となります.

stashにする場合

$ git checkout --theirs .

checkoutを実行後, コンフリクトを解決するためにgit addが必要となります.

git stash

HEADと作業ディレクトリに差異がある場合 (つまり, 作業中の場合), ブランチの切り替えやgit rebaseなどはできません.

そういった一時的に作業内容をのけておく (スタックに積んでおく) ためにあるのが, git stashです

$ git stash

これで, 作業内容を保存し, 作業ディレクトリとインデックスをHEADと同じ状態にしたので, ブランチの切り替えやgit rebaseが可能になります.

また, 作業内容を復元するには,

$ git stash pop

とします.

ちなみに, 複数git stashしている場合は以下のように指定することで, ターゲットとなる内容を復元することができます

$ git stash list
stash@{0}: WIP on master: 4e99baf Commit Gruntfile.js
stash@{1}: WIP on gh-pages: 2efe8bc Add section for installation
....

$ git stash pop stash@{1}

ちなみに, git stash popは,

$ git stash pop stash@{0}

と等価です.

参考 : git stash 使い方

git reset のオプション

git reset のオプションでよく利用するものとしては,

  • –hard オプション
  • –mixed オプション (もしくは, オプションを指定しない)
  • –soft オプション

の3つがあります.

例えば, HEADの1つ前を対象に戻したい場合,

オプション 作業ディレクトリ インデックス コミット
$ git reset –hard HEAD~ HEAD~に戻る HEAD~に戻る HEAD~に戻る
$ git reset (–mixed) HEAD~ そのまま HEAD~に戻る HEAD~に戻る
$ git reset –soft HEAD~ そのまま そのまま HEAD~に戻る

git commit –amendの取り消し

git commit –amendでviエディタを起動してしまうと, そのまま終了してもコミットされてしまいます.

その状態で,

$ git reset --soft HEAD@{1}

とすれば, ヘッドの内容 (コミット) だけを直前の状態に戻すこと = git commit –amendを取り消すことが可能です.

ちなみに,

$ git reflog
2efe8bc HEAD@{0}: checkout: moving from master to gh-pages
4e99baf HEAD@{1}: checkout: moving from gh-pages to master
2efe8bc HEAD@{2}: checkout: moving from master to gh-pages
4e99baf HEAD@{3}: checkout: moving from gh-pages to master
2efe8bc HEAD@{4}: checkout: moving from master to gh-pages
4e99baf HEAD@{5}: checkout: moving from gh-pages to master
...

これで指定するコミットの内容のリストを表示できます.

GitHub SSH公開鍵の登録

1. 秘密鍵・公開鍵のペアを作成

$ ssh-keygen
  • 鍵を保存するディレクトリ (Mac だと, /Users/ユーザー名/.ssh/id_rsa)
  • パスフレーズ (+ パスフレーズ確認)

以上の入力をします.

2. GitHubに公開鍵を登録する

作成した公開鍵 (id_rsa.pub) の内容をGitHubに登録します.

まずは, 公開鍵の内容をコピペするために, クリップボードにコピーします. (~/.ssh/id_rsa.pubの部分は鍵を作成したときのディレクトリに読み替えてください)

$ pbcopy < ~/.ssh/id_rsa.pub

GitHubに公開鍵を登録します. GitHubのProfileページからSSH keysのメニューを選択します.

GitHub Profile
GitHub Profile

Add SSH keyボタンをクリックします.

GitHub Profile SSH keys
GitHub Profile SSH keys

Titleには公開鍵のための任意の名称を入力します (MacBook Airなど). Keyのテキストエリアに先ほどクリップボードにコピーした公開鍵の内容をペーストします. 最後に, Add keyボタンをクリックすれば完了です.

GitHub Profile SSH keys Add key
GitHub Profile SSH keys Add key

3. SSH接続

$ ssh -T git@github.com

秘密鍵・公開鍵を作成したときに設定したパスフレーズを入力すれば接続できて, 以下のようなメッセージが表示されます.

Hi username! You've successfully authenticated, but GitHub does not provide shell access.