先祖のないクリーンなブランチを開始し、ファイルを段階的にコミットするにはどうすればよいでしょうか? 質問する

先祖のないクリーンなブランチを開始し、ファイルを段階的にコミットするにはどうすればよいでしょうか? 質問する

私は GIT でバージョン管理された PHP フレームワークを持っており、そのコアにいくつかの (大幅な) 変更を加えることを計画しています。

私がやりたいのは、新しいブランチで新しいコアの作業を開始することですが、この変更にはファイルシステムの再構築も必要になる可能性があるため、この新しいブランチをできるだけクリーンな状態で開始したいと思います。

クリーン ブランチにはコア ファイルのみを含めるようにします。変更を終えるときに、フレームワークの残りのモジュールを作業ディレクトリに 1 つずつ追加しますが、マスターに変更を加えた場合はマージできるようにしておきます。

どうやってやるの?

ベストアンサー1

先祖のいない枝

あなたが望むのは--孤児フラグ。例:

git checkout master
git checkout --orphan foo

# Unstage all the files in your working tree.
git rm --cached $(git ls-files)

という新しいブランチを作成しますフー祖先は存在しませんが、コマンドを呼び出した時点でのブランチ(この場合はマスターブランチ) に変更を加え、それに応じて作業ツリーを変更し、コミットしてそのブランチの履歴を新たに開始することができます。

ファイルの増分ステージング

履歴に増分追加を実行するには、git add各コミットに必要なファイルだけをステージングするために を使用します。git-add(1) のマニュアル ページには、ファイルを選択的に追加する方法について次のように書かれています。

ファイルグロブ (例: *.c) を指定すると、一致するすべてのファイルを追加できます。また、先頭のディレクトリ名 (例: dir を指定すると dir/file1 と dir/file2 を追加) を指定すると、ディレクトリ内のすべてのファイルを再帰的に追加できます。

おすすめ記事