You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
はじめに Claude Code、GitHub Copilot、Cursor など、様々な AI ツールが同時に複数のタスクを並行して処理することを可能にしました。しかし、従来の Git ワークフローでは、ブランチ間の切り替えによる作業の中断や、複数のタスクを同時進行する際のコンフリクトが課題となっています。 そこで注目されているのがGit Worktreeです。この記事では、Git Worktree の基本概念と使い方を紹介します。 従来の Git ワークフローの課題 ブランチ切り替えの問題点 従来の Git ワークフローでは、異なる機能やバグ修正を行う際にgit checkoutやgit switchでブランチを切り替える必要がありました: # 機能Aの開発中... git add . git commit -m "WIP: 機能Aの途中" # 緊急のバグ修正が必要 git switc
こんにちは!「家族アルバム みてね」(以下、みてね)SREグループのおじまです。 今回は、みてねの開発プロセスを支えるデプロイパイプライン、特にブランチ戦略を改善し、ステージング環境における占有問題などの課題を解決したお話をご紹介します。 みてねの開発フローとこれまでの課題みてねでは、ブランチ戦略としてGitHub Flowを採用しています。GitHub Flow では、はじめにメインブランチからフィーチャーブランチを作成します。フィーチャーブランチで機能開発を行った後、プルリクエストを作成します。フィーチャーブランチは、プルリクエストにおけるコードレビューを経て、メインブランチにマージされます。メインブランチは常にデプロイ可能な状態に保たれます。GitHub Flowは、シンプルで分かりやすいのが特徴です。 しかし、GitHub Flow自体には、本番環境以外へのデプロイ方法について明確
バージョン管理ソフトウェア「Git」は2025年4月7日に最初のコミットから20年を迎えました。Gitの20周年を記念して、GitHubがリーナス・トーバルズ氏に対するインタビューを実施しています。 Git turns 20: A Q&A with Linus Torvalds - The GitHub Blog https://github.blog/open-source/git/git-turns-20-a-qa-with-linus-torvalds/ GitはLinuxの生みの親であるトーバルズ氏によって開発されたバージョン管理ソフトウェアで、Gitの最初のコミットは現地時間の2005年4月7日です。当時、Linuxカーネルの開発プロジェクトではバージョン管理ソフトウェアとして「BitKeeper」を用いていましたが、ライセンス上の問題でBitKeeperが使用不可能となったこと
はじめに Gitで管理するプロジェクトには.gitというディレクトリがあり、その中にGitの管理情報が入っている。その中には、全てのコミットや、いろんなバージョンのファイル、ブランチ、タグといった情報が格納されている。Gitを操作するにあたり、この中身がどうなっているかを理解する必要はないし、もし中身を覚えたとしても、操作方法は変わらないまま、内部実装だけ変更になる可能性もある。それでも、Gitの仕組み、特に様々な情報が.gitにどのように格納されているかを知っておくのは二つの理由から有用だと考える。 一つ目の理由は、「物が動く仕組み」を知っておくことが教養だからだ。車を運転するのに、アクセルを踏めば進み、ブレーキを踏めば止まり、ハンドルを回せば曲がることを知っていれば十分だ。しかし、シリンダーにガソリンが噴射され、ピストンで圧縮したところで点火し、爆発する力でピストンが押される、という直
GitHub Advent Calendar 2024の14日目の記事です。昨日はwa-chan222さんの未経験から始めたGitHub活用の基本と学びでした。 はじめにフューチャー社内の有志メンバーでGitブランチフローの規約を作成しました。 ひとまずは形になったので紹介します。 Gitブランチフロー規約 | Future Enterprise Coding Standards ※GitHub/GitLabを利用し、トランクベース開発を採用しないアプリケーション開発を想定しています。 内容へのフィードバックは、Issueかツイッター宛にメンションを入れてコメントを貰えると幸いです。 なぜ今更Git?Gitは2005年に公開され、2007年のGitHub登場以降、バージョン管理ツールとして爆発的に普及しました。現在では、業界のデファクトスタンダードと呼べるほどの地位を確立しています。 公開
1つのIssueが大きくなると1 Pull Requestで大量の差分が発生します。 そうなるとレビュワーに負担がかかり、コンフリクトの可能性も高まり、コードレビューを効率よく進めることができません。 このINVEST原則を守ることでチームはより効果的に作業を進め、柔軟に対応して開発を進めることができます。 Git Flow Git Flowは5種類(main, hotfix, release, develop, feature)のブランチを運用するブランチ戦略です。 2010年に提唱された有名なブランチ戦略です。 オンラインサービスのように継続的デリバリーするコードを想定して作られた戦略ではないです。 main ブランチ 常にリリースできる状態を保つ hotfix, develop へ切り出す このブランチへの直pushはNG hotfix ブランチ バグ修正など緊急時に対応するためのブ
LazygitでCommit Messageを作成する 最近Git Commit MessageをCopilotChat.nvimに生成してもらっているのですが、その際の便利設定を紹介します。 CopilotChat.nvimについて詳しくは以下の記事を参照してください。 これは何をしているかというと ftplugin/gitcommit.luaにCopilotChatの設定を追加 gitcommitのバッファが開かれた時にCopilotChatを自動で起動 こうしておくことで shell commandでgit commitを実行するとNeovimが立ち上がる CopilotChatが自動で起動してCommit Messageを生成してくれる c-yで生成されたCommit MessageをBufferに貼り付ける。気に入らなかったら <leader>cで再生成 :qqでBufferの保
より良いコミットメッセージを残すことは Git を使った開発をする上で重要なことです。優れたコミットメッセージは、それを読んだ人がコードを理解するのに大いに役立ちます。 では、どのようなメッセージが良いもので、どのようなメッセージが悪いものなのでしょうか? それについて掘り下げていきたいと思います。 基本的な Git Commit Message の書き方 詳しいところは、以下の3サイトを参照してください。特に「How to Write a Git Commit Message」には基本がすべて書かれています。 How to Write a Git Commit Message https://cbea.ms/git-commit/ Gitのコミットメッセージをうまく作成する7つのルール (「How to Write a Git Commit Message」の和訳記事) https://
公式ドキュメントには以下のように書かれています。 THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE. 和訳:このコマンドは実験的です。動作が変更される可能性があります。 この記事の内容と違う場合があるので、ご注意ください。 この記事は2024年2月28日時点の情報です。 え?まだgit checkoutしてるの? git checkoutといえば、ブランチを切り替えたり、git addしたファイルを元に戻したりするコマンドですが、それはもう古いです。 実は2019年8月リリースのgit 2.23からgit switchとgit restoreが追加されました。 知らなかった人も多いのではないでしょうか?(恥ずかしながら私は知らなかった...) 「先輩、checkoutってなんすか?」と後輩に聞かれる前に、この記事を読んでgit sw
QAチームのいさな(@isanasan_)です。今回は筆者のお気に入りのツールをご紹介します。 モチベーション 先週コードレビューについての記事を書きました。 ジョインから1ヶ月経ちコードレビューで気を付けていることをまとめた こちらの記事の中でrebaseを使ってコミットログを整形することがレビューコストの低下に繋がると書きました。 しかし筆者はgitをcli上で使いこなすのはそれなりに難しいものだと感じており、特にinteractive rebaseは初学者にとって非常にとっつきにくい機能だと思っています。 そこで、今回は筆者が愛用しているgitのクライアントツールであるlazygitを紹介します。本稿ではハンズオン形式でgitの歴史改変の操作を説明していきます。尚、ハンズオンの題材に使ったコードは動作確認などはしていません。本題とは関係ないので細かいツッコミは無しでお願いします。 #
git-replay というコマンドが追加されたみたいなので触ってみた。とは言っても、自分はあんまり凝ったことはやらないので、細かいところまでは踏み込まずに最低限の使い方ができたらいいなってくらいの気持ちで触った。 github.blog この記事には、こんな風に書いてある↓ git replay exists to address these challenges. It offers an alternative to git rebase that, in addition to being far more performant: Can operate in bare repositories. Can rebase branches other than the currently checked-out one (in non-bare repositories). Can
February 16, 2024 Hello! I always wish that command line tools came with data about how popular their various options are, like: “basically nobody uses this one” “80% of people use this, probably take a look” “this one has 6 possible values but people only really use these 2 in practice” So I asked about people’s favourite git config options on Mastodon: what are your favourite git config options
この記事は GMOアドマーケティング Advent Calendar 2023 5日目の記事です。 皆さん、お久しぶりです。GMOアドマーケティングのGood!Apps開発担当のharuです。 最近、弊社の開発部ではFour Keysを導入し、開発者体験や生産性の向上に注力しています。今回は、Four Keysの計測に必要な処理の一部を自動化しましたので、その詳細についてお話しできればと思います。 Four Keysとは まず、Four Keysについて簡単に説明します。 Four Keysは、GoogleのDevOps Research and Assessmentチームが提唱した、ソフトウェア開発チームのパフォーマンスを評価するためのフレームワークです。このフレームワークは以下の4つの指標で構成されています。 デプロイの頻度: 本番環境へのリリースの頻度を示します。頻繁なリリースは、ア
こんにちは、みみぞうです。 ナビタイムジャパンで『システムや開発環境、チームの改善』を担当しています。 今回はターミナルで動くGitクライアントツール『GitUI』を紹介します。 本稿は以下のいずれかに当てはまるような方をターゲットにしています。 ターミナルで動くGitクライアントツールを探している方 NeovimからシームレスにGitの操作をしたい方 Windowsで使えるGitクライアントツール探しに困っている方 ℹ️ Neovimは、Vimをベース拡張性を考慮してモダンな技術で作られたプロダクトです。 GitUIとは『GitUI』はターミナル上でもGUIのように快適なGit体験を提供するOSSのツールです。 GitUI provides you with the comfort of a git GUI but right in your terminal extrawurst/gi
はじめに CHANGELOGを自動生成するツールは多種多様です。Conventional Commitsに対応したコミットメッセージから生成するもの、GitHub上でのリリースやタグ付けまで行うものなどがあります。 CHANGELOGを自動生成する際には、バージョンタグに対応したコミットメッセージを基にしてくれると便利です。コミットメッセージを適切に付けるだけで、後はツールにお任せできます。ただし、いくつかの懸念点が存在します。 懸念点 1: チキンエッグプロブレム CHANGELOG自動生成ツールは便利ですが、一つの大きな問題があります。それは、Gitのタグとコミットメッセージを基にCHANGELOGを生成するため、タグを作成する前にはCHANGELOGが存在しないという点です。この状況は「チキンエッグプロブレム」に類似しています。具体的には、新しいバージョン(卵)がリリースされる際には
はじめに bun installで生成されるBunのロックファイルはbun.lockbというバイナリファイルである。 公式を読むと性能向上のためにバイナリ化していることがわかる。 Why is it binary? In a word: Performance. Bun’s lockfile saves & loads incredibly quickly, and saves a lot more data than what is typically inside lockfiles. 困ること まさにこのツイートの問題で、Git管理したいのにバイナリが出力されるのは不便で、どうしよう? と実際の本番利用では困るだろう。 解決方法 案1. git diffで差分確認する 公式のページを読むと、どうやら設定追加でgit diffができるらしい。 bun install request g
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く