はい!今やってます!

Work Pertly, Live Idly

git基本コマンドの覚え書き(ローカル環境編)

gitの基本操作コマンド主にオフラインの状態で管理可能な範囲で必要なコマンドを覚え書きにまとめて記載しています。

目次

  1. git環境設定コマンド
  2. git基本操作コマンド
  3. gitのブランチ操作コマンド
  4. gitのタグ作成コマンド
  5. 補足(ローカル環境の管理構成)
  6. 参考(いつやるの?git入門)

1.git環境設定コマンド

初期設定コマンド

git config --global user.name "${User_Name}"
git config --grobal user.email "${Mail_Address}"
git config --grobal color.ui true : gitのUIのカラー設定をします。
git config -l : gitの設定値を参照します。
git config --help : git configコマンドのヘルプページを参照します。

エイリアス設定

git config --grobal alias.co checkout git checkoutコマンドに対してcoエイリアスを設定します。
git config --grobal alias.st status git statusコマンドに対してstエイリアスを設定します。

2.git基本操作コマンド

リポジトリの初期化

cd ${Manage_Target_Dir} : (省略)
git -init : 対象のワークツリーをgit管理対象とします。

ステージングエリアにadd

git add ${Target_File} : 対象のファイルをステージングエリアに追加します。
git add . : 対象ディレクトリにある全てのファイルをステージングエリアに追加します。

ローカルリポジトリにコミット

git commit -m "First Commit" : ステージングエリアに追加されたファイルをローカルリポジトリにコミットします。
git commit --amend : 直前のコミットを取り消す場合は--amendオプションが利用可能です。

gitのコミットログを参照する

git log : コミットログを参照します。
git log oneline : コミットログをコンパクトに参照します。
git log -p : コミットログを詳細に参照します。
git log -stat : どのファイルに変更を加えたか参照します。

git管理下のファイルを削除/移動

git rm ${Target_File} : git管理下の対象ファイルを削除します。
git mv ${Source} ${Dest} : git管理下のファイルを移動します。

変更の差分を取得する

git diff : ワークツリーとステージングエリアのファイルの差分を確認する。 git diff --cached : ステージングエリアとローカルリポジトリの差分を確認する。

gitステータスを確認する

git status : gitのステータスを表示する。次に実行すべきコマンドが表示されて便利です。

ステージング/ローカルリポジトリの内容でワークツリーを上書き

git checkout -- ${Target_File} : ステージング環境の内容でファイルを置き換える。
git reset --hard HEAD : 最新のコミットでローカルを上書きする。
git reset --hard HEAD^ : 最新の一つ前のコミットでローカルを上書きする。
git reset --hard ${Commit_Hash} : コミット時に対象のHashが生成されたコミットでローカルリポジトリの内容を上書きする。
git reset --hard ORIG_HEAD : 前回取り消されたコミットでローカルを上書きする。

3.gitのブランチ操作コマンド

ブランチ一覧を表示する

git branch : ブランチ一覧を参照します。現在操作対象のブランチに*が付加されます。

ブランチを作成/移動する

git branch ${Branch_Name} : ブランチを作成します
git checkout ${Branch_Name} : 操作対象のブランチを変更します。
git checkout -b ${Branch_Name} : ブランチを作成して操作対象のブランチも変更します。

変更したブランチ(hoge)をmasterブランチにマージする

git checkout master : 操作対象のブランチをmasterブランチに変更します。
git merge hoge : hogeブランチをmasterにマージします。(mergeに失敗した場合はコンフリクトを解消する)

ブランチの削除

git -d ${Target_Branch} : 指定されたブランチを削除します。

4.gitのタグ作成コマンド

git tag v1.0 : 直近のコミットにv1.0という名前でタグを作成します。
git show v1.0 : 作成したv1.0タグの情報を参照します。
git tag v0.9 ${Hash} : Hashが振られたコミットをv0.9という名前でタグ作成します。
git tag -d 0.9v : v0.9という名前がつけられたTagを削除します。

補足(ローカル環境の管理構成)

オフラインで操作可能な領域は3つに分ける事が可能です。上記コマンド内で度々登場するステージング環境についてはワークツリーと呼ばれる作業領域とローカルリポジトリの中間に存在するインデックスの要素です。

  • 作業ディレクトリ
  • ステージングエリア(インデックス)
  • ローカルリポジトリ

参考(いつやるの?git入門)

いつやるの?Git入門

【Markdown】基本さえ知れば十分なマークダウン記法

Markdown記法について

このブログの記事の編集方法をMarkdown記法に変更しました。
主にManualをMarkdown記法で記述してgitでも管理するようにしようと考えています。
HTMLのシンタックスシュガー程度にしか捕らえてないのですが、互換性があって手順書等の保存にも最適な気がしたので、 Markdownを学習する事にしました。
今回自分の作業用に必要十分だと思うものだけ記載しています。特に複数の記載方法を持つシンタックスについても自分の気に入った書き方のみを記載しています。

