Gitは分散型のバージョン管理システムになります。GitはSubversionのような集中型のバージョン管理システムと異なり、ファイルのすべての変更履歴をそれぞれのマシンが持ちます。そのため、リポジトリを管理しているサーバーにアクセスできなくても、プロジェクトの履歴を確認することができます。
Gitの初期設定
Gitの初期設定
Gitでバージョン管理を行う場合、リポジトリを作成するのには必要ありませんが、リポジトリに管理したいファイルを記録する(コミット, commit)ときに名前やメールアドレスを設定する必要があります。設定するコマンドの例はgit config...
リポジトリの作成とクローン
コマンド | 説明 |
---|---|
git init | リポジトリの作成 |
git clone | リポジトリのクローン |
リポジトリの作成とクローンの例
作業ディレクトリのあるノンベアリポジトリを作成記録したいファイルがあるディレクトリに対してgit initのコマンドをすることでリポジトリを作成できます。~/TestProject$ git initInitialized empty Gi...
リポジトリへの記録
コマンド | 説明 |
---|---|
git status | ステージング状態の確認 |
git add | ファイルの追跡とファイル修正後のステージング |
git diff | ステージングと作業ディレクトリの比較 |
git commit | コミット。ステージングされたファイルをリポジトリへ記録 |
git rm | ファイルの追跡解除と削除 |
git mv | ファイルの移動(名前の変更) |
ファイル | 説明 |
---|---|
.gitignore | 無視するファイルを設定 |
リポジトリへの記録の例
ステージング状態の確認 (git status)git statusはステージング状態を確認できます。ファイルのステージング(Staging)は、Gitで変更を追跡し、次のコミットに含める準備をするプロセスです。ステージングを行うことで、変...
コミット履歴の閲覧
コマンド | 説明 |
---|---|
git log | コミット履歴の閲覧 |
git checkout <コミットのチェックサム> | コミットのチェックアウト。 チェックサムは一部でも可(一意になるよう7文字ぐらいの指定が多い) 記録したコミットを作業ディレクトリに反映 |
コミット履歴の閲覧の例
コミット履歴の閲覧 (git log)git logでコミット履歴を確認できます。オプションによって表示を大きく変えることができます。ここでは大まかに4つの表示について紹介します。通常の表示(特に特別なオプションを用いない場合)簡潔なグラフ...
作業のやり直し
コマンド | 説明 |
---|---|
git commit --amend | コミットのやり直し |
git reset | ステージしたファイルの取り消し |
git checkout -- <ファイル> | ファイルへの変更の取り消し |
作業のやり直しの例
作業のやり直しは基本的にローカルリポジトリでの作業をやり直すときに使います。プライベート利用のリモートリポジトリを除いて、基本的にリモートリポジトリへすでにプッシュされているコミットをやり直してはいけません。コミットのやり直し (git c...
リモートでの作業
コマンド | 説明 |
---|---|
git remote -v | リモートサーバーの確認 |
git remote add | リモートリポジトリの登録を追加 |
git fetch | フェッチ。リモートリポジトリの内容をダウンロード |
git pull | フェッチとマージの連続操作 |
git pull --rebase | フェッチとリベースの連続操作 |
git push | プッシュ。リモートリポジトリへの記録 |
git remote show | リモートリポジトリ情報の表示 |
git remote rename | リモートリポジトリの登録の名前の変更 |
git remote rm | リモートリポジトリの登録を解除 |
リモートでの作業の例
ここではリモートリポジトリとしてLocalプロトコルを用います。ローカルリポジトリはLocalReposディレクトリに、リモートリポジトリはRemoteReposディレクトリで管理するとします。リモートサーバーの確認 (git remote...
タグ
コマンド | 説明 |
---|---|
git tag | タグの一覧表示 |
git tag -l <パターン> | パターンでのタグ検索 |
git tag <タグ名> | 軽量版のタグ。コミットのチェックサムを追加でタグの後付け |
git tag -a | 注釈付きのタグの追加。-mの追加でエディタを開かずメッセージを追加。コミットのチェックサムを追加でタグの後付け |
git show <タグ名> | タグが付いたコミットの情報を表示 |
git tag -d <タグ名> | タグの削除 |
git push origin <タグ名> | タグの共有。originはリモートリポジトリの名前 |
git checkout -b <ブランチ名> <タグ名> | ブランチを作成してタグのチェックアウト |
Gitタグ管理の使い方:作成、共有、削除等を解説
この記事では、Gitにおけるタグ管理の基本について解説します。重要なコミットについてはタグをつけることができます。タグの確認方法、軽量タグと注釈付きタグの作成手順、タグの注釈やコミット情報の確認方法、タグの削除手順、リモートリポジトリへのタ...
エイリアス
コマンド | 説明 |
---|---|
git config --global alias.co checkout | エイリアスの設定(コマンドは設定例の一つ) |
ブランチ
コマンド | 説明 |
---|---|
git branch <ブランチ名> | ブランチの作成 |
git checkout <ブランチ名> | ブランチの切り替え |
git merge <マージ先のブランチ名> | 現在いるブランチにマージ先のブランチをマージ。 マージ完了後にマージ先のブランチは必要がなければ削除しても良い |
git mergetool | 競合内容をマージツールを使って解決 |
vimdiff, Meld, opendiff, WinMerge等 | マージツール |
git branch -d <ブランチ名> | ブランチの削除 |
git branch | ブランチの一覧表示 |
GitブランチとGitマージ:ブランチの基本操作とマージ操作について
この記事は、Gitのブランチ管理の基本操作について解説します。ブランチの一覧表示や作成、切り替え、マージの方法を説明します。ブランチのマージ時に発生する競合の解決方法についても述べています。競合解決にはマージツールの使用が推奨です。その設定...
パッチの適用
このパッチの適用はコミットの一つ一つをパッチと考えてコミット履歴の途中を変更した場合にそのパッチを再適用していきコミットを作成し直すようなコマンドのことを述べています
コマンド | 説明 |
---|---|
git rebase <ブランチ名> | パッチを取得するブランチを指定し適用して現在のブランチのパッチを適用 |
git cherry-pick | 現在のブランチに特定のコミットのパッチを適用 |
git revert | 特定のコミットを元に戻す |
Gitリベースの使い方:競合解決とコミット履歴の整理方法
この記事では、Gitリベースの基本操作とその利点について詳しく解説します。git rebaseコマンドを使ってブランチを整理し、コミット履歴を直線的に保つ方法を紹介。競合が発生した際の解決手順や、インタラクティブリベース(git rebas...
git cherry-pickの使い方:特定のコミットをブランチに適用する方法
この記事では、Gitのcherry-pickコマンドを使って、特定のコミットを現在のブランチに適用する方法を詳しく解説します。cherry-pickは、別のブランチで行われた修正を簡単に取り込むことができる便利なツールです。競合が発生した場...
git revert:ミスを修正する手段
この記事では、Gitのgit revertコマンドについて解説します。git revertは、まるで修正テープや修正ペンのように、過去のミスを修正する手段として機能します。競合が発生した場合の対処法も少し説明します。特定のコミットを元に戻す...
Tips: