間違ったブランチでコミットしてしまった
feature/discountsに入れるはずのコミットをmainに作成しました。まだプッシュしていません。
「Apply discounts」をfeature/discountsに移し、mainから取り除きます。
よくあるGitの問題を対話型リポジトリで解決しましょう。コマンドを試してグラフの変化を確認し、ガイドと動画で理解を深められます。
レッスンを選ぶか、自由に操作してください。提案されたGitコマンドを実行して、リポジトリの変化を確認しましょう。
練習ではブラウザのメモリ上の仮想リポジトリを使います。手元のファイルにはアクセスせず、実際のリモートリポジトリにも接続しません。
決まった目標のない小さなリポジトリを自由に操作できます。対応するコマンドを試し、チームメンバーのプッシュによる変化も確認しましょう。
このシミュレーターはGitコマンドの一部に対応しています。未対応のコマンドを入力すると、制限の説明がターミナルに表示されます。
feature/discountsに入れるはずのコミットをmainに作成しました。まだプッシュしていません。
「Apply discounts」をfeature/discountsに移し、mainから取り除きます。
最後のコミットのメッセージが「Add stylsheet」で、style.cssも入っていません。まだプッシュしていません。
style.cssと正しいメッセージ「Add stylesheet」を含むコミットに置き換え、プッシュします。
不要なコミットがあります。1つは手元だけにあり、前のもう1つはすでにプッシュ済みです。
ローカルのコミットを取り消し、続いて共有履歴を書き換えずにプッシュ済みのコミットを取り消します。
git reset --hard HEAD~2を実行して、2つのコミットが消えてしまいました。
失われたコミットを見つけ、mainを元の位置に戻します。
mainとfeature/titleがindex.htmlの同じ行を変更しました。
feature/titleをmainにマージし、選んだタイトルを残します。
過去のコミットをチェックアウトして新しいコミットを作成したところ、Gitに「HEAD detached」と表示されました。
コミットをブランチに関連付け、参照を残します。
自分がコミットしている間に、チームメンバーがプッシュしました。git statusは自分のブランチとorigin/mainが分岐したと表示しています。
相手のコミットを取り込み、その後に自分のコミットを適用してプッシュします。
mainで変更の途中ですが、すぐにhotfixで修正する必要があります。
作業を一時保存し、hotfixで修正してから戻って作業を復元します。
git branch -Dでfeature/searchを削除しました。他の誰も持っていないコミットが含まれていました。
feature/searchとそのコミットを復元します。
mainとfeature/titleがindex.htmlの同じ行を変更しました。
目標: feature/titleをmainにマージし、選んだタイトルを残します。
練習ではブラウザのメモリ上の仮想リポジトリを使います。手元のファイルにはアクセスせず、実際のリモートリポジトリにも接続しません。
このシミュレーターはGitコマンドの一部に対応しています。未対応のコマンドを入力すると、制限の説明がターミナルに表示されます。
git merge feature/title
cat index.html
echo "<h1>Our Best Shop</h1>" > index.html
git add index.html
git commit --no-edit同じファイルにバグ修正とデバッグ出力がある場合、修正だけをステージできます。Gitのステージング領域、FluxGitのStage change、git add -pを解説します。
ガイドを読むチュートリアルを見るworktree と submodule?それぞれ解決する問題が違います。worktree は同じリポジトリの2つ目の作業フォルダーです。submodule は別のリポジトリを特定のコミットに固定して、自分のリポジトリ内に組み込みます。
ガイドを読むチュートリアルを見るよくあるGitの問題を対話型リポジトリで解決しましょう。コマンドを試してグラフの変化を確認し、ガイドと動画で理解を深められます。
FluxGitをダウンロード