6

私は git の初心者です。最初は master ブランチでしか作業していませんでしたが、git ブランチについて少し読んで、そのパワーに驚いたので、ワークフローでブランチを使い始めました。

ブランチの作成を開始したとき、私のマスター ブランチはクリーンでコミットするものは何もありませんでした。次に、新しいブランチfeature1を作成しました

git checkout -b feature1

ブランチfeature1に変更を加え、いくつかの js および css ファイルを追加しました。次に、ブランチfeature1に加えられた変更を次のようにコミットせずに、マスター ブランチから別のブランチを作成しました。

git checkout master
git checkout -b feature2

feature2ブランチにさらにコードを追加し、いくつかの新しい css ファイルを追加してから、次のようにブランチfeature2で変更をコミットして、master から別のブランチfeature3を作成しました。

git checkout master
git checkout -b feature 3

1 つの新しい css ファイルを使用して、 feature3ブランチにいくつかの新しいコードを追加しました。今私がしたとき:

git status

3つのブランチすべてで変更したがコミットしていないすべてのファイルのリストを取得しました。現在のブランチ、つまりブランチfeature3で変更されたファイルのリストのみを取得することを期待していましたが、どのブランチでどのファイルを作成したか覚えていません。

特定のブランチで作成または変更したファイルのみをリストしてコミットするのを手伝ってください。各支店へ。

例えば

feature1ブランチで変更または作成されたすべてのファイルを一覧表示し、それらをfeature1ブランチにコミットし、3 つのブランチすべてでこれを行います。

また、他のブランチで変更されているがコミットされていない他のファイルを取得せずに、マスター ブランチからブランチを作成する方法も知りたいです。つまり、コミットすることに注意して、新しいブランチをマスターの正確なクローンにしたいのです。

4

3 に答える 3

5

ファイルをコミットしていない場合、ファイルが作成されたブランチを特定することはできません。

于 2013-06-26T12:21:36.757 に答える
5

@abeaumet が述べたように、ファイルを作成してもコミットしないと、ブランチを変更しても追跡できません。

これは、それらが作業ツリーにあり、git リポジトリにないためです。作業ツリーは、事実上、リポジトリのチェックアウト バージョンと、現在行っている変更です。ブランチを移動しても、これらの追跡されていないファイルは削除されません。git はそれらを作業ツリーに残して、削除されないようにします。

この質問にリンクされている記事のいくつかを読んで、リポジトリと作業ツリーの違いを理解してください。

于 2013-06-26T15:46:47.070 に答える