Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

git: cherry-pick, rebase and pull --rebase

オープン
#129 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

@aron-cf がすでに取り組んでいます。

2026年9月6日 から。

評価

この issue はまだ評価されていません。

説明

enhancement

docs/13_git_interface.md lists cherry-pick and revert as "out of scope until a concrete caller needs them." Here is one.

Use case

A long-lived checkout on a shared branch, with local commits that are not pushed yet, while other clients push to the same branch. Catching up with merge or pull adds a merge commit every time and makes the history non-linear. What a developer does here is git pull --rebase: the local commits exist nowhere else, so replaying them on top of the upstream rewrites nothing shared, and the history stays linear.

Ask
  1. cherryPick on the client, and git cherry-pick <oid> in the shell. isomorphic-git already ships cherryPick (a three-way merge against the commit's own parent, applied to the working tree), so this is a wrapper in the shape of merge.
  2. rebase on the client, with git rebase <upstream> and git pull --rebase in the shell: reset the branch to the upstream and cherry-pick upstream..HEAD oldest first, stopping on a conflict with the paths reported as merge reports them. --autostash would be welcome, since stash is already there.
  3. revert, if you want to close the set.
Related

isomorphic-git's merge writes the merged tree and the commit and moves the branch, but on a clean merge it does not update the working directory; only pull runs a checkout afterwards. Through the client, a clean merge therefore leaves every file it changed reading as a local modification back to the old content. Worth a line in the docs.

Environment

@cloudflare/computer 0.3.0 (pkg.pr.new build 9184be3), isomorphic-git 1.38, Workers runtime.

主要言語
TypeScript
スター
9.2k
フォーク
525
平均マージ
3日 12時間
マージ済み PR(30日)
18

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

cloudflare/computer のほかの issue

cloudflare/computer の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。