Git

初心者のための用語辞典:プログラミングでよく出る難しい言葉をやさしく解説

初心者のための用語辞典:プログラミングでよく出る難しい言葉をやさしく解説

「API?非同期?フレームワーク?」——まずは言葉から怖くなくしよう!
各用語は 一言定義つまずき の順で、コピペできるミニコード付き。末尾に 学習の次の一歩も案内しています。

A. コードの基本

変数 / 定数(variable / constant)

値を入れる変数は中身を変えられ、定数は変えない約束。

// JavaScript
let count = 0;    // 変数
const TAX = 0.1;  // 定数(上書き禁止)

つまずき:スコープ(届く範囲)で同名がかぶると混乱します。

型(type)

「これは数?文字?」というデータの種類。言語により厳しさ(静的/動的)が違う。

// Java
int n = 10;      // 整数
String s = "Hi"; // 文字列

つまずき:型変換(数 ⇄ 文字)で意図しない計算結果になりがち。

関数 / メソッド(function / method)

入力を受けて処理し、結果を返す小さなプログラム」。メソッドは「オブジェクトにぶら下がる関数」。

// JS
function add(a, b){ return a + b; }
add(2,3); // 5

パラメータ(定義側)」と「引数(呼び出し側)」を混同しない。

オブジェクト / クラス / OOP

関連するデータ+処理を1つにまとめる考え方。クラスは設計図、オブジェクトは実体。

// Java
class User { String name; void hello(){ System.out.println("Hi "+name); } }
User u = new User(); u.name = "Masa"; u.hello();

用語:カプセル化/継承/ポリモーフィズムはOOPの3本柱。

非同期(asynchronous)

待ち時間(通信など)の間に他の処理を進められるやり方。

// JS: async/await
async function getUser(){
  const res = await fetch('/api/user');
  return await res.json();
}

並行/並列スレッドと混同しやすい。非同期=必ずしも並列ではない。

例外 / 例外処理(exception / try-catch)

想定外のエラーが起きたときに処理を安全に中断・回復する仕組み。

// Java
try { Files.readString(Path.of("config.txt")); }
catch (IOException e) { System.err.println("設定が読めません"); }

握りつぶさず、原因をログに残す。ユーザーには丁寧なメッセージを。

正規表現(regex)

文字のパターンで検索・置換する記法。

// JS: メールっぽい文字列をざっくり検出
/.+@.+\..+/.test("hi@example.com") // → true

過度に複雑にしない。テスト用文字列で小さく試す。

B. Webの基礎

HTTP / HTTPS

ブラウザとサーバの会話ルール。HTTPSは暗号化して安全。

GET /index.html HTTP/1.1
Host: example.com

フォームやクリップボードAPIはHTTPS前提が多い。

API / REST

アプリ同士が決まりごとで情報をやりとりする窓口。RESTはURLとHTTPメソッドで操作を表す考え方。

# 例:/users を操作
GET /users       # 取得
POST /users      # 作成
PUT /users/1     # 更新
DELETE /users/1  # 削除

CRUD(Create/Read/Update/Delete)と対応づけて覚える。

DOM / CSS セレクタ

ブラウザがHTMLを木構造として扱う仕組み(DOM)。CSSセレクタはその木から要素を選ぶ。

// JS: id="msg" を書き換える
document.getElementById('msg').textContent = 'Hello';

特異性(specificity)が強いと上書きしにくい。クラス中心で設計を。

CORS

他サイトのAPIを使うときの安全ルール。サーバ側が許可ヘッダを返す必要あり。

Access-Control-Allow-Origin: https://your.site

ローカルで動くのに本番で失敗→許可オリジンの設定漏れが定番。

SPA / SSR

SPAはページ遷移をJSで行う単一ページ型。SSRはサーバでHTMLを作って返す。

SEOや初期表示はSSR有利。用途で使い分け。

C. データ/DB

JSON / YAML / XML

データの表現形式。JSONはブラウザと相性◎、YAMLは設定ファイルでよく使う。

// JSON
{"name":"Masa","age":21}

YAMLはインデント命。タブ/スペース混在でエラーに。

SQL / RDB

行と列で管理する関係データベースを操作する言語。

