LoginSignup
68
76

More than 5 years have passed since last update.

Git初心者のためのGit入門

Last updated at Posted at 2014-09-16

私もGit初心者ですが、使いながら、ちょっとずつ書き溜めておいたものをとりあえず公開します。
これからも適宜変更していく予定です。

Gitとは

Gitでは、ファイルの状態を好きなときに更新履歴として保存しておくことができます。そのため、一度編集したファイルを過去の状態に戻したり、編集箇所の差分を表示したりすることができます。

古いファイルを元に編集したファイルで、他人の編集した最新ファイルを上書きしようとすると、サーバにアップロードした際に警告が出ます。そのため、チームにて開発する際に非常に協力なツールとなります。

Gitで使う用語

リポジトリ

プログラムやファイルを蓄積しておく場所

ローカルリポジトリ

現在作業中のリポジトリです。主に自分のPCや開発サーバーなどで作業する場合はローカルリポジトリとりなります。
また、リモートリポジトリからリポジトリをクローンして,自分のPC上やサーバー上に環境を構築することもできます。

リモートリポジトリ

外部サーバのリポジトリです。リモートリポジトリはローカルリポジトリを通じて作業を行います。

ワーキングツリー

実際に作業しているディレクトリのことです。

インデックス

ワーキングツリーでの編集後、リポジトリへのコミットの前に次のコミットの対象となる状態を保持している場所です。

ワーキングツリーとインデックス

Gitでは、コミットを実行した時にワークツリーから直接リポジトリ内に状態を記録するのでなく、その間に設けられているインデックスの設定された状態を記録するようになっています。
そのため、コミットでファイルの状態を記録するためには、まずインデックスにファイルを登録する必要があります。

使用例

git add .  // ワーキングツリーにて編集したディレクトリをインデックスに登録する
git commit  // 

ブランチ

履歴の流れを分岐して記録していくものです。
分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ中で複数の変更を同時に進めていくことができます。

ローカルブランチ

ローカルリポジトリ内で管理されるブランチです。

リモートブランチ

リモートリポジトリにあるブランチです。

リモートトラッキングブランチ

リモートブランチをローカルリポジトリへトラッキング(追跡)するためのブランチです。

origin/master // originにあるmasterブランチをトラッキングする
origin:リモートリポジトリ名
master:ブランチ名

チェックアウト

リポジトリにあるブランチを,ワーキングツリーに展開することです。主にブランチを切り替える際などに利用します。
Gitでは,ブランチだけでなくタグや特定のコミット,リモートリポジトリのブランチなどもチェックアウトすることができます。

コミット

インデックスに追加したファイルをリポジトリに登録します。その際には作業範囲や内容をメッセージとして追加します。

プッシュ

ローカルリポジトリの変更履歴をリモートリポジトリに共有します。
プッシュを行うことで、リモートリポジトリに自分の変更履歴がアップロードされて、リモートリポジトリ内の変更履歴がローカルリポジトリの変更履歴と同じ状態になります。

リビジョン

コミット毎に作成されるハッシュ値のことです。Gitではハッシュ値を使って世代管理を行っています。

HEAD

現在チェックアウトしているブランチの最新コミットを指定する代名詞。

FETCH_HEAD

最後に取得したリモートブランチの最新コミットを指定する代名詞。

ORIG_HEAD

前のHEADの値を指定する代名詞。

MERGE_HEAD

マージ中に生成され,ブランチにマージするコミットが記録されている代名詞。

よく使うgitコマンド

コマンド 内容
git init リポジトリを作成する
git clone 既存のリポジトリの複製を作る
git status 変更の加えられたファイルを複製する
git diff ファイルに加えられた変更点をdiff形式で表示する
git add ファイルやディレクトリをインデックスに追加する
git add . (カレントディレクトリの指定)
git add --all (全てのファイルを指定)
git commit インデックスに追加されたファイルをコミットする
git log コミットログを見る
git reset 直前のコミットを取り消す
git reset --hard <ハッシュ値> //戻りたい時点のハッシュ値に戻す
git branch ブランチ一覧を表示する。
git fetch すべてのリモートブランチをコピーする
git merge (リモートリポジトリ名) / (ブランチ名) 指定したブランチを現在チェックアウトしているブランチにマージする
git mergetool マージの際にコンフリクトしたファイルをマージするツール
git rm ファイル名 ファイルの削除
-r でディレクトリの削除
--chached でハードディスク上にはファイルを残し、ステージングエリアから除外
git remote リモートリポジトリを表示
git reflog コミットやmergeしたときのログを見る
git revert 作業ツリーを指定したコミット時点の状態にまで戻す
git config --help ヘルプを見る

本記事の参考サイト

参考にさせていただいたサイトを掲載しておきます。

サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ
Gitを使いこなすための20のコマンド | SourceForge.JP Magazine
Gitチートシート - Qiita
分散バージョン管理 Git 役立つコマンド一覧
Gitコンフリクト解消ガイド(git mergetoolの使い方) - Qiita
こわくない Git

68
76
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
68
76