skillup

技術ブログ

Git

gitの紹介と基本的な使用法について

投稿日:2015年4月6日 更新日:

旧来のソース管理方法

旧来ソースの更新では日付を使って管理する方法などが一般的でした。今でもweb製作の現場などではそのようなソースの管理方法で対応している現場も多いと思います。

この方法は簡便な反面、

  • どのような変更をおこなったのかがわからず、履歴を追えない
  • 戻すときに手作業で行うため人的ミスが発生しやすい
  • ルールの統一化が難しい

などさまざまな弊害が起こります。

バージョン管理ツール

そんな状況からか近年ではソースの管理に関してはバージョン管理ツールを使うことが一般的です。

バージョン管理とは?

バージョン管理ツールとはソースの更新に対して変更履歴を記録しておけるツールです。このようなツールでソース管理することで

  • 誰が、いつ、どのような変更を、なぜ行ったかがすぐわかる
  • ソースが肥大化しない
    (似たような名前で日付が違うソースが乱立するということがありません。)
  • バグが発生したときなど決まったバージョンに容易に戻すことができる

といったようなメリットが存在します。

有名なバージョン管理ソフト

バージョン管理ツールで有名なものといえば、SubversionとGitですね。
Subversionは一箇所のサーバーでソースを一元管理しておく「集中型バージョン管理システム」です。逆にそれぞれのローカル環境で個々に環境を構築することのできる「分散型バージョン管理システム」がGitです。

近年は分散型のメリットが大きいことからGitのシェアが高まりつつあります。

Gitの基本的な使用法

ここでは私が使用したGitの使用法について簡単に書かせていただきます。

初期化(git init)

Gitにおいてまず行うことは初期化です。ソースの変更の履歴などを保存しておくディレクトリのことをリポジトリといい、各プロジェクトごとにリボジトリを作成します。そのリポジトリの作り方ですが、プロジェクトの直下のディレクトリに移動し、
git initでOKです。

(ちなみにローカルではなく、共有リポジトリの場合はgit init –bare –shared)です。

基本的な使用法(add→commit→push&pull)

gitを使った基本的なファイル更新は
git add ファイル名
(カレントディレクトリ以下を全てaddする場合は git add . )

git commit m “変更するときの文言”
これが一番使うコマンドですね。基本的な1つの変更記録のことをコミットといい、addとcommitはほぼワンセットになります。

またこれまでは基本的にローカル環境下のソースの更新について行ってきましたが、ローカルの変更記録を共有リポジトリに反映させることをプッシュといいます。
まずリモートの登録をして見ましょう。(リモートの登録方法は下記の通りです。)

git remote add origin ssh://ユーザー名(:パスワード)@ホスト名:ポート番号(22がディフォルト)/リポジトリのディレクトリ

パスワードはかいてあればpush時に聞かれることはありません。なければpush時に聞かれることになります。

git remote v で確認です。
また変更履歴を反映させるには
git push
になります。

逆に共有リポジトリのソースの変更履歴を取り込むときは
git pull になります。

基本的には自分が変更をして、反映させるときは

リモートの変更履歴を取り入れるときは
git pull
になります。

これらのコマンドが日常的に使うコマンドかと思われます。

gitの設定

なお、使用するときに下記のような設定をしておきましょう。

ちなみに

git config --global list

で設定されている情報を見ることができます。

さらに細かい設定が気になる場合はここを見ましょう。

8.1 Git のカスタマイズ – Git の設定

変更履歴の参照(git log)

上記の4コマンドで基本的な作業は終わりです。
ただ変更履歴をみたいこともあると思います。そのときに使われるのが
git log です。
こちらのコマンドもさまざまなオプションがあり、より詳細にみたり、変更履歴を確認したりとさまざまな参照方法があります。

修正系の処理(revert,reset,rebase)

順調にやっていればこのままでOKですが、過去のコミットを打ち消したいとき、戻したいとき、履歴そのものを変更したいときなどあると思います。

まず過去のコミットの打ち消しですが、
git revert です。(ただし戻したという履歴自体が残ります。)
次に、過去のコミットに戻したいときは
git reset です。このコマンドは純粋にファイルやコミットを戻します。また戻し方によっても様々なオプションが存在します。
また過去の履歴を直接編集したいときは git rebase i HEAD~~数字 を使います。
(数字はどれぐらい過去のバージョンまで戻るかです。)

コマンドを入力するとエディタが開くので履歴自体の削除や2つのコミットを1つ分に統合することなどができます。

こんなところかなー他にもいっぱいコマンドはありますし、それぞれのコマンドには様々なオプションがついていますが、今回は要点をまるっとまとめるのがポイントだったので割愛します。

Gitの設定

またgitの設定をしておきましょう。(そうしないと色がでません。)

git configで出来ること

-Git
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

Git+SSH鍵認証

鍵認証をともなったgitのpushやpullについて。 中央リポジトリに公開鍵がおいてあり、リモートリポジトリに秘密鍵を配置します。 ステップとしては以下の2ステップになります。実行時ユーザーのディレ …

no image

ブランチ構成について

gitのブランチ構成などについて少しまとめてみようと思います。 Contents1 ブランチ一覧1.1 feature1.2 develop1.3 staging1.4 production2 ブラン …

no image

git tag

あまり普段から使ってこなかったgit tagについて。 使う用途ですが主にリリースポイントについて印として使います。 通常のタグの付与

no image

gitのfetch/merge/rebaseについて その2

以前、gitのfetch/mergeについての記事を書きましたが、理論的なことは書いてあっても実際に処理の流れをかいていなかったので、今回はそのことについてメモリます。 Contents1 競合が起き …

no image

Gitデタッチ、インデックス、プッシュなど

まとまってませんが、Gitであったトラブルについてのメモです。 Contents1 デタッチ状態2 インデックス一覧&削除2.1 インデックスの一覧2.2 インデックスから取り除くとき3 git pu …

アーカイブ