SELECT name FROM users WHERE age >= 20 ORDER BY age DESC;

インデックス(検索の近道)とトランザクション(処理のひとまとめ)は最重要。

NoSQL / キャッシュ

RDB以外のDB(文書型・キー値など)。キャッシュは結果の一時保存で高速化。

正解は1つじゃない。読み書き頻度/一貫性/スキーマで選ぶ。

D. ツール/開発プロセス

IDE / エディタ

IDEは開発に必要な機能全部入り(デバッガ等)。VS Codeは軽快エディタ+拡張で強化。

導入手順:VS Codeの入れ方Eclipseで最初のJavaプロジェクト

Git / GitHub

ファイルの履歴管理ツール。GitHubはその置き場所

git init
git add .
git commit -m "first"
git remote add origin URL
git push -u origin main

最短ガイド:Gitの超入門

ビルド / 依存管理(Maven/Gradle/npm/pip)

コードを動く形にまとめるのがビルド。他人のライブラリを使うのが依存管理。

# Node.js
npm init -y
npm install axios

Javaなら:Maven/Gradle超入門

CI/CD

コードをpushすると自動でテスト・ビルド・デプロイまで回る仕組み。

まずは小さく:テスト→ビルドだけでも価値が大きい。

Lint / フォーマッタ

Lintは品質チェック、フォーマッタは自動整形。保存時に実行すると楽。

// VS Code settings.json(例)
{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true
}

E. 設計/アーキテクチャ

フレームワーク vs ライブラリ

ライブラリはあなたが呼ぶ道具フレームワーク呼ばれる側(流れを握る)。

自由度はライブラリ>フレームワーク。学習コストは逆になりがち。

MVC / 責務分離

UI(View)、ロジック(Controller)、データ(Model)を分ける考え方。

1ファイルに全部書かない。役割ごとに場所を決める。

ステートレス

サーバが前回の状態を覚えない作り。スケールしやすい。

ログイン状態はトークンや外部セッションで扱う。

依存関係 / DI

部品同士の「頼り合い」。DIは外から部品を差し込むことで結合をゆるくする。

F. 計算・アルゴリズム

アルゴリズム / データ構造

解き方の手順(アルゴリズム)と、データの置き方(データ構造)。

// JS: スタック(後入れ先出し)
const stack = [];
stack.push(1); stack.push(2); // [1,2]
stack.pop(); // 2

計算量(Big-O)

データが増えたときに処理がどれだけ重くなるかの目安。

// O(n): 配列の合計
let sum = 0; for (const x of arr) sum += x;

ガーベジコレクション

不要になったメモリを自動回収する仕組み。Java/JSは自動、Cは手動に近い。

学習の次の一歩(おすすめルート)

  1. VS Code を導入(日本語化・拡張・保存時整形)
  2. Progateで概念を俯瞰 → ドットインストールで手を慣らす
  3. 模写コーディング(Codejump)→ 自作LP を1週間で完成
  4. Gitの超入門(学習ログを残す)
  5. ビルドと依存管理(チーム開発の入口)

著者:まーくん|更新日:2025-09-07

Gitの超入門(VS Codeでも使える):初回設定・最初のコミット・リモート連携

インストール直後から10分で「履歴が残せる」「リモートにバックアップできる」状態へ。コマンドとVS Codeの両方で説明し、.gitignoreブランチの超基本も図解します。

関連:VS Codeの入れ方Maven/Gradle超入門

作業ツリー(Working Directory) ファイルを編集 ステージ(Index) git add ローカルリポジトリ git commit リモート git push

この記事のゴールと前提

  • Gitの基本の流れ(add → commit → push)が分かる
  • 初回設定(ユーザー情報・改行・ブランチ名)ができる
  • 最初のリポジトリ作成〜リモート連携まで完了する
  • VS Codeのソース管理ビューで同じことができる

前提:VS CodeGit(本体)が導入済み。

Step 0:初回設定(名前・メール・改行・デフォルトブランチ)

インストール直後に1回だけやればOKです。

# ← あなたの名前/メールに置き換え
git config --global user.name  "Your Name"
git config --global user.email "you@example.com"

# 改行コード:Windowsは true、macOS/Linux は input 推奨
git config --global core.autocrlf true    # Windows
# git config --global core.autocrlf input # macOS/Linux

