日常と意味が違うエンジニア英語:commit・deploy・kill などを一覧表で解説

辞書の訳では分からない開発英語を、日常の意味と並べて覚える。

日常語と開発用語の違い。知っている単語ほど、文脈で意味を確認する
日常語と開発用語の違い。知っている単語ほど、文脈で意味を確認する

開発の英語は「知っている単語」ほど誤解しやすい

エンジニアの現場で使われる英語には、日常でも見かける単語が多く含まれます。commit、issue、ship、kill などは中学や高校で習う単語ですが、開発の文脈では辞書の最初に載っている意味とは違う使われ方をします。知らない単語なら調べますが、知っている単語は調べずに読み進めてしまうため、誤解に気づきにくいのが厄介な点です。

たとえば「Please file an issue.」を「問題を発行してください」と読むと意味が通りません。開発では「Issue(チケット)を登録してください」という依頼です。「We shipped it.」は「船で送った」ではなく「リリースした(利用者に届けた)」という報告です。この記事では、新卒エンジニアが最初の数か月で必ず出会う単語を、日常の意味と開発での意味に分けて整理します。

Git と GitHub の単語

単語日常の意味開発での意味
commit約束する、身を投じる、(罪を)犯す変更をリポジトリの履歴に 1 つの記録として保存する。保存した記録そのものも commit と呼ぶ
push押す手元(ローカル)の commit をリモートのリポジトリに送る
pull引くリモートの変更を取得して手元のブランチに取り込む(fetch と merge を合わせた操作)
merge(会社などを)合併する別のブランチの変更を今のブランチに統合する
branch木の枝、支店履歴の分岐。本流に影響を与えずに作業を進めるための作業線
fork食器のフォーク、道の分かれ目他人のリポジトリを自分のアカウントに丸ごと複製し、独立して開発できるようにする
cloneクローン生物リモートのリポジトリを履歴ごと手元に複製する
stash隠しておく、へそくり作業途中の変更を一時的に退避し、作業ツリーをきれいな状態に戻す
blame責める、非難するファイルの各行を最後に変更した commit と作者を表示する(責めるためではなく経緯を調べるため)

誤解が多いのが pull request です。名前から「自分の変更を相手に pull してもらう」と考えると、ほぼ合っています。自分のブランチの変更を、相手(リポジトリの管理者)が取り込む(pull する)ことを依頼する、という意味です。GitLab では同じ仕組みを merge request と呼びます。

git clone https://example.com/team/app.git   # clone: 履歴ごと複製git switch -c feature/login                  # branch: 作業線を分けるgit add login.ts                             # stage: commit する変更を選ぶgit commit -m "Add login form"               # commit: 履歴に記録git push -u origin feature/login             # push: リモートへ送るgit pull                                     # pull: リモートの変更を取り込む
Git の基本的な流れ(単語と操作の対応)

開発の流れとチケットの単語

単語日常の意味開発での意味
issue問題、(雑誌の)号、発行するGitHub などで不具合、要望、作業を記録して追跡するためのチケット
ticket切符、入場券作業や問い合わせを 1 件ずつ管理する記録。Jira などのツールで使う
deploy(部隊を)配置する、展開するアプリや変更をサーバーなどの実行環境に反映する
release解放する、発売する利用者が使える版として公開すること、またはその版
ship船、出荷する機能や製品を利用者に届ける(リリースする)こと
build建てる、組み立てるソースコードから実行できる成果物を作る処理。The build is broken は「ビルドが失敗する状態」
hotfix(日常ではほぼ使わない)本番の不具合を通常のリリースを待たずに急いで出す修正
bumpぶつかる、こぶバージョン番号を上げる。Bump to 1.2.0 は「1.2.0 に上げる」
legacy遺産、受け継いだもの古くて保守しにくいコード。ほめ言葉ではないことが多い

deploy と release は混同されがちですが、区別されることがあります。deploy はサーバーに新しいコードを置いて動かすこと、release はそれを利用者に公開することです。機能フラグ(feature flag)で新機能を隠したまま deploy しておき、準備ができたら release する、という運用もあります。どこまでを指すかはチームによって違うので、迷ったら確認すると安全です。

プログラミングと Linux の単語

