SeaHaruhi.Net

Git入門:バージョン管理の基本

### 1. Gitとは? Gitは、ソースコードなどの変更履歴を管理する分散型バージョン管理システムです。 - **リポジトリ**: プロジェクトとその履歴の入れ物 - **コミット**: ある時点の変更を記録したスナップショット - **ブランチ**: 独立した作業の流れを作る仕組み
### 2. インストールと初期設定 - Linux (Ubuntu): `sudo apt install git` - macOS (Homebrew): `brew install git` - Windows: Git for Windows をインストール ```bash # 最低限の設定(名前とメール) git config --global user.name "あなたの名前" git config --global user.email "you@example.com" ```
### 3. 基本的なワークフロー ローカルでの典型的な手順の例です。 ```bash # リポジトリのクローン git clone [https://example.com/your-repo.git](https://example.com/your-repo.git) # 新しく作る場合 git init my-project cd my-project # 変更をステージしてコミット git add README.md git commit -m "Initial commit" # 状態確認 git status git log --oneline ```
### 4. ブランチの基本 ブランチを作って作業し、メインにマージする流れです。 ```bash # ブランチ作成と切替 git branch feature/foo git switch feature/foo # または git checkout -b feature/foo # 作業してコミット git add . git commit -m "Add feature foo" # main に戻してマージ git switch main git merge feature/foo # 不要になったら削除 git branch -d feature/foo ```
### 5. 変更の取り消し・履歴操作 使う場面に応じて安全なコマンドを選びます。 ```bash # ステージから外す git restore --staged file.txt # 作業ツリーの変更を捨てる(警告: 失われる) git restore file.txt # 直近のコミットをやり直す(メッセージだけ修正) git commit --amend # 過去に戻す(共有リポジトリでは注意) git reset --hard # 取り消しを安全に行う(履歴を残す) git revert ```
### 6. リモートとプルリクエストの基本 リモート(例: GitHub)との連携の基本です。 ```bash # リモート追加 git remote add origin git@github.com:username/repo.git # 最初のプッシュ(ブランチを追跡) git push -u origin main # 更新を取得 git fetch git pull ``` プルリクエスト(プルリク)は、変更をレビューしてマージするための一般的なワークフローです。
### 7. よく使うコマンド一覧 - `git status`: 状態確認 - `git add `: ステージに追加 - `git commit -m "msg"`: コミット - `git log --oneline`: 履歴表示(簡易) - `git branch`: ブランチ一覧 - `git switch `: ブランチ切替 - `git merge `: ブランチの統合 - `git stash`: 一時退避
### 8. コンフリクト(競合)の解決 複数人で開発していると、「同じファイルの同じ行」を同時に編集してしまうことがあります。この状態でマージしようとすると、Gitはどちらの変更を残すべきか判断できず、コンフリクト(競合)という警告を出して一時停止します。 コンフリクトが起きると、ファイルの中に以下のような謎の記号(コンフリクトマーカー)が自動的に挿入されます。 ```text <<<<<<< HEAD あなたの変更内容(現在いるブランチ) ======= 相手の変更内容(取り込もうとしているブランチ) >>>>>>> feature/new-title ``` **解決する手順:** 1. エディタでコンフリクトしたファイルを開く。 2. `<<<<<<<`、`=======`、`>>>>>>>` の記号を**すべて手動で削除**する。 3. 最終的に残したい正しいコードの形に書き直して保存する。 4. `git add <ファイル名>` で解決したことをGitに伝える。 5. `git commit` を実行してマージを完了させる。 *※コンフリクトはエラーではなく、意図しないコードの上書きを防ぐための安全装置です。落ち着いて記号を消せば問題ありません!*
### 9. 練習問題 1つ目の簡単な演習です。手元で試してください。 ```bash # 練習用ディレクトリ作成 mkdir practice-git && cd practice-git git init echo "# Practice" > README.md git add README.md git commit -m "Add README" # ブランチ作成して変更を加える git switch -c feature/greeting echo "こんにちは" >> README.md git add README.md git commit -m "Add greeting" # main に戻してマージ git switch main git merge feature/greeting # 確認 git log --oneline git status ``` 他にも、`git revert` や `git reset` を試してみてください(安全な範囲で)。

本格 Git 操作シミュレーター

ワークスペース状態

ワーキングツリー:
ステージングエリア:
現在のファイル内容(ここで直接文字を打ち込めます):



### 10. 参考資料 - Pro Git(日本語訳): https://git-scm.com/book/ja/v2 - Git公式ドキュメント: https://git-scm.com/doc - GitHub Guides: https://guides.github.com/
Wiki一覧に戻る