# デフォルトブランチ名を main に統一
git config --global init.defaultBranch main

# 見やすいログ(お好みで)
git config --global format.pretty oneline
git config --global alias.last "log -1 --stat"
git config --global alias.tree "log --oneline --graph --decorate --all"

Step 1:リポジトリ作成と .gitignore

  1. 作業用フォルダを作成 → ターミナルで移動。
  2. git init でリポジトリ化。
  3. .gitignore を置いて、不要ファイルを履歴から除外。
mkdir hello-git && cd hello-git
git init
echo "# Hello Git" > README.md
.gitignore(Javaプロジェクト例)
# build / IDE
target/
build/
out/
.classpath
.project
.settings/
.gradle/
.idea/
*.iml

# OS / misc
.DS_Store
Thumbs.db
.gitignore(Node.js例)
node_modules/
dist/
.env
npm-debug.log*
yarn-error.log*

Step 2:ステージと最初のコミット

Gitは「作業ツリー → ステージ(インデックス) → リポジトリ」の三段構え。まずはステージへ載せます。

git status            # 変更の確認
git add README.md     # 変更をステージへ
git commit -m "初回コミット"

複数ファイルまとめてなら git add .。ただし余計なファイルを拾わないよう .gitignore を先に用意するのがコツ。

Step 3:リモート連携(GitHub等)

  1. GitHub/GitLab/Bitbucketなどで空のリポジトリを作成(READMEは未選択推奨)。
  2. ローカルからリモートURLを登録して、main を初回プッシュします。
# HTTPS 例(URLは自分のものに置き換え)
git remote add origin https://example.com/yourname/hello-git.git
git push -u origin main

# SSH 例(鍵を設定済みの場合)
# git remote add origin git@example.com:yourname/hello-git.git
# git push -u origin main

-u は、次回から git push だけで済むよう、追跡ブランチを結び付けるオプションです。

Step 4:ブランチの超基本

安全に作業するために、機能ごとにブランチを切ります。

# ブランチ作成&切り替え
git switch -c feature/readme-badge

# 変更 → 追加コミット
echo "Status: active" >> README.md
git add README.md
git commit -m "READMEにバッジ追加"

# mainへ取り込み(Fast-Forward)
git switch main
git merge feature/readme-badge
git push

競合が出たら、編集→git addgit commit の順で解決できます(VS Codeならエディタ内にコンフリクトマーカーが表示されます)。

VS Codeでの操作ポイント

  • ソース管理ビュー(左のY字アイコン):変更一覧→チェック(✓)でコミット。
  • ステージ/アンステージ:ファイル右の「+」「−」アイコンで操作。
  • ブランチ切替:左下のブランチ名をクリック→作成/切替。
  • 同期:ステータスバーの「⇅」で pull/push
  • 設定おすすめgit.autofetchtruediffEditor.ignoreTrimWhitespacefalse

よくあるエラーと対処

  • pushが拒否される:リモートに先行コミットあり。git pull --rebase → コンフリクト解消 → git push
  • Permission denied (publickey):SSH鍵未設定。まずはHTTPS URLを使うか、SSH鍵を作って登録。
  • 改行がぐちゃぐちゃ:Windowsは core.autocrlf true、Mac/Linuxは input に設定し直し。
  • 間違ってステージしたgit restore --staged <file>(VS Codeなら右クリック「ステージ解除」)。
  • 直前のコミットメッセージを直したいgit commit --amend(共有後は使わないのが原則)。

コマンド早見表(保存版)

# 状態確認
git status
git log --oneline --graph --decorate --all

# 追加・除外
git add .            # すべて追加(.gitignore は除外)
git restore --staged FILE
git restore FILE

# ブランチ
git branch           # 一覧
git switch -c BR     # 作成&切替
git merge BR         # 取り込み

# リモート
git remote -v
git push -u origin main
git pull --rebase

次に読む記事

FAQ

GitとGitHubの違いは?

Gitはバージョン管理の仕組み(ツール)。GitHubはGitリポジトリをホスティングするサービスの1つです。

VS CodeとEclipse(EGit)のどちらを使えば?

