

Eclipse(Pleiades含む)でGitを使い始めるための決定版ガイド。Share Projectから.gitignore、初回コミット、GitHub等リモート連携、ブランチ戦略、よくあるエラー解決、改行/文字コード/署名/CIまで、実務でそのまま使える知識を網羅します。
この記事のゴールと前提
- Eclipse上で既存/新規プロジェクトをGit管理に切り替えられる
- .gitignore/.gitattributesを理解し、差分ノイズと改行問題を根絶できる
- 初回コミット→リモート連携(Push)まで完了できる
- 安全なブランチ運用、コンフリクト解消、履歴整理ができる
- 巨大ファイルやマルチモジュールなど実務で詰まりがちな論点を回避できる
前提:JDKとEclipse導入済み。未済なら 導入ガイド を先にどうぞ。
用語ミニ辞典(最小限)
- リポジトリ:履歴を保存する保管庫
- コミット:変更のスナップショット
- ブランチ:独立した作業ライン(mainは常に安定)
- リモート:GitHubなどの共有リポジトリ
- Push/Pull/Fetch:送信/取得/取得のみ
事前準備:GitとEGitの確認
git --version
でGitが入っているか確認(未導入なら次章へ)- ユーザー情報(初回のみ)
git config --global user.name "Your Name" git config --global user.email "you@example.com"
- EclipseのEGit確認:メニューに Team があればOK
Gitのインストールと初期設定(Windows/Mac)
Windows
- Git for Windowsをインストール(Git Bash同梱)
- 改行設定:「Checkout Windows-style, commit Unix-style(推奨)」=
core.autocrlf=true
- 資格情報は「Git Credential Manager」を利用するとHTTPS運用が快適
macOS
- Homebrew推奨:
brew install git
core.autocrlf=input
が一般的
プロTip:プロキシ環境では git config --global http.proxy http://user:pass@host:port
を設定。証明書エラー時は企業CAの取り込み要。
.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
- 右クリック → Team > Commit…
- 必要ファイルを「Staged」に移す(
README.md
・.gitignore
・ラッパー等) - メッセージ入力 → Commit or Commit and Push
feat: 初期Javaプロジェクトを追加
fix: NPE回避のnullチェックを実装
docs: READMEにビルド手順を追記
refactor: TaskServiceの責務を分割
chore: .gitignore/.gitattributesを整備
リモート連携(HTTPS/SSH・認証の落とし穴)
1) リモート用意
- GitHub等で New repository(README未作成推奨)
- 表示されたリモートURL(HTTPS/SSH)を控える
2) EGitでPush設定
- 右クリック → Team > Remote > Push…
- URIにリモートURL(HTTPSはPAT、SSHは鍵)
- 送信元:
main
→ 送信先:refs/heads/main
- FinishでPush
HTTPS vs SSH
- HTTPS:セットアップ簡単。PATは期限/権限を最小に。GCMやEclipse Secure Storageで保管。
- SSH:一度設定すると入力不要で快適。複数リポジトリ運用に強い。
ブランチ運用の超基本とおすすめ運用図
最小構成:main(安定)+ feature(1機能)。
中規模:main+develop+feature。
大規模:release/hotfix・タグ運用を併用。
- 右クリック → Team > Switch To > New Branch…
feature/todo-rename
のように目的が分かる名前- 作業→コミット→Push → PR or Merge
コンフリクト解消をEGitで練習する
- Fetchで最新を取得 → Mergeで取り込み
- 比較エディタで左右の変更を吟味(左:自分/右:相手)
- 必要な変更だけ残して保存 → ステージ → コミット
履歴整理: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-forward:Fetch→Mergeで最新化→競合解消→再Push(強制Pushは避ける)。
- LF/CRLF警告:Windowsは
core.autocrlf=true
、macOS/Linuxはinput
+.gitattributesでLF正規化。 - 認証失敗:PATの権限/期限や証明書、プロキシ設定、Secure Storageを点検。
- detached HEAD:Switch To > main などブランチへ戻る。
- リモートURL間違い:Team > Remote > Configure Push で修正。
セットアップ完了チェックリスト
- .git作成(Share Project済み)
- .gitignore/.gitattributes設置(ラッパーはコミット)
- 初回コミット&mainブランチ確認
- リモート(origin)設定&Push成功
- featureブランチ運用で作業→mainへ取り込み
- Compare/Blame/Save Actions設定で差分がきれい
この次に知りたい情報(CI・コード規約・PR)
- Maven/Gradle超入門:依存管理とビルドの基本、ラッパーの使い方
- Eclipseで最初のJavaプロジェクト:パッケージ/クラス設計の型を固める
オリジナル: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
で常時署名。