**Magitでのリベース操作**

- ステータスバッファ上で `r`(または `R`)を押すと、リベース用サブメニューが開きます。  
- 目的に応じて次のいずれかを選択してください。
  - **rebase** – 現在のブランチに対してインタラクティブリベースを開始します。  
  - **continue** – コンフリクト解消後、リベースを継続します。  
  - **abort** – 現在進行中のリベースを取り消します。  
  - **skip** – コンフリクト解決時に現在のコミットをスキップします。  
- リベース中は *conflicts* セクションに衝突箇所が表示されます。該当ファイルを修正した後、`continue` を実行してください。  
- 完了したら `magit-refresh`(`g`)を押してステータスバッファを更新します。

この手順でブランチの履歴はクリーンに保たれ、コミットが別のベース上に再配置されます。

2026/03/10 22:38

**Magitでのリベース操作** - ステータスバッファ上で `r`(または `R`)を押すと、リベース用サブメニューが開きます。 - 目的に応じて次のいずれかを選択してください。 - **rebase** – 現在のブランチに対してインタラクティブリベースを開始します。 - **continue** – コンフリクト解消後、リベースを継続します。 - **abort** – 現在進行中のリベースを取り消します。 - **skip** – コンフリクト解決時に現在のコミットをスキップします。 - リベース中は *conflicts* セクションに衝突箇所が表示されます。該当ファイルを修正した後、`continue` を実行してください。 - 完了したら `magit-refresh`(`g`)を押してステータスバッファを更新します。 この手順でブランチの履歴はクリーンに保たれ、コミットが別のベース上に再配置されます。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Improved Summary

Magit のインタラクティブログは、Emacs から簡潔なキーシーケンスで複雑な Git コマンドを直接実行できるようにします。ログを開くには

F3 lL
を押します。
l
を押すと、作者フィルター(
-A
)、日付範囲(
=u
)、グラフ表示、統計出力(
-s
)やファイルパス制限(
--tests
)などのオプションに関する非侵襲的なヒントが表示されます。典型的なカスタムログキーシーケンスは次のとおりです。

l-Akqr␍=u2025‑06‑01␍-s--tests␍b

これはシェルコマンドに変換されます:

git log --branches --remote --author=kqr --until=2025‑06‑01 \
       --graph --color --decorate --no-merges --stat -- tests

ログビューは完全にインタラクティブです:

bb␍
(チェックアウト)でブランチを切り替え、
re␍
でリベースを開始できます。インタラクティブリベース中には
k
f
w
s
のホットキーが一般的な操作を実行し、リベース後にビューが更新されて新しいブランチ順序が表示されます。

Magit はすべての基盤となる Git コール(例:

git checkout …
git rebase --autostash …
)を公開しているため、ユーザーは使用されているオプション(
--force-with-lease
--autostash
など)を正確に確認できます。この透明性は、他の GUI が隠す高度な Git フラグの学習を促進します。

今後のセクションでは、ステージング、アンステージング、リバート、リセットといった操作のための追加インタラクティブツールが提供される予定です。これらの操作を発見しやすく透明にすることで、Magit は開発者がワークフローの裏側にある仕組みを理解できるよう支援し、不透明なグラフィカルインターフェースと比べてエラーを減らし効率を向上させます。

本文

I read Ian Whitlock’s article on why he can’t quit Magit and it inspired me to share more about Magit from my perspective. This article will focus on rebasing.


あなたのコマンドセンター:git log

ここでは git log を開きます(最初の

l
は git log へのプレフィックスキー、2 番目の
L
はすべてのローカルブランチとそれらが追跡しているリモートブランチのログを表示します)。
(スクリーンショット用に領域を選択したアーティファクト。)

1.  Magit を開く(F3 に割り当て)
2.  l L を押す

もしもっと複雑なログコマンドを実行したい場合、Magit ではとても簡単にできます。最初の

l
を押して少し待つと、利用可能なすべてのオプションについて非侵襲的なヒントが表示されます。

つまり、必要なオプションを正確に覚えておく必要はありません。必要になったら Magit が思い出させてくれます。以下はいくつかの例です:

  • 特定の作者に限定

    -A
    と入力すると、リポジトリ内のすべての作者をファジーマッチングで一覧表示します。
    リストを閲覧するか名前を入力して Return を押してください。

  • 日付範囲を限定

    =u
    と入力すると、日付選択用のカレンダーが表示されます。手動で入力することも可能です。

  • カラーとデコレーション付きのグラフビュー(マージコミットなし) – これは既にデフォルトで有効になっています(太字・ハイライトされたフラグ名)。

  • ファイル diffstat を表示

    -s
    と入力。

  • テストサブディレクトリ内のファイルのみを対象

    --
    の後に
    tests
    と入力し、Return で確定します。

