0

git を使用するのはこれが初めてで、大きな間違いがなかったことを願っています。

master ブランチのファイルで数時間作業しました。

別の方向に進むためにブランチを作成しましたが、それをしないことにしました。したがって、この新しいブランチで編集されたファイルはありません。

そのため、新しいブランチを削除しました。

これで、過去数時間に行ったすべての変更が master ブランチになくなり、最後のコミットの状態に戻りました。

ブランチを作成するまで、私は何もコミットしていませんでした。

変更内容はすべて失われましたか?

マスター ブランチは、2 番目のブランチを操作するときにも変更されず、削除しても git は変更がコミットされるのを待っていました。

ここで私を助けてくれることを本当に願っています。Macでgithubアプリを使用しています。

何が起こったのか推測させてください:

命題: 最初に変更をコミットせずにブランチに切り替えないでください。

2番目のブランチを作成したとき、もちろんこのブランチは最後のコミットから作成されると思います。したがって、すべてがすでに最後のコミットに設定されています。したがって、master ブランチに戻すことは同じことを意味します。ここで追跡するファイルがないため、すべてが最後のコミットの状態に戻ります。

私は正しいですか?

つまり、常に変更をコミットしないと、データが失われる大きなリスクがあります。また、ブランチを切り替える前に、常にコミットする必要があります。右?

4

1 に答える 1

1

ブランチを切り替えると、コミットされていない変更が持ち込まれます。したがって、github は、あなたが行った変更がマスター ブランチではなくテスト ブランチの一部であると感じています。最初にコミットするか、 git checkout を実行します。それらを元に戻すか、切り替える前に git stash を実行します。(git stash apply で変更を元に戻すことができます)。

あなたのシナリオでは、コミットも隠しもしていないため、ファイルの変更はなくなりました。

于 2012-08-29T17:05:01.910 に答える