単語日常の意味開発での意味
kill殺すLinux でプロセスにシグナルを送るコマンド。既定は終了を依頼する SIGTERM で、-9(SIGKILL)は強制終了
daemon悪魔、守護神(demon と同語源)バックグラウンドで常駐して動き続けるプロセス。sshd、crond のように末尾に d が付くことが多い
mockあざける、模造のテストで本物の部品の代わりに使う偽物。呼び出された回数や引数を確かめられる
flag旗コマンドの動作を切り替えるオプション(-v、--force など)。真偽値の変数や機能フラグの意味でも使う
throw投げる例外を発生させる(throw new Error(...))
catch捕まえるtry の中で発生した例外を受け止めて処理する
shell貝殻コマンドを受け取って実行するプログラム(bash、zsh など)
port港ネットワークで通信先のプログラムを区別する番号(80、443 など)
cache隠し場所取得や計算の結果を保存しておき、次に速く返す仕組み
kill = いきなり強制終了、ではない

kill 1234 は、プロセス 1234 に SIGTERM を送り「終了してください」と依頼します。プロセスは後片付けをしてから終わることができます。kill -9 1234 は SIGKILL を送り、後片付けの機会を与えずに止めます。書きかけのファイルが壊れることもあるため、まず kill を試し、止まらない場合に -9 を検討するのが一般的な順番です。

チャットとレビューの略語

略語元の言葉意味と使われ方
LGTMLooks Good To Me「問題ないと思います」。レビューでの承認の意味で使う
nitnitpick(細かいあら探し)直さなくてもよい細かい指摘。「nit: 変数名」のように先頭に付ける
WIPWork In Progress作業途中でまだ完成していない。PR のタイトルなどに付ける
PTALPlease Take Another Look「もう一度見てください」。修正後の再レビュー依頼
IMO / IMHOIn My (Humble) Opinion「私の意見では」。必須ではない提案に添える
blocker(妨げるもの)作業やリリースを止めている問題。最優先で解決が必要
TL;DRToo Long; Didn't Read「要約すると」。長文の先頭や末尾の要約に付ける

略語はチームや言語圏によって使う頻度が違います。自分が書くときは、相手が知っているか分からない略語を避けるか、最初は略さずに書くと誤解を防げます。また「It works on my machine.(自分の環境では動く)」は、問題が解決したという報告ではなく、相手の環境で再現する不具合の切り分けがまだ済んでいない状態を表すことが多い言い回しです。

覚え方と確かめ方

  • 日常の意味と開発での意味をセットで覚える(例:ship は「船」ではなく「届ける」)
  • 公式ドキュメントの用語集(Git の glossary など)で定義を確認する
  • コマンドの単語は実際に手を動かして確かめる(git stash、kill など)
  • チャットで意味が分からない略語は、推測で進めずに聞き返す
  • チームで意味が揺れる単語(deploy と release など)は、使う前に定義をそろえる

単語の意味を取り違えると、作業そのものを間違えることがあります。「Can you kill the job?」を「ジョブを削除して」と受け取ってジョブ定義を消す、「Revert the commit」を「commit を消して」と受け取って履歴を書き換える、といった取り違えです。revert は commit を打ち消す新しい commit を作る操作で、元の commit は履歴に残ります。意味が二通りに取れるときは、操作を実行する前に確認するのが安全です。

問題で確かめる

この記事の内容を、制限時間つきの問題で確かめられます。

参考

よくある質問

Git の commit とはどういう意味?

変更内容をリポジトリの履歴に 1 つの記録として保存する操作です。保存された記録そのものも commit と呼びます。日常英語の「約束する」とは意味が違います。

GitHub の issue とは何?

不具合、要望、作業などを記録して追跡するためのチケットです。「発行する」という意味ではありません。担当者やラベルを付けて、対応状況を管理します。

deploy と release の違いは?

deploy はアプリや変更をサーバーなどの実行環境に反映すること、release は利用者が使える版として公開することです。同じ意味で使うチームもあるため、迷ったら確認します。

LGTM とはどういう意味?

Looks Good To Me の略で、「問題ないと思います」という意味です。コードレビューで変更を承認するときに使われます。

Linux の kill は何をするコマンド?

プロセスにシグナルを送るコマンドです。既定では SIGTERM を送り終了を依頼します。kill -9 は SIGKILL を送り、後片付けをさせずに強制終了します。