どちらでもOK。VS Codeは軽量で直感的、EclipseはEGitでIDE内完結。この記事のコマンドは両方でそのまま使えます。

著者:まーくん|更新日:2025-09-05

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

Eclipse(Pleiades含む)でGitを使い始めるための最短ガイド。Share Projectから.gitignore作成、初回コミットGitHub等リモート連携ブランチ運用の基本よくあるエラー解決まで、初心者でも迷わない具体的な手順を順番に解説します。

この記事のゴールと前提

  • Eclipse上で既存/新規プロジェクトをGit管理に切り替えられる
  • .gitignoreを理解して、不要ファイルをコミットしない
  • 初回コミット→リモート連携(Push)まで完了できる
  • 基本のブランチ運用と、つまずきやすいエラー解決がわかる

前提:JDKとEclipseの導入が済んでいること。未済なら先に 導入ガイド を参照。

用語ミニ辞典(最小限)

  • Git:ソースコードの変更履歴を管理するツール(分散型)
  • リポジトリ:Gitで管理される保管庫(プロジェクトの履歴)
  • コミット:変更点のスナップショットを保存すること
  • ブランチ:開発ライン(mainとは別に機能開発用の枝を作れる)
  • リモート:オンラインの共有リポジトリ(GitHub等)。通常名「origin」
  • Push/Pull:ローカル→リモートへ送る/リモート→ローカルに取り込む

事前準備:GitとEGitの確認

  1. PCにGitが入っているか確認(任意) ターミナル/コマンドプロンプトで git --version を実行。入っていなければ公式からインストール。
  2. ユーザー情報を設定(一度だけ)
    git config --global user.name "Your Name"
    git config --global user.email "you@example.com"
    
    EGitからも設定できます(Preferences > Team > Git > Configuration)。
  3. EGit(Eclipse Gitプラグイン)の確認 Pleiades All in One なら標準同梱が多いです。メニューに Team 項目があればOK。

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

  1. Package Explorerで対象プロジェクトを右クリック → Team > Share Project…
  2. ウィザードでGitを選択 → Use or create repository in parent folder of project(推奨)
  3. Createを押すと、プロジェクト直上に .git が作成され、Git管理が始まります。
  4. 初回は「未追跡(Untracked)」状態。Team メニューからステージ/コミットを進めます。

複数プロジェクトを1リポジトリで管理したい場合は、親フォルダで共有する構成も可能です。

.gitignoreを作る(コピペ可)

IDEやビルド生成物をコミットすると、差分がノイズだらけになります。.gitignoreで不要ファイルを除外しましょう。以下をプロジェクトのルートに作成します。

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

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

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

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

# --- Gradle ---
.gradle/
# gradle-wrapperはバージョン固定に必須のためコミットする(ignoreしない)
# gradle/wrapper/gradle-wrapper.jar などは含める

# --- Maven ---
# mvnw, mvnw.cmd はコミットする(ラッパー)
# .mvn/wrapper 内のファイルもコミット

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

重要:Gradle/Mavenのラッパーはプロジェクトを再現可能にするためコミットします(誤って無視しない)。

初回コミットとメッセージの書き方

  1. プロジェクト右クリック → Team > Commit… を開く。
  2. 画面左側の「Unstaged Changes」から、コミットしたいファイルを選択し+で「Staged Changes」へ移動。
  3. メッセージ欄にコミットメッセージを入力し、Commit(ローカル保存)または Commit and Push(リモートへ同時送信)。

メッセージは短く具体的に。慣れたら「Conventional Commits」風にすると管理が楽です:

feat: 初期Javaプロジェクトを追加
fix: NPEになる箇所をnullチェックで修正
docs: READMEにビルド手順を追記
refactor: TaskServiceの責務を整理
chore: .gitignoreを整備

後から小さな修正を同じコミットにまとめたい時は「Amend」を使います(Commitダイアログのチェック)。

リモート連携(GitHub/GitLab/Bitbucket)

1) リモートを用意する

  1. Gitホスティング(例:GitHub)でNew repositoryを作成(READMEは未作成でOK)。
  2. 表示されたリモートURL(HTTPS or SSH)を控える。

