Stack Map新人 Web エンジニアの地図

Git は「変更の記録」と「チームでの合わせ方」の道具。
毎日使うのに、いちばん怖がられるところを、押して動く図で。

Git とは

ファイルの変更を、いつ・誰が・何を・なぜ変えたかごと記録しておく道具です。

生まれ

最初の設定(1 回だけ)と .gitignore

新しいパソコンで Git を使い始めるときに、最初にやることです。

名前とメールを登録する

コミットには、だれが作ったかが必ず記録され、あとから変えられません。最初に 1 回だけ設定します。

git config --global user.name "Yamada Taro"
git config --global user.email taro@example.com

Pro Git「First-Time Git Setup」

GitHub とつなぐ(SSH の鍵)

パスワードの代わりに、鍵で本人だと示します。できた公開鍵(.pub の付いたファイル)を GitHub に登録し、秘密の鍵はだれにも渡しません。くわしくは Linux の「SSH と鍵」へ。

ssh-keygen -t ed25519 -C "taro@example.com"

GitHub Docs「Generating a new SSH key」

.gitignore で、入れないファイルを決める

.env(パスワードや鍵)・vendor/・node_modules/・ログなどは、Git に入れません。リポジトリの一番上の .gitignore に書き、それもコミットしてチームで共有します。GitHub が、言語ごとのひな形を公開しています。

.env
/vendor/
/node_modules/
*.log

すでにコミットしたファイルは、git rm --cached ファイル名 で記録から外してから書きます。

GitHub Docs「Ignoring files」

4 つの場所と、行き来するコマンド

変更は「作業ツリー → ステージ → 自分の PC の記録 → チームの置き場所」と進みます。コマンドを押すと、どこからどこへ動くかと説明が出ます。

ブランチを動かしてみる(マージとリベースの違い)

ボタンを押すと、コミットの枝が変わります。まずは「見本」を押して、マージ(合流のコミットができる)とリベース(1 本にまっすぐ並び直す)の違いを見比べてください。

見本:

main のコミット feature のコミット 合流(マージ)のコミット 使われなくなったコミット ・ 黒い名札が、いまいるブランチ(HEAD)

    チームの流れ(GitHub Flow)

    Web サービスの開発でよく使われる、シンプルな流れです。順番を押すと、説明が出ます。 CI で回すテストの書き方はテストのタブへ。

    ブランチの使い方、3 つの型

    プルリクエストとコードレビュー

    レビューは「間違い探し」ではなく、チームでコードを良くしていく会話です。

    コメントの書き方

    コミットメッセージ

    半年後の自分とチームへの手紙です。「何を・なぜ」が分かるように書きます。

    コンフリクト(ぶつかり)の直し方

    2 つのブランチで、同じファイルの同じ所を別々に変えると、Git はどちらを残すか決められず、人に聞いてきます。こわれたわけではありません。

    
            

    印の読み方

    <<<<<<< HEAD
    ここから下が、いまいるブランチ(HEAD)の内容
    =======
    区切り
    >>>>>>> feature
    ここまでが、取り込もうとしているブランチ(feature)の内容

    防ぐには

    • こまめに main を取り込む(何日も離れない)
    • プルリクエストを小さくする
    • 同じファイルを同時にさわるなら、先に声をかける

    困ったときの取り消し方

    Git はたいていのことを取り消せます。ただし、一部の操作は元に戻せません。「元に戻せるか」で慎重さを変える考え方は、Git でも同じです。 バグが入ったコミットを探すなら、git bisect の切り分け体験へ。

    AI 時代の Git

    AI がコミットやプルリクエストを作るようになっても、「マージを決めるのは人」という線は変えません。AI に任せる範囲の決め方はリスクのページにあります。 AI との進め方はAI と開発のタブへ。

    よく使うコマンドの早見表

    まずはこれだけ覚えれば、毎日の作業は回ります。

    やりがちなミス(チェックリスト)

    自分の作業で確かめたら、チェックを付けてみてください(この端末にだけ保存されます)。