Eclipse × Git(EGit)入門:初回コミットとリモート連携を最短で理解する

EclipseとGit(EGit)の完全入門ガイド

Eclipse(Pleiades含む)でGitを使い始めるための決定版ガイドShare Projectから.gitignore初回コミットGitHub等リモート連携ブランチ戦略よくあるエラー解決改行/文字コード/署名/CIまで、実務でそのまま使える知識を網羅します。

この記事のゴールと前提

  • Eclipse上で既存/新規プロジェクトをGit管理に切り替えられる
  • .gitignore/.gitattributesを理解し、差分ノイズと改行問題を根絶できる
  • 初回コミット→リモート連携(Push)まで完了できる
  • 安全なブランチ運用コンフリクト解消履歴整理ができる
  • 巨大ファイルやマルチモジュールなど実務で詰まりがちな論点を回避できる

前提:JDKとEclipse導入済み。未済なら 導入ガイド を先にどうぞ。

用語ミニ辞典(最小限)

  • リポジトリ:履歴を保存する保管庫
  • コミット:変更のスナップショット
  • ブランチ:独立した作業ライン(mainは常に安定)
  • リモート:GitHubなどの共有リポジトリ
  • Push/Pull/Fetch:送信/取得/取得のみ

事前準備:GitとEGitの確認

  1. git --version でGitが入っているか確認(未導入なら次章へ)
  2. ユーザー情報(初回のみ)
    git config --global user.name  "Your Name"
    git config --global user.email "you@example.com"
  3. EclipseのEGit確認:メニューに Team があればOK

Gitのインストールと初期設定(Windows/Mac)

Windows

  1. Git for Windowsをインストール(Git Bash同梱)
  2. 改行設定:「Checkout Windows-style, commit Unix-style(推奨)」= core.autocrlf=true
  3. 資格情報は「Git Credential Manager」を利用するとHTTPS運用が快適

macOS

  1. Homebrew推奨:brew install git
  2. core.autocrlf=input が一般的

プロTip:プロキシ環境では git config --global http.proxy http://user:pass@host:port を設定。証明書エラー時は企業CAの取り込み要。

プロジェクトをGit管理にする(Share Project)

  1. Package Explorerで対象プロジェクトを右クリック → Team > Share Project…
  2. ウィザードでGitを選択 → Use or create repository in parent folder of project(推奨)
  3. Createで直上に .git 作成 → これで管理開始
  4. 最初は「Untracked」→ ステージ/コミットへ進む

.gitignore/.gitattributesを整える(コピペ可)

.gitignore(Java/Maven/Gradle/Eclipse向け)

# --- OS ---
.DS_Store
Thumbs.db

# --- Eclipse ---
.classpath
.project
.settings/

# --- IntelliJ(将来併用のため)---
.idea/
*.iml

# --- Build outputs ---
bin/
build/
out/
target/