目次

  1. 見出し
  2. パラグラフ, 改行, 水平線
  3. 文字装飾(斜体, ボールド)
  4. ブロッククオート
  5. コードブロック
  6. リスト(番号無し, 番号ありリスト)
  7. リンク
  8. エスケープ

1.見出し

文章の大きな構成要素となる見出しについては#という文字で表現します。
#を書いた数で見出しのレベルが指定でき# 〜 ######の6レベルで指定可能です。

見出し(レベル1)

見出し(レベル2)

見出し(レベル3)

見出し(レベル4)

見出し(レベル5)
見出し(レベル6)

2.パラグラフ, 改行, 水平線

パラグラフ

記事を構成する上で文の要素、HTMLでいう<p> </p>に相当するパラグラフを扱うのが改行文字です。 改行文字だけの行を挿入する事でパラグラフを表現する事ができます。

文字列A

文字列B

文字列C

と記載することで

文字列A
文字列B
文字列C

と出力する事ができます。 ※いずれも別のパラグラフ要素に内包される。

改行

文章の途中で改行したい場合は、行末に(半角スペース)を2つ以上記載する事で文章を途中で改行させる事ができます。

1行目(ここに半角スペース2個以上)
2行目(ここに半角スペース2個以上)
3行目(ここに半角スペース2個以上)

と記載する事で

1行目
2行目
3行目

3.文字装飾(斜体, ボールド)

文字装飾が必要な場合には*というアスタリスク文字を使って、斜線とボールドを表現する事が可能です。

斜体

斜体を表現する場合は*(アスタリスク一つ)で文字を囲みます。
*斜体*
と記載する事でMarkdown記法では下記のように出力されます。

斜体

ボールド

ボールド(強調)を表現する場合は**(アスタリスク二つ)で文字を囲みます。
**強調**
と記載する事でMarkdown記法では下記のように出力されます。

強調

4.ブロッククオート

ブロッククオートが必要な場合には>という文字を使って、表現します。

>ブロッククオート1
>ブロッククオート2
>>ブロッククオートの入れ子

と記載する事でMarkdown記法では下記のように出力されます。

ブロッククオート1
ブロッククオート2

ブロッククオートの入れ子

5.コードブロック

コードブロックが必要な場合には```というバッククオートを使ってコードを表現します。

echo "Hello World!!"

と記載する事でMarkdown記法では下記のように出力されます。

echo "Hello World!!"'

6.リスト(番号無し, 番号ありリスト)

リストには番号無しリストと番号ありリスト2つの表現方法があります。

番号無しリスト

番号無しリストが必要な場合には-というダッシュ/ハイフンを使ってリストを表現します。

- (半角スペース)番号無しリスト1
- (半角スペース)番号無しリスト2
- (半角スペース)番号無しリスト3

と記載する事でMarkdown記法では下記のように出力されます。

  • 番号無しリスト1
  • 番号無しリスト2
  • 番号無しリスト3

番号ありリスト

番号ありリストが必要な場合には1という数字.(ドット)(半角スペース)を使って番号ありリストを表現します。

1. (半角スペース)番号無しリスト1
2. (半角スペース)番号無しリスト2
3. (半角スペース)番号無しリスト3

と記載する事でMarkdown記法では下記のように出力されます。

  1. 番号無しリスト1
  2. 番号無しリスト2
  3. 番号無しリスト3

7.リンク

リンクが必要な場合にはURL<>を使ってリンクを表現します。
<http://google.com> と記載する事でMarkdown記法では下記のように出力されます。

http://google.com

8.エスケープ

Markdown記法で特殊な意味を持つ文字#*,->の記載が必要な場合には対象の文字列の前に\をつける事で文字のエスケープが可能です。 \# と記載する事でMarkdown記法では下記のように出力されます。

#

DevOpsメモ的まとめ

DevOps関連情報のメモ的まとめ

サービスを構成する環境ごと切り替えて、サーバの状態を一定に保ちながら運用を続けるという取り組みがここ数ヶ月で流行っているそうなので、関連情報を少しまとめてみました。

ことはじめ

rebuildfm:25 Immutable Infrastructureの回(http://rebuild.fm/25/)で,Packerとserf,Dockerなど聞き慣れない名前が取り上げられています。

オペレーションコストの増大や、開発者毎に環境を用意出来ない事、トラッフィクに対するスケールアウトの問題については日々感じていて無駄だと思う事が多かったので、頭の整理の為にも関連記事をまとめています。

 

今業務でサーバ管理で思いつく改善点は下記の3つ、

 

・並列化されているアプリケーションサーバが落ちた時のオペレーションの簡略化

アプリケーションサーバへのデプロイを簡略化

・スケールアウトの簡略化

 

これが一体何の為に発生していて、どう解決すべきなのか答えの出ない悶々とした日々を過ごして、運用クソ野郎に成り下がっています。

現状維持の為に時間を裂きすぎていて、モノも作れないし成長出来てる気もしません。

突発的な環境の変化にサービスの質が耐えられないとまだこれも問題です。

続きを読む