Gitの基本コマンドまとめ: 初心者から中級者まで

# Gitの基本コマンドまとめ: 初心者から中級者まで

Gitは、ソフトウェア開発におけるバージョン管理のデファクトスタンダードです。この記事では、Gitの基本コマンドを、初心者から中級者向けにまとめています。プロジェクトをスムーズに進行させるために、よく使うコマンドをしっかり押さえておきましょう。

## 目次
1. Gitの初期設定
2. リポジトリの初期化とクローン
3. ファイルのステージングとコミット
4. ブランチの操作
5. リモートリポジトリとのやり取り
6. マージとリベース
7. リセット、リバート、チェリーピック
8. ログと差分の確認
9. スタッシュの活用
10. 便利なショートカットと別名登録

---

## 1. Gitの初期設定

Gitを初めて使う場合、まずはユーザー情報を設定します。これにより、誰がどのコミットを行ったかが明確になります。

```bash
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
```

`--global`オプションは、これらの設定が全てのリポジトリに適用されることを意味します。

また、エディタやデフォルトのブランチ名などの設定も行っておくと便利です。

```bash
git config --global core.editor "vim"
git config --global init.defaultBranch main
```

## 2. リポジトリの初期化とクローン

### リポジトリの初期化
新しいプロジェクトを始める際には、Gitリポジトリを初期化します。

```bash
git init
```

これで、現在のディレクトリがGitの管理下に置かれます。

### リポジトリのクローン
既存のリポジトリをローカルにコピーするには、`git clone`を使います。

```bash
git clone https://github.com/username/repository.git
```

リポジトリのURLは、GitHubや他のリモートリポジトリサービスから取得できます。

## 3. ファイルのステージングとコミット

### ステージング
ファイルをステージングエリアに追加します。

```bash
git add ファイル名
```

全ての変更をステージする場合は、以下を使います。

```bash
git add .
```

### コミット
変更を記録するには、`git commit`を使います。

```bash
git commit -m "コミットメッセージ"
```

変更内容をより詳細に確認しながらコミットする場合は、`-v`オプションを使います。

```bash
git commit -v
```

## 4. ブランチの操作

### ブランチの作成
新しいブランチを作成します。

```bash
git branch ブランチ名
```

ブランチを作成し、同時に切り替えるには、以下のコマンドが便利です。

```bash
git checkout -b ブランチ名
```

### ブランチの確認
現在のブランチを確認し、一覧を表示します。

```bash
git branch
```

### ブランチの削除
不要になったブランチを削除します。

```bash
git branch -d ブランチ名
```

強制的に削除する場合は、`-D`オプションを使います。

```bash
git branch -D ブランチ名
```

## 5. リモートリポジトリとのやり取り

### リモートの追加
リモートリポジトリを追加します。

```bash
git remote add origin https://github.com/username/repository.git
```

### プッシュ
ローカルの変更をリモートリポジトリに反映させます。

```bash
git push origin ブランチ名
```

### プル
リモートリポジトリから最新の変更を取得します。

```bash
git pull origin ブランチ名
```

## 6. マージとリベース

### マージ
異なるブランチの内容を統合するには、`git merge`を使います。

```bash
git merge ブランチ名
```

### リベース
コミットの履歴を整えるためには、`git rebase`が有効です。

```bash
git rebase ブランチ名
```

### マージコンフリクトの解消
コンフリクトが発生した場合、ファイルを手動で修正し、再度コミットする必要があります。

```bash
git add 修正したファイル
git commit
```

## 7. リセット、リバート、チェリーピック

### リセット
コミットを取り消すには、`git reset`を使います。

```bash
git reset --hard HEAD~1
```

### リバート
特定のコミットだけを取り消したい場合は、`git revert`を使います。

```bash
git revert コミットID
```

### チェリーピック
他のブランチの特定のコミットを取り込みたい場合は、`git cherry-pick`を使います。

```bash
git cherry-pick コミットID
```

## 8. ログと差分の確認

### ログの確認
コミットの履歴を確認します。

```bash
git log
```

より詳細なログを確認するには、`--graph`や`--oneline`オプションが便利です。

```bash
git log --graph --oneline
```

### 差分の確認
変更点を確認します。

```bash
git diff
```

特定のファイルの変更点を確認するには、以下のように指定します。

```bash
git diff ファイル名
```

## 9. スタッシュの活用

作業途中の変更を一時的に退避させるには、`git stash`を使います。

```bash
git stash
```

再び作業を再開するには、以下を使います。

```bash
git stash pop
```

## 10. 便利なショートカットと別名登録

### ショートカット
よく使うコマンドに短い別名を付けて効率化します。

```bash
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
```

これで、`git checkout`を`git co`と省略して使えるようになります。

### カスタムログ表示
特定のフォーマットでログを表示する別名も便利です。

```bash
git config --global alias.lg "log --graph --oneline --decorate --all"
```

---

以上がGitの基本コマンドのまとめです。もし他に知りたいコマンドやGitの使い方があれば、コメントでお知らせください。