# --- Gradle ---
.gradle/
!gradlew
!gradlew.bat
!gradle/wrapper/**

# --- Maven ---
!mvnw
!mvnw.cmd
!.mvn/wrapper/**

# --- Logs/Temp ---
*.log
tmp/

.gitattributes(改行/言語ヒント)

* text=auto eol=lf
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.pdf binary
*.zip binary
*.gradle linguist-language=Groovy

重要:Maven/GradleのラッパーとCI設定は必ずコミット。プロジェクト再現性が上がります。

初回コミット:粒度・メッセージ・Amend

  1. 右クリック → Team > Commit…
  2. 必要ファイルを「Staged」に移す(README.md.gitignore・ラッパー等)
  3. メッセージ入力 → Commit or Commit and Push
feat: 初期Javaプロジェクトを追加
fix: NPE回避のnullチェックを実装
docs: READMEにビルド手順を追記
refactor: TaskServiceの責務を分割
chore: .gitignore/.gitattributesを整備

リモート連携(HTTPS/SSH・認証の落とし穴)

1) リモート用意

  1. GitHub等で New repository(README未作成推奨)
  2. 表示されたリモートURL(HTTPS/SSH)を控える

2) EGitでPush設定

  1. 右クリック → Team > Remote > Push…
  2. URIにリモートURL(HTTPSはPAT、SSHは鍵)
  3. 送信元:main → 送信先:refs/heads/main
  4. FinishでPush

HTTPS vs SSH

  • HTTPS:セットアップ簡単。PATは期限/権限を最小に。GCMやEclipse Secure Storageで保管。
  • SSH:一度設定すると入力不要で快適。複数リポジトリ運用に強い。

ブランチ運用の超基本とおすすめ運用図

最小構成:main(安定)+ feature(1機能)。
中規模:main+develop+feature。
大規模:release/hotfix・タグ運用を併用。

  1. 右クリック → Team > Switch To > New Branch…
  2. feature/todo-rename のように目的が分かる名前
  3. 作業→コミット→Push → PR or Merge

コンフリクト解消をEGitで練習する

  1. Fetchで最新を取得 → Mergeで取り込み
  2. 比較エディタで左右の変更を吟味(左:自分/右:相手)
  3. 必要な変更だけ残して保存 → ステージ → コミット

履歴整理:Merge vs Rebase・タグ・リリース

  • Merge:安全・分岐が残る(レビュー痕跡重視)
  • Rebase:直線的で読みやすい(ローカル専用。共有後は避ける)
  • タグ:v1.0.0 などリリース点に付与(Team > Advanced > Tag…

LFSと巨大ファイルの扱い

git lfs track "*.mp4"
git add .gitattributes
git commit -m "chore: track videos via LFS"

誤コミットで歴史に残った巨大ファイルは git filter-repo 等で除去(高度)。

マルチモジュール/モノレポ/サブモジュール

  • マルチモジュール:親直下に共通.gitignore・CI。差分ビルドを活用。
  • モノレポ:デプロイ単位でフォルダ分割、CIで差分ビルド。
  • サブモジュール:外部依存固定に有効だが運用コスト高め。

Eclipse便利設定(差分が綺麗になる)

  • Team Decorations:Preferences > Team > Git > Label Decorations
  • Compare with HEAD:ファイル右クリック → Compare With > HEAD
  • Blame(注釈):Team > Show Revision Information
  • Save Actions:Java > Editor > Save Actions(整形&imports最適化)
  • 文字コード/改行:General > Workspace をUTF-8、改行は規約に合わせる

よくあるエラーと対処(実例つき)

  • src refspec main does not match any:mainにコミットが無い。初回コミット→Push。必要ならgit branch -M main
  • non-fast-forwardFetch→Mergeで最新化→競合解消→再Push(強制Pushは避ける)。
  • LF/CRLF警告:Windowsはcore.autocrlf=true、macOS/Linuxはinput.gitattributesでLF正規化。
  • 認証失敗:PATの権限/期限や証明書、プロキシ設定、Secure Storageを点検。
  • detached HEADSwitch To > main などブランチへ戻る。
  • リモートURL間違いTeam > Remote > Configure Push で修正。

セットアップ完了チェックリスト

  • .git作成(Share Project済み)
  • .gitignore/.gitattributes設置(ラッパーはコミット)
  • 初回コミット&mainブランチ確認
  • リモート(origin)設定&Push成功
  • featureブランチ運用で作業→mainへ取り込み
  • Compare/Blame/Save Actions設定で差分がきれい

この次に知りたい情報(CI・コード規約・PR)

オリジナル:GitHub Actions最小CI(Java)

# .github/workflows/build.yml
name: build
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-java@v4
        with:
          distribution: 'temurin'
          java-version: '21'
      - name: Build with Maven
        run: mvn -B -q -DskipTests package

FAQ

HTTPSとSSH、どっちがいい?

最初はHTTPS(PAT)でOK。頻用・複数リポならSSHが快適。

.gitignoreの最低限は?

Eclipseメタ(.project/.classpath/.settings)とビルド生成物(target/build/bin/out)を除外。Maven/Gradleのラッパーはコミット

改行コードで荒れる…

Windowsはcore.autocrlf=true、macOS/Linuxはinput。さらに.gitattributesでLF正規化。

non-fast-forwardでPushできない

Fetch/Pullで最新化→競合解消→再Push。強制Pushは履歴破壊の危険があるため避ける。

GPG署名は必要?

厳密な監査が必要な現場では有効。git config --global commit.gpgsign true で常時署名。

著者:まーくん|更新日:2025-10-02

コメントを残す

*

CAPTCHA