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について基本頻出系

Gitでよく使うコマンドのまとめなんぞを。 Contents1 リポジトリ作成&基本設定2 リポジトリ取り込み系3 インデックス登録→コミット→リモート登録→プッシュ4 SSH設定5 変更戻し …

no image

Gitで差分を見やすく表示する方法

gitの差分確認ですが、デフォルトのコンソールの画面だと下記のようなわかりにくい表示になります。 差分をチェックしたい場合はやはり左右にわけてしっかり見ることができたほうがいいですね。 この実現の仕方 …

no image

Gitでのbranch 新ブランチの作成&リモート反映&別環境反映

gitを使っているとわけのわからないことは多いのですが(爆)、その中の1つがbranch(ブランチ)でしょう。 これも説明をきいてもわからないのですが、自分でそのケースを学習してみればすぐにわかると思 …

no image

最新版のgitをソースから&git diffおさらい

Contents1 gitをソースから2 git diff gitをソースから gitはyumから入れてもいいんですが、バージョンが古かったりすると機能がいろいろと制限されるなどのデメリットもあります …

no image

JSリンク集+git ブランチ指定 clone

現状の私の課題としてUIに対する意識が甘いということが上げられます。 大昔のサイトで使っているようなわかりにくいUIをそのまま使っているんですよね。 UIといってもいろいろな要素が必要となってきますが …

アーカイブ