この設定では、ローカルとリモート両方のブランチを確認したいので、

b
を押してそのビューに切り替えます。

完全なキー操作シーケンス

l -A kqr ␍ =u 2025-06-01 ␍ -s -- tests ␍ b

(ここで

は Return を意味します。)

一見複雑に見えますが、ヒントを順番に使いながら構築しています。頻繁に使うログタイプなら、ヒントを見ずともこの操作列を書き出せるようになります。発見性と効率の両方を兼ね備えています。

対応するシェルコマンド

$ git log --branches --remote \
          --author=kqr --until=2025-06-01 \
          --graph --color --decorate --no-merges \
          --stat -- tests

Magit は同じオプションをヒントとして表示するので、マニュアルとコマンドラインの間で切り替える必要はありません。

インタラクティブなインターフェースを使うことで Git コマンドラインが下手になるという心配は Magit では無用です。完全に透明で、基礎となる Git コマンドへの理解を促します。


ログからのリベース

目的:

profiling-of-test-suite
optimise-company-name-generation
の上にリベースする。
現在のブランチは
optimise
で、青い枠でハイライトされています。

  1. profiling
    (灰色のハイライト)にカーソルを合わせて
    bb␍
    を押す。
    最初の
    b
    = チェックアウト、2 番目の
    b
    = ブランチ;ファジーマッチングリストはカーソル下のブランチがデフォルトです。

  2. カーソルを上に移動して

    optimise
    を選択し、
    re␍
    を押す。
    r
    = リベース、
    e
    = “elsewhere”(アップストリームの上ではない)という意味です。

不安な場合は最初の文字だけ入力するとヒントが表示されます。

-i
を追加するとインタラクティブリベースになります。

ログが更新され、

profiling
ブランチが
optimise
の上に来ていることが確認できます。

インタラクティブリベース

より複雑でインタラクティブなリベースを行う場合は、ホットキー付きの編集可能リストが表示されます:

  • k
    – discard
  • f
    – fixup
  • w
    – reword
  • s
    – squash

コミットリスト内でもサポートされている操作一覧を見ることができます。

何をしたか?

$
を押して Magit のコマンドログを表示すると、以下のように出力されます:

git checkout profiling-of-test-suite
git rebase --autostash optimise-company-name-generation

--autostash
フラグは操作前に一時的なスタッシュを作成し、操作後に再適用します。これにより汚れたワークツリーでもリベースが可能です。


他の Git インターフェース

これは複雑な操作ではなく、コマンドラインからも実行できます。しかし、Magit のインタラクティブログを通じて行うことで、各コマンドが何をしているか直感的に理解できるようになります。Magit に慣れれば、より複雑なコマンドも自信を持って実行できます。

他にもグラフィカルな Git インターフェースは存在しますが、それらは Git 自体の学習にはあまり貢献しません。Magit は git CLI の薄いラッパーであり、インタラクティビティ・発見性・効率を提供しつつ、基礎コマンドを隠すことなく表示します。


これまでに Magit ができることの一端しか見てきませんでした。次回は、ファイルやハンク、さらにはハンクの一部をステージ・アンステージ・リバート・リセットする方法など、Magit がどれほど簡単に行えるかをご紹介します。

同じ日のほかのニュース

一覧に戻る →

2026/03/10 23:50

トニー・ホーア氏が亡くなられました。

