【Git】応用コマンド&オプション7選

先日の【Git】最初の30分で覚えるべき基本コマンド8選につづいて、応用コマンドを整理しました。

diff

差分を表示する

# HEAD(もしくはインデックス)とワークツリーを比較する
git diff

# 特定のコミット間を比較する
git diff [コミット]..[コミット]

# HEADとインデックスを比較する
git diff --cached

difftool

差分をvimdiffで表示する(git vimdiffなどにエイリアスをはっておくのがおすすめ)

git difftool --tool=vimdiff --no-prompt

reset

変更を元に戻す

# HEAD位置とインデックスを変更する
git reset [コミット]

# HEAD位置だけ変更する
git reset --soft [コミット]

# HEAD位置とインデックス、ワークツリーを変更する
git reset --hard [コミット]

branch

ブランチを確認する

# 現在あるブランチを確認
git branch

# リモートリポジトリのブランチも含めて確認
git branch -a

# ブランチ位置を移動させる
git branch -f [ブランチ名] [移動先コミット]

checkout

ブランチを切り替える

# ブランチを切り替える
git checkout [ブランチ名]

# 直前にいたブランチに切り替える
git checkout -

# ブランチからファイルを現在のインデックスにコピーする
git checkout [ブランチ] -- [ファイル]

merge

ブランチを統合する

# fast-forwardな場合はコミットを作らず、そうでない場合はマージコミットを作る
git merge <ブランチ>

# 必ずマージコミットを作る場合
git merge --no-ff

rebase

ブランチの派生元を変更する

# ブランチの派生元のコミットを変更する
git rebase --onto <新しい派生元コミット> <元の派生元コミット> [変更対象のブランチ]

# 特定のコミットからの履歴を編集する
# (コミットの入れ替えや統合、コミットメッセージの変更など)
git rebase -i <コミット>

【Git】最初の30分で覚えるべき基本コマンド8選

最近若い子にGitの使い方を指導することがあったので、最初に覚えるべきコマンドを整理してみました。

clone

リモートリポジトリからローカルに複製する

git clone ssh://ユーザ名@サーバ名/path/to/repository
git clone http://path/to/repository

status

ファイルの変更状況・ステージ状況を確認する

git status

add

ファイルをステージする(変更したファイルを次コミットの候補にする)

git add <ファイル or ディレクトリ>

commit

コミットする

git commit
git commit -m <コミットメッセージ>

push

ローカルリポジトリの変更をリモートリポジトリに反映する

git push

pull

リモートリポジトリの変更をローカルリポジトリに反映する

git pull

log

コミット履歴を確認する

git log

init

リポジトリを作成する

# ローカルリポジトリ
git init

# リモートリポジトリ
git init --bare

ブランチの操作など応用的なコマンドに関する記事も書きました ↓

xvideos.hatenablog.com

仮想マシンUbuntuにXenServer Toolsをインストール

XenServer上につくった仮想マシンUbuntuに、XenServer Toolsをインストールする方法

前準備

  1. XenCenterを起動
  2. XenServer Toolsインストール先の仮想マシンを起動する
  3. 左カラムからを上記の仮想マシンを選択
  4. DVDドライブ1 に xs-tools.iso を選択

Ubuntuターミナル上の操作

sudo -s
mount /dev/cdrom /mnt
cd /mnt/Linux
./install.sh

※ネット上では/dev/xvddをマウントすると書いているけど、上手くいかないので上記の方法で。。

Windowsコマンドプロンプトでdiffのようなファイル比較

LinuxdiffコマンドのようにWindowsでファイル比較できないかと調べていたら、compというコマンドがありました。

コマンド

comp [オプション] <ファイル1> <ファイル2>

使用例

@echo off

rem 内容が同じファイルの比較
echo N | comp a.txt b.txt 2>nul
echo 戻り値は「%ERRORLEVEL%」です

echo.

rem 内容が異なるファイルの比較
echo N | comp a.txt c.txt 2>nul
echo 戻り値は「%ERRORLEVEL%」です

結果

a.txt と b.txt を比較しています...
ファイルに違いはありません

戻り値は「0」です

a.txt と c.txt を比較しています...
ファイルのサイズが違います。

戻り値は「1」です
  • compをそのまま使うと、ほかのファイルを比較しますか (Y/N)?と表示されてキー入力を求められます。対処として、echo N | comp <ファイル1> <ファイル2> 2>nulとするとキー入力をスキップできます。
  • ディレクトリを比較する場合はcomp <ディレクトリ1> <ディレクトリ2>再帰的に比較してくれます。

2ヶ月でデータベーススペシャリストに合格する勉強方法

データベーススペシャリストの受験申込みがはじまりました。
腕試しとして受験したり、上司から受けるように言われてる方もいらっしゃるでしょうか。

平成28年度春季データベーススペシャリスト日程

予定 日時
インターネット申込み 2016年1月18日(月)10時 ~ 2月26日(金)20時
郵送申込み 2016年1月18日(月) ~ 2月15日(月) 消印有効
試験実施日 2016年4月17日(日)

この記事では、データベース素人の僕が、約二ヶ月でDBスペシャリストに合格するまでに取り組んだ勉強方法をご紹介していきます。

続きを読む

【404】見れなくなったウェブページを復活させる方法【Not Found】

f:id:xterm256color:20150620205234p:plain

404 Not Found... 見つけると物悲しいですよね。 ブックマークしておいたのにいつの間にか見れなくなっていたり、リンク先のページが消えていたり。

そんな時、下のサービスを使えば一発で復活させる事ができます。

続きを読む

エクセルVBAの置換に正規表現を使う

エクセルVBA正規表現が使えることを知ったのでメモ。

前準備

まずはVBAエディタを開き(Excelを開いた状態で Alt+F11)、VBAScriptの設定をします。

ツール(T) → 参照設定(R) → Microsoft VBScript Regular Expressions 5.5 にチェック → OK

これでVBAから正規表現の機能が使えるようになります。

続きを読む