2) EGitからリモートを設定してPush

  1. プロジェクト右クリック → Team > Remote > Push…
  2. URIにリモートURLを貼り付け。 – HTTPS:ユーザー名とパスワード/トークン(PAT) – SSH:秘密鍵(~/.ssh/id_rsa 等)を使用
  3. 「Next」で送信元(例:main)と送信先(refs/heads/main)を対応付け。
  4. Finish → 初回Pushが成功すればOK。

HTTPSとSSH、どちらを使う?

  • HTTPS:設定が簡単。GitHubではパスワードの代わりにPersonal Access Token(PAT)が一般的。資格情報はEclipseのSecure Storageに保存可能。
  • SSH:一度鍵を作ればパスワード入力なしで快適。複数リポジトリでも楽。

Pull / Fetch / Merge の違い

  • Fetch:リモートの新しい履歴を取得(ローカルには反映しない)
  • Merge:取得済みのリモート履歴を作業ブランチに取り込む
  • Pull:Fetch + Merge をまとめて実行

安全に行きたい場合は Fetch → 差分を確認 → Merge の順がオススメです。

ブランチ運用の超基本

まずは main(または master)を守り、機能ごとに feature/○○ ブランチを切って作業 → 完了後に main にマージ、が基本形です。

  1. プロジェクト右クリック → Team > Switch To > New Branch…
  2. ブラン名:feature/todo-rename など、目的が分かる名前に。
  3. 作業→コミット→Push(Team > Remote > Push)。
  4. mainへ取り込むときは、Team > Merge… を使用。競合が出たら比較ツールで解消。

小さな粒度でコミットし、マージ前にローカルで Pull(最新化) してから統合すると、コンフリクトが減ります。

よくあるエラーと対処

  • non-fast-forward(Push拒否):リモートに自分の知らない更新がある。Pullで取り込み→競合解消→再Push。
  • ユーザー情報未設定:コミット時に「user.name/email 未設定」。Preferences > Team > Git > Configuration で設定。
  • LF/CRLFの警告: Windowsは core.autocrlf=true、macOS/Linuxは input が無難。Eclipseなら Preferences > Team > Git > Configuration で設定可能。 既存プロジェクトで変更が大量発生するなら、まず合意を取ってから。
  • 巨大ファイルを誤コミット:動画・ZIP等はLFSを検討。履歴から消すには filter-repo など高度な作業が必要。
  • リモートURL間違いTeam > Remote > Push でURIを見直す。Remote > Configure Pushから編集可。
  • detached HEAD:特定コミットを直接チェックアウトした状態。Switch To > main などブランチへ戻る。
  • Eclipse固有の差分ノイズ.project/.classpath/.settings をコミットしない、またはチームで固定の設定を使う。

Eclipse便利設定(Git連携を快適に)

  • Team Decorations(ファイル状態のアイコン表示):Preferences > Team > Git > Label Decorations を有効に。
  • Compare with HEAD:ファイル右クリック → Compare With > HEAD Revision で差分確認。
  • Blame(注釈)Team > Show Revision Information で行ごとのコミッター/日時を表示。
  • Save Actions:保存時に整形・import最適化(Java > Editor > Save Actions)。Gitの差分が綺麗に。
  • 文字コード/改行General > Workspace で UTF-8、改行コードはOSに合わせるか統一ルールを決める。

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

  • Share Projectで.gitが作成された
  • .gitignoreを配置し、IDE/ビルド生成物は除外できた
  • 初回コミットを実施(README/.gitignoreなど)
  • リモート(origin)を設定し、Push成功
  • mainとは別にfeatureブランチで開発してマージできた

この次に知りたい情報

FAQ

HTTPSとSSH、どっちを選ぶべき?

最初は設定が簡単なHTTPSでOK。頻用するならSSH鍵を作り、パスワードレス運用に移行すると快適です。

.gitignoreに何を入れればいい?

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

チームで改行コードがバラバラに…

Windowsはcore.autocrlf=true、macOS/Linuxはinputが一般的。プロジェクト開始時に合意を取り、Eclipseの文字コード/改行設定も合わせます。

Pushが拒否される(non-fast-forward)

Pullして競合を解消→再Push。Fetchで差分を確認してからMergeすると安全です。

著者:まーくん|更新日:2025-08-26