## Japanese Translation: **改訂要約** トニー・ホアー(Turing Award受賞者で現代コンピューティングを形作った先駆者)は、2026年3月5日に英国ケンブリッジで92歳で亡くなりました。1934年1月11日生まれの彼は、古典文学と哲学を学び、国防サービス中に共同軍事語学学校(Joint Services School for Linguists)でロシア語を訓練し、その間にソビエト計算機と協力しました。ホアーの最も有名な業績はクイックソート、ALGOLプログラミング言語への貢献、およびホア論理(Hoare logic)の基礎化であり、これらが世界的に称賛されました。有名な逸話として、Elliott Brothers Ltdの上司と6ペンスを賭けてクイックソートが速いかどうかを挑戦したエピソードがあります。彼は勝ち、報酬を受け取りました。マイクロソフト・ケンブリッジ在籍中には、午後に地元のアーツピクチャハウスシネマ(Arts Picturehouse)を訪れることが多かったと述べています。また、彼はホラー映画や『グッド・ウィル・ハンタリング』などで描かれる天才像は非現実的だと指摘し、本物の専門知識には何年もの努力が必要だと主張しました。ホアーは将来のコンピューティング制限は公衆の認識を超える可能性があると警告し、暗号技術や量子テクノロジーへの影響を示唆しました。そのユーモア、忍耐力、鋭い記憶力、そして謙虚さはアルゴリズム、プログラミング言語、ソフトウェア工学の実践、および広範な研究コミュニティに永続的な影響を残しました。

2026/03/11 7:33

U+237C ⍼ は方位角です。

## Japanese Translation: 記事は、あまり知られていない文字「⍼」を調査し、中世20年代のドイツ語フォントカタログに数例登場するものの、それ以前の記録には存在しないことを指摘しています。最も顕著な証拠は1950年のH. Berthold AG シンボルカタログで、⍼が明示的に「Azimut/Richtungswinkel」(方位角・方向角)とラベル付けされている点です。1949–1952 年の Zeichenprobe および Schriftprobe 系列のコピーにはすべてこの文字が含まれていますが、1909 年の Hauptprobe や 1900 年の Schriftproben のようなそれ以前のカタログでは言及されていません。全ページスキャンにより、これら中世20年代の資料での存在とその他の場所での欠如が確認されています。Mastodon ユーザーは、この形状がセクスタントを通過する光線に似ていると指摘し、航海関連の起源を示唆しています。この記事は、⍼ が水上用記号として意図されたものかどうか、およびフォント版でどのように進化したかをさらに研究すべきだと結論付けています。この明確化は、タイポグラフィー史家、歴史的字体を参照するデザイナー、および遺産文書を扱う航海関連業界に有益となるでしょう。

2026/03/11 7:27

クラウドフレア クローラ エンドポイント

## Japanese Translation: **サマリー** Cloudflare の Browser Rendering サービスは、オープンベータ版の `/crawl` エンドポイントを公開しました。これにより、単一の API コールでウェブサイト全体をクロールできます。 - **仕組み:** POST リクエストで開始 URL と任意の設定(depth、page limits、ワイルドカードパターン、`render: false` 等)を送信します。サービスは sitemap やリンクから自動的にページを発見し、ヘッドレスブラウザでレンダリング(または `render: false` の場合は静的 HTML を取得)して結果を非同期で返します。 - **非同期ワークフロー:** ジョブ ID が返され、その後 GET エンドポイントをポーリングして処理済みページを raw HTML、Markdown、または構造化 JSON として取得できます。 - **主な機能:** - 複数の出力形式(HTML、Markdown、JSON) - depth とワイルドカードベースのスコープ制御 - `modifiedSince`/`maxAge` による増分クロール - `robots.txt` の crawl‑delay ディレクティブへの対応 - Workers Free および Paid プランの両方で利用可能 - **インパクト:** 開発者はプログラム的にサイトコンテンツを取得でき、分析チームは構造化ページデータを収集し、SEO ツールは効率的にサイトをインデックスできます。さらに、従来のクローラに代わる低コストなオルタナティブとして、ウェブクロールエコシステム全体にも貢献します。 このバージョンでは、Key Points List の主要ポイントすべてを保持しつつ、メインメッセージを明確かつ曖昧さのない表現にしています。

**Magitでのリベース操作** - ステータスバッファ上で `r`(または `R`)を押すと、リベース用サブメニューが開きます。 - 目的に応じて次のいずれかを選択してください。 - **rebase** – 現在のブランチに対してインタラクティブリベースを開始します。 - **continue** – コンフリクト解消後、リベースを継続します。 - **abort** – 現在進行中のリベースを取り消します。 - **skip** – コンフリクト解決時に現在のコミットをスキップします。 - リベース中は *conflicts* セクションに衝突箇所が表示されます。該当ファイルを修正した後、`continue` を実行してください。 - 完了したら `magit-refresh`(`g`)を押してステータスバッファを更新します。 この手順でブランチの履歴はクリーンに保たれ、コミットが別のベース上に再配置されます。 | そっか~ニュース