- 変更は、作業ディレクトリ、ステージング領域、リポジトリの 3 つの領域を経由して行われます。
git statusは最も安全なコマンドなので、常に実行してください。- 共有コミットを元に戻すには
git revertを使用し、確実なローカル作業にはgit reset --hardを保持します。 git reflogは通常、失われたと思われるコミットを救出することができます。
すべての Git コマンドを覚えている人はいませんし、覚える必要もありません。この Git コマンド チートシート は、日常の作業のほぼすべてをカバーする小さなセットに焦点を当てており、実行しようとしているジョブごとにグループ化されています。
Git for Windows を使用して、使い捨てのデモ リポジトリでローカル コマンドをテストしました。表示されている出力は、その実行からのものであり、行末の警告は削除されています。コミットハッシュは異なります。リモート コマンドにはサーバーが必要なので、それらは実行しませんでした。バージョン管理は初めてですか? 初心者向けの Git チュートリアルから始めてください。
Git の考え方: 3 つの領域
変更箇所がわかれば、ほとんどの混乱は解消されます。
| エリア | 保持しているもの | そこに移動したのは、 |
|---|---|---|
| 作業ディレクトリ | ファイルを編集するとき | 編集 |
| ステージング領域 (インデックス) | 次のコミットのために選択された変更 | git add |
| ローカルリポジトリ | 保存されたコミット履歴 | gitコミット |
| リモートリポジトリ | GitHub などの共有コピー | gitプッシュ |
プロジェクトのセットアップと開始
| コマンド | 何をするのか |
|---|---|
git config --global user.name "Asha" |
コミットにあなたの名前を設定します |
git config --global user.email "a@b.com" |
コミット時にメールアドレスを設定します |
git config --global init.defaultBranch main |
新しいデフォルトのブランチに名前を付けます main |
gitの初期化 |
現在のフォルダーにリポジトリを作成します |
git clone <url> |
既存のリポジトリをダウンロードします |
git config --list |
現在の設定を表示します |
作業内容を保存する
| コマンド | 何をするのか |
|---|---|
git ステータス |
何が変わったのかを示す |
git add file.txt |
1 つのファイルをステージングします |
git add 。 |
このフォルダー内のすべての変更をステージングします |
git add -p |
ファイルの選択された部分をステージングします |
git diff |
ステージングされていない変更を表示します |
git diff --staged |
何がコミットされるかを示します |
git commit -m "メッセージ" |
段階的な変更をコミットとして保存します |
git commit -am "メッセージ" |
追跡されたファイルをステージングしてコミットします |
新しいファイルが移動するにつれて、短いステータス ビューがどのように変化するかを次に示します。
$ echo "hello" > app.txt
$ git status --short
?? app.txt
$ git add app.txt
$ git status --short
A app.txt
$ git commit -m "Add app file"
?? は追跡されていないことを意味し、A はステージングに追加されたことを意味します。 2 列形式では、左の列はステージング領域、右の列は作業ディレクトリです。 git commit -am では新しいファイルがスキップされるため、最初にそれらを明示的に追加する必要があることに注意してください。
支店
| コマンド | 何をするのか |
|---|---|
gitブランチ |
地元の支店をリストします |
git ブランチ -a |
リモートブランチを含む |
gitスイッチ機能/ログイン |
支店に移動します |
git switch -c 機能/ログイン |
ブランチを作成してそこに移動します |
git merge 機能/ログイン |
そのブランチを現在のブランチにマージします |
gitリベースメイン |
main の上にコミットを再生します。 |
git Branch -d 機能/ログイン |
マージされたブランチを削除します |
git Branch -D 機能/ログイン |
マージされていないブランチを強制的に削除します |
最初から最後までの小さな機能ブランチを次に示します。
$ git switch -c feature/login
$ echo "login" >> app.txt
$ git commit -am "Add login"
$ git switch main
$ git merge --no-edit feature/login
$ git log --oneline --graph
* d0450b6 Add login
* 676b684 Add app file
$ git branch -d feature/login
Deleted branch feature/login (was d0450b6).
main が移動していないため、履歴は直線になっています。そのため、Git は早送りマージを実行しました。古いガイドにはまだ git checkout が表示されます。それは機能しますが、新しい switch および restore コマンドは、その多くのジョブをより明確なジョブに分割します。マージとリベースのどちらを選択するかについては、Git マージとリベースを参照してください。
リモコンの操作
| コマンド | 何をするのか |
|---|---|
git リモート -v |
リモートとその URL をリストします。 |
git リモート追加オリジン <url> |
リモコンを接続します |
gitフェッチ |
マージせずに変更をダウンロードする |
git プル |
フェッチしてブランチに統合します |
gitプッシュ |
コミットをアップロードします |
git Push -u オリジン機能/ログイン |
新しいブランチをプッシュして追跡します |
git Push Origin --delete 機能/ログイン |
リモートブランチを削除します |
git Push --force-with-lease |
強制的にプッシュしますが、他の人がプッシュしていない場合に限ります |
fetch はファイルを変更しないため、常に安全です。リベース後にブランチを上書きする必要がある場合は、同僚の新しいコミットを消去することを拒否するため、プレーン --force よりも --force-with-lease を選択してください。
隠し場所: 仕事を脇に置きます
Stash は、タスクを切り替える必要があるがコミットする準備ができていない場合に役立ちます。
$ echo "wip" >> app.txt
$ git stash
$ git status --short
# clean, the change is put away
$ git stash pop
$ git status --short
M app.txt
| コマンド | 何をするのか |
|---|---|
git スタッシュ |
変更を保存し、作業ディレクトリをクリーンアップします |
git stash -u |
追跡されていないファイルが含まれる |
git スタッシュリスト |
保存された隠し場所を表示します |
git スタッシュポップ |
最新のスタッシュを復元して削除します |
git stash 適用 |
復元しますが、保存されたままになります |
履歴を見る
| コマンド | 何をするのか |
|---|---|
git log --oneline |
コミットごとに 1 行を表示します |
git log --oneline --graph --all |
すべての枝を描画します |
git log -p file.txt |
ファイルの時間の経過に伴う変化を表示します |
git show <ハッシュ> |
1 つのコミットを詳細に表示します |
git 非難ファイル.txt |
各行を最後に変更した人を表示します |
git reflog |
HEAD が訪れたあらゆる場所でショーを開催 |
git bisect |
バグを追加したコミットをバイナリ検索します |
間違いを元に戻す:「…したいのですが」
これはほとんどの人が調べる部分です。自分の状況を見つけてください:
| 状況 | コマンド |
|---|---|
| ファイル内のステージングされていない編集を破棄する | git 復元ファイル.txt |
| ファイルのステージングを解除しますが、編集内容は保持します | git list --staged file.txt |
| 最後のコミットのメッセージまたはファイルを修正する | git commit --amend |
| ステージングされた変更を維持しながら、最後のコミットを元に戻します | git restart --soft HEAD~1 |
| 変更をステージングしないまま、最後のコミットを元に戻します | git リセット HEAD~1 |
| プッシュされたコミットを安全に元に戻す | git revert <ハッシュ> |
| ローカルの変更をすべて破棄する | gitリセット --ハード |
| 追跡されていないファイルを削除する | git clean -fd (-nでプレビュー) |
| 「失われた」コミットを回復する | git reflog、次にgit branch rescue <hash> |
ヒント: 危険を冒す前に、git branch backup を実行してください。費用はかからず、戻るためのラベルが与えられます。 git reset --hard と git clean は、コミットされていない作業を永久に破壊する可能性があり、reflog ですら回復できません。
リセット、復帰、復元
これら 3 つの名前は多くの混乱を引き起こしますが、まったく異なることを行います。
| コマンド | に基づいて行動する | 歴史を変える? | 共有ブランチでは安全ですか? |
|---|---|---|---|
git 復元 |
ファイル | いいえ | はい、ただしローカル編集は破棄されます |
git を元に戻す |
反対の要素を追加することによるコミット | それに追加します | はい |
gitリセット |
ブランチポインタ | 書き換えます | いいえ |
私たちのデモでは、間違った行をコミットし、それを元に戻しました。ファイルは以前の内容に戻りましたが、間違いは履歴としてログに表示されたままでした。
$ echo "oops" >> app.txt
$ git commit -am "Bad change"
$ git revert --no-edit HEAD
$ cat app.txt
hello
login
その後、git reset --soft HEAD~1 は最後のコミットを削除しましたが、その変更はステージングされたままであり、git status --short では M app.txt として示されていました。
タグ
| コマンド | 何をするのか |
|---|---|
gitタグ |
タグのリスト |
git タグ v1.0 |
軽量タグを作成します |
git tag -a v1.0 -m "リリース" |
リリースに最適な注釈付きタグを作成します |
git プッシュ オリジン v1.0 |
タグをプッシュします(デフォルトではタグはプッシュされません) |
GitHub Actions CI/CD ガイド で説明されているように、タグはリリース パイプラインをトリガーすることがよくあります。
シンプルな日常ワークフロー
git switch main
git pull
git switch -c feature/search
# edit files
git status
git add -p
git commit -m "Add search by product name"
git push -u origin feature/search
# open a pull request, get a review, then merge
「ログイン リダイレクトを修正する」など、命令文の変更を説明するコミット メッセージを作成します。 6 か月後にこのログを読んだとき、あなたは自分自身に感謝するでしょう。
よくある間違い
- シークレットのコミット。 後のコミットでファイルを削除しても、そのファイルは履歴から削除されません。すぐにシークレットをローテーションし、
.gitignoreを使用します。 - 共有履歴の書き換え。 他の人が既にプルしたコミットをリセットまたはリベースしないでください。
-
git add .を盲目的に使用します。 最初にgit statusをチェックして、ビルド ファイルとログが残らないようにします。 - プレーン
--forceを使用します。--force-with-leaseを使用します。 - 大規模なコミットを行う。 小さいコミットの方が、レビュー、取り消し、分割が簡単です。
まとめ
3 つの領域と 12 のコマンドを学習すれば、Git は怖いものではなくなります。元に戻すテーブルを手元に置いて、git status と git reflog がセーフティ ネットであることを忘れないでください。自信を築くには、使い捨てのリポジトリを作成し、意図的に壊して修復します。そこが間違いを犯しやすい場所だからです。
よくある質問
最もよく使われる Git コマンドは何ですか?
毎日のセットは、git status、追加、コミット、プッシュ、プル、スイッチ、ブランチ、マージ、ログです。これらのいくつかのコマンドは、通常の勤務日のほとんどをカバーします。
Git での最後のコミットを元に戻すにはどうすればよいですか?
ローカルの場合は、 git replace –soft HEAD~1 を使用して変更を段階的に維持します。すでにプッシュしている場合は、他のユーザーにとって履歴がそのまま残るように git revert を使用します。
git fetch と git pull の違いは何ですか?
git fetch は新しいデータのみをダウンロードし、ファイルはそのまま残します。 git pull はフェッチし、それらの変更を現在のブランチにマージまたはリベースします。
git restart と git revert の違いは何ですか?
git replace はブランチ ポインタを移動し、履歴を書き換えることができます。 git revert は、以前のコミットを取り消す新しいコミットを追加するため、共有ブランチ上で安全になります。
Git で削除されたブランチを復元できますか?
通常、はい。 git reflog を使用して最後のコミットを検索し、Git がまだクリーンアップしていない場合は、git ブランチ名とそれに続くハッシュを使用してブランチを再作成します。
学び続ける
テスト、WordPress、または SEO についてサポートが必要ですか?
私たちは、チームがより優れたソフトウェアを出荷し、サイトを成長させるのを支援します。あなたが取り組んでいることを教えてください。明確な次のステップを提案します。
詳しいガイドはこちら テスト、AI、最新の開発
この記事は気に入りましたか?トピックを選択して、最新のチュートリアルに直接アクセスしてください。
AI 幻覚の説明: 言語モデルが物事をでっち上げる理由とそれを軽減する方法
AI 幻覚について説明しました。幻覚とは何か、言語モデルが幻覚を生成する理由、一般的な種類、グラウンディングとプロンプトで幻覚を軽減する方法、そして私たちが実行した簡単なチェックです。
記事を読む →DevOps環境変数の説明: .env ファイル、シークレット、および設定が正しく行われている
実行した Python の例を使用して環境変数について説明します。環境変数の読み取りと設定、すべての値が文字列である理由、.env ファイル、プロセスの継承、シークレット、検証について説明します。
記事を読む →ソフトウェア開発API レート制限の説明: アルゴリズム、ヘッダー、および 429 エラーの処理
API レート制限については、実行したシミュレーションで説明します。トークン バケット、固定ウィンドウ、スライディング ウィンドウ、429 応答、レート制限ヘッダー、バックオフによる再試行、およびテスト制限です。
記事を読む →テスト自動化Python でのモッキング:unittest.mock、patch、およびテストを嘘にする間違い
Python でのunittest.mockによるモック、テスト済み: モックとreturn_value、side_effect、名前が使用されている場所のパッチ、仕様と自動仕様、日付のモック、およびよくある間違い。
記事を読む →ソフトウェアテストコードカバレッジの説明: 回線カバレッジとブランチカバレッジ、および 100% の実際の意味
実際のcoverage.pyの実行でコードカバレッジを説明: 行、分岐、条件のカバレッジ、レポートの読み取り、100%のカバレッジでもバグを見逃す可能性がある理由、および賢明なターゲット。
記事を読む →データベースとSQLSQL における DELETE、TRUNCATE、DROP: 違い、ロールバック、およびそれぞれをいつ使用するか
DELETE、TRUNCATE、DROP について、テスト済み SQL を使用して説明します。それぞれの削除内容、ロールバック、トリガー、ID リセット、速度、PostgreSQL、MySQL、SQL Server、SQLite の違いについて説明します。
記事を読む →データベースとSQLSQL ビューの説明: 作成、使用、落とし穴の回避、例を示します
SQL ビューについて、実行したクエリとともに説明しました。ビューの作成、ライブ結果、列の非表示、パフォーマンス、更新可能なビューと具体化されたビュー、壊れた依存関係、ベスト プラクティスについて説明します。
記事を読む →ソフトウェア開発TypeScript インターフェイスと型: 実際の違い、コンパイラでテスト
TypeScript インターフェイスと型、実際のコンパイラでチェック: 両方でできること、片方だけでできること、宣言のマージ、拡張と交差、および従うべき簡単なルール。
記事を読む →ソフトウェア開発Python *args と **kwargs の説明: 柔軟な関数と明確な例
Python の *args と **kwargs について、実行したコードで説明しました。パッキングとアンパッキング、パラメーターの順序、キーワードのみの引数と位置のみの引数、デコレーター、一般的なエラーです。
記事を読む →ソフトウェア開発Python Lambda 関数: 構文、実際の用途、および使用すべきでない場合
Python のラムダ関数について、実行したコードとともに説明します。構文、キーによるソート、マップとフィルター、クロージャー、遅延バインディング トラップ、通常の def がより適切な選択である場合。
記事を読む →人工知能AIエージェントとは何ですか?シンプルなエージェント ループを実行できる仕組み
AIエージェントとは何ですか?エージェント ループ、ツール、メモリ、ガードレール、実行した小さな Python ループ、実際のリスク、およびシンプルなチャットボットがより良い選択である場合についてのわかりやすいガイドです。
記事を読む →DevOpsモニタリングと可観測性: ログ、メトリクス、トレースによる本当の違い
モニタリングと可観測性について説明: 既知および未知の障害、ログ、メトリクスとトレース、チェックアウト インシデントのウォークスルー、ゴールデン シグナル、OpenTelemetry、および便利なアラート。
記事を読む →DevOpsDocker ボリュームとバインド マウント: コンテナ データを正しい方法で保持する
Docker ボリュームとバインド マウントについて説明します。コンテナ データが消える理由、名前付きボリューム、バインド マウント、tmpfs、Compose の例、バックアップ、アクセス許可、およびそれぞれをいつ使用するかについて説明します。
記事を読む →テスト自動化TDD と BDD: 主な違い、1 つの機能が両方の方法で構築され、それぞれをいつ使用するか
TDD と BDD は、両方の方法で構築された 1 つの割引機能で説明されています。実行したコードによるレッド-グリーン-リファクタリング、Given-When-Then シナリオ、ツール、トレードオフ、およびそれぞれをいつ使用するかです。
記事を読む →ソフトウェアテストユーザー受け入れテスト (UAT): プロセス、チェックリスト、および実際の例
ユーザー受け入れテストの説明: 誰が実行するか、QA との違い、7 段階のプロセス、UAT テスト ケース テンプレート、チェックリスト、サインオフ基準、およびよくある間違い。
記事を読む →データベースとSQLSQL NULL 値の説明: IS NULL、COALESCE、NULLIF、および回避すべきトラップ
SQL の NULL 値について、実行したクエリで説明しました。3 つの値のロジック、IS NULL、COALESCE、NULLIF、集計、結合、並べ替えでの NULL の扱い方、およびそれが密かに引き起こすバグです。
記事を読む →データベースとSQLSQL CASE WHEN ステートメント: 構文、実際の例、およびよくある間違い
SQL CASE WHEN では、単純な検索フォーム、条件順序、SUM を使用したピボット、COUNT トリック、カスタム並べ替え、更新、回避すべき NULL トラップなど、実行したクエリを使用して説明しました。
記事を読む →ソフトウェア開発JWTとは何ですか? JSON Web トークンを実際の例で説明する
JWTとは何ですか? JSON Web トークンについて説明しました。3 つの部分、実行したコード内で構築および改ざんされたトークン、JWT とセッション、ストレージ、リフレッシュ トークン、およびセキュリティ上の間違いです。
記事を読む →ソフトウェア開発JavaScript イベントループの説明: コールスタック、マイクロタスク、タイマーと例
JavaScript イベント ループについて、実行したコードで説明しました。コール スタック、タスク キュー、マイクロタスク キュー、setTimeout 0 が即時ではない理由、ブロッキング、スターベーション、およびインタビュー クイズです。
記事を読む →ソフトウェア開発Python ジェネレーターと収量の説明: 実際の例でメモリを節約する
Python ジェネレーターと Yield について、実行したコードを使用して説明します。一時停止と再開の方法、メモリ節約の測定、パイプライン、無限シーケンス、Yield from、send、および一般的なトラップについて説明します。
記事を読む →人工知能埋め込みとは何ですか?ベクトルとコサインの類似度を簡単に説明
埋め込みとは何ですか?ベクトル、コサイン類似度、セマンティック検索に関する平易なガイド。私たちが実行した小さな例、一般的な使用法、モデルの選択、既知の制限が含まれています。
記事を読む →DevOpsBlue-Green デプロイメントと Canary デプロイメント: 違い、トレードオフ、および選択方法
ブルー グリーン デプロイメントとカナリア デプロイメントについて説明: それぞれの仕組み、コスト、リスクとロールバック、テストした安定したユーザー バケット化、データベース移行、ローリング アップデート、および選択方法。
記事を読む →テスト自動化不安定なテスト: 問題の原因とそれを永久に修正する方法
不安定なテストについては、私たちが実行したデモを使用して説明しました。主な原因、確認および診断する方法、タイミングの適切な修正、共有された状態と日付、隔離プロセスなどです。
記事を読む →ソフトウェアテスト負荷テストとストレス テスト: 違い、メトリクス、および k6 の例
ロード テストとストレス テストについて説明します。それぞれが何を証明するか、スパイク テストとソーク テスト、重要な指標、平均値が誤解を招く理由、K6 の例、テストの計画方法について説明します。
記事を読む →ソフトウェアテストテスト ケースとテスト シナリオ: 主な違い、例、およびそれぞれをいつ使用するか
テスト ケースとテスト シナリオの説明: 明確な定義、並べて表、シナリオからケースへの 1 つのパスワード リセット機能、テンプレート、およびそれぞれをいつ使用するか。
記事を読む →データベースとSQLSQL クエリの最適化: 実行プランを読み取り、タイミングを考慮して遅いクエリを修正
SQL クエリの最適化は 100 万行でテストされています。実行プランの読み取り、適切なインデックスの追加、検索対象外のフィルターの修正、複合インデックスとキーセットのページネーションの使用。
記事を読む →データベースとSQLSQL UNION と UNION ALL: 違い、例、テストされたパフォーマンス
SQL UNION と UNION ALL について、実行したクエリで説明しました。重複、両方に従うルール、実際のデータのバグ、測定されたパフォーマンス、INTERSECT と EXCEPT、およびそれぞれをいつ使用するかについて説明します。
記事を読む →ソフトウェア開発JavaScript Fetch API チュートリアル: GET、POST、エラー処理、タイムアウト
ローカル サーバーに対してテストされた JavaScript Fetch API チュートリアル: GET と POST、404 がスローされない理由、再利用可能なヘルパー、クエリ文字列、タイムアウト、CORS、およびよくある間違い。
記事を読む →ソフトウェア開発Python ファイル処理: 読み取り、書き込み、CSV、JSON、パスライブラリと例
Python のファイル処理について、実行したコードで説明します。オープン モード、大きいファイルの読み取り、CSV、JSON、パスライブラリ、バイナリ ファイル、安全な書き込み、エラー処理、およびよくある間違いについて説明します。
記事を読む →ソフトウェア開発Python のクラスとオブジェクト: 実際の例を含む OOP チュートリアル
Python のクラスとオブジェクトについて、実行したコードとともに説明します: __init__、メソッド、クラスとインスタンスの属性、継承、プロパティ、ダンダー メソッド、データクラス、およびよくある間違い。
記事を読む →人工知能大規模言語モデルとは何ですか? LLM の仕組みを誇大広告なしで説明
大規模言語モデルとは何ですか? LLM は、トークン、エンベディング、アテンション、トレーニング、温度およびコンテキスト ウィンドウ、小さな次の単語のデモ、実際の制限など、平易な言葉で説明されています。
記事を読む →DevOps初心者のための Linux コマンド: 例を含む基本ターミナル ガイド
初心者向けの Linux コマンド。ナビゲーション、ファイル、ログの表示、grep、パイプ、権限、プロセス、アーカイブなどのタスク別にグループ化されており、実用的なログ分析の例も含まれています。
記事を読む →テスト自動化Selenium と Playwright: 主な違い、コードの比較、どちらを選択するか
Selenium と Playwright の比較: アーキテクチャ、待機、ブラウザと言語のサポート、デバッグ、両方のツールでの同じテスト、移行のアドバイスと選択方法。
記事を読む →ソフトウェアテスト等価性分割: テスト設計手法を実際の例で説明
等価性パーティション化について説明しました。有効なパーティションと無効なパーティションを見つける方法、年齢、パスワード、クーポンに関する実際の例、実行したテスト、境界と組み合わせる理由。
記事を読む →ソフトウェアテストソフトウェアテストにおける重大度と優先度: 相違点、マトリックス、および実際の例
ソフトウェア テストにおける重大度と優先度について説明します。明確な定義、例を含む 4 方向のマトリックス、レベル スケール、それぞれの設定者、バグ トリアージの実行方法。
記事を読む →データベースとSQLSQL サブクエリのチュートリアル: 型、相関サブクエリ、および EXISTS と例
実行したクエリを含む SQL サブクエリのチュートリアル: スカラー、IN、FROM、SELECT サブクエリ、相関サブクエリ、EXISTS、NOT IN NULL トラップ、サブクエリ対 JOIN 対 CTE。
記事を読む →データベースとSQLSQL トランザクションと ACID の説明: COMMIT、ROLLBACK、分離レベル
SQL トランザクションと ACID について、実行した銀行振込で説明しました。COMMIT、ROLLBACK、セーブポイント、ロック、分離レベル、ダーティ リード、デッドロック、ベスト プラクティスについて説明します。
記事を読む →ソフトウェア開発Git コマンドのチートシート: 実際に使用するコマンドと例
実際のデモ リポジトリからの出力を含む、タスク別にグループ化された Git コマンド チート シート (セットアップ、ステージング、ブランチ、リモート、スタッシュ、履歴、間違いの取り消し)。
記事を読む →ソフトウェア開発JavaScript Promise の説明: then、catch、Promise.all、およびよくある間違い
JavaScript の Promise を、実行したコードで説明します。ステート、then および catch チェーン、エラー処理、Promise.all、allSettled、race および any、イベント ループ、およびよくある間違いです。
記事を読む →ソフトウェア開発Python 辞書チュートリアル: メソッド、例、一般的なパターン
私たちが実行したコードを含む Python 辞書チュートリアル: 辞書の作成、読み取り、更新、主要なメソッド、マージ、内包表記、パターンのカウントとグループ化、およびよくある間違い。
記事を読む →人工知能RAGとは何ですか?検索拡張生成を実際の例で説明する
RAGとは何ですか?検索拡張生成について、インデックス作成、チャンク化、埋め込み、検索、実際に動作する小さな Python の例、評価、一般的な失敗など、ステップごとに説明します。
記事を読む →DevOps初心者向け Terraform チュートリアル: 最初のファイルからモジュールまでのコードとしてのインフラストラクチャ
初心者向けの Terraform チュートリアル: クラウド アカウントなしで開始し、初期化、計画、適用を学び、次に変数、出力、状態、モジュール、安全なチーム ワークフローを学びます。
記事を読む →DevOpsDocker と Kubernetes: 主な違い、連携方法、どちらが必要か
Docker と Kubernetes について説明しました。それぞれの機能、同じアプリを両方で実行すること、Docker Compose と Swarm の比較、dockershim の変更、必要なものを決定する方法などです。
記事を読む →テスト自動化初心者向けの Pytest チュートリアル: フィクスチャ、パラメータ化、実際の例
pytest 9.2 で実行したテストを含む初心者向けの pytest チュートリアル: アサーション、フィクスチャ、parametrize、conftest、マーカー、tmp_path、monkeypatch、便利なフラグ、CI。
記事を読む →ソフトウェアテストソフトウェア テスト ライフ サイクル (STLC): 6 つのフェーズ、開始基準と終了基準、例
ソフトウェア テストのライフ サイクルについては、開始基準と終了基準を含む 6 つの STLC フェーズ、成果物、実際に動作するログイン機能の例、STLC と SDLC、およびアジャイルにおける STLC について説明しました。
記事を読む →ソフトウェア開発Git mergeとrebaseの違い:例と使い分け
Git mergeとrebaseの違いを、実際のログ出力、比較表、rebaseの黄金律、安全なチームワークフローで解説します。
記事を読む →ソフトウェア開発Pythonのリスト内包表記:構文・例・使うべきでない場面
Pythonのリスト内包表記を解説:構文、フィルタ、if-else、ネストしたループ、実測した処理時間、そして通常のforループの方が良い場面。
記事を読む →データベースとSQLSQL JOINを例で解説(Inner・Left・Right・Full)
サンプルのテーブルとクエリでSQL JOINを順に解説。INNER、LEFT、RIGHT、FULL、CROSS、SELFに加え、よくある間違いとパフォーマンスのコツも紹介します。
記事を読む →