コミットされていない変更を新しい Git ブランチに転送する

コミットされていない変更を新しい Git ブランチに転送する
コミットされていない変更を新しい Git ブランチに転送する

コミットされていない作業用に新しいブランチをセットアップする

新しい機能を開発するとき、変更を独自のブランチに分離する必要があることに気づくのが一般的です。これにより、より適切な組織化と並行開発が可能になります。新しい機能の開発を開始し、その機能を別のブランチに常駐させる必要があると途中で決定した場合、Git はこれらのコミットされていない変更を転送する簡単な方法を提供します。

この記事では、コミットされていない既存の作業を新しいブランチに移動するプロセスについて説明します。さらに、進行状況を一切失わずに現在のブランチをリセットする方法も学びます。これにより、ワークフローがクリーンかつ効率的に保たれます。

指示 説明
git checkout -b <branch-name> 新しいブランチを作成し、それに切り替えます。
git add . コミットされていないすべての変更を作業ディレクトリにステージングします。
git commit -m "message" 段階的な変更を説明メッセージとともにコミットします。
git checkout - 以前にチェックアウトしたブランチに戻ります。
git reset --hard HEAD~1 現在のブランチを前のコミットにリセットし、変更を破棄します。
#!/bin/bash スクリプトを bash シェルで実行するように指定します。

コミットされていない作業を管理するための Git ワークフローを理解する

最初のスクリプト例では、一連の Git コマンドを使用して、コミットされていない変更を新しいブランチに手動で移動します。プロセスは次から始まります git checkout -b new-feature-branchこれにより、「new-feature-branch」という名前の新しいブランチが作成され、それに切り替わります。これは、新しい機能の作業をメイン ブランチから分離するために不可欠です。次に、コミットされていない変更をすべてステージングします。 git add .。このコマンドにより、変更されたすべてのファイルと新しいファイルがコミットできるように準備されます。これに続いて、 git commit -m "Move uncommitted work to new feature branch" コマンドは、アクションを説明するメッセージとともにこれらの変更を新しいブランチにコミットします。

新しいブランチで変更を確保した後、次のようにして元のブランチに戻ります。 git checkout original-branch。元のブランチを以前の状態にリセットするには、次を使用します。 git reset --hard HEAD~1。このコマンドは、ブランチを前のコミットに強制的にリセットし、それ以降に行われた変更をすべて破棄します。この一連のコマンドにより、元のブランチがクリーンな状態にリセットされる一方で、新しい機能に関する作業が独自のブランチに保持されることが保証されます。

シェルスクリプトによるプロセスの自動化

2 番目のスクリプト例では、シェル スクリプトを使用してこのプロセスを自動化します。スクリプトは、新しいブランチ名が指定されているかどうかを確認することから始まります。 if [ -z "$1" ]; then、名前が指定されていない場合はスクリプトを終了します。変数 NEW_BRANCH=$1 指定されたブランチ名を変数に割り当てます。次に、スクリプトはこの新しいブランチを作成し、次のように切り替えます。 git checkout -b $NEW_BRANCH。コミットされていないすべての変更は、次を使用してステージングされます。 git add .、とコミットしました git commit -m "Move uncommitted work to $NEW_BRANCH"

変更をコミットした後、スクリプトは次を使用して前のブランチに戻ります。 git checkout -。最後のコマンド git reset --hard HEAD~1 元のブランチを以前のコミットにリセットし、ブランチがクリーンで、新しいブランチに移動された変更が含まれていないことを確認します。このシェル スクリプトは、コミットされていない作業を新しいブランチに移動し、現在のブランチをリセットするプロセスを自動化する便利な方法を提供し、Git でのワークフローの管理を容易にします。

コミットされていない変更を Git の新しいブランチに移動する

Git コマンドラインの使用

# Step 1: Create a new branch and switch to it
git checkout -b new-feature-branch

# Step 2: Stage all uncommitted changes
git add .

# Step 3: Commit the staged changes
git commit -m "Move uncommitted work to new feature branch"

# Step 4: Switch back to the original branch
git checkout original-branch

# Step 5: Reset the original branch to the previous commit
git reset --hard HEAD~1

進行状況を維持したまま新しいブランチに作業を転送する

自動化のためのシェル スクリプトの使用

#!/bin/bash

# Check if the user provided a branch name
if [ -z "$1" ]; then
  echo "Usage: $0 <new-branch-name>"
  exit 1
fi

NEW_BRANCH=$1

# Create and switch to the new branch
git checkout -b $NEW_BRANCH

# Stage all uncommitted changes
git add .

# Commit the changes
git commit -m "Move uncommitted work to $NEW_BRANCH"

# Switch back to the original branch
git checkout -

# Reset the original branch
git reset --hard HEAD~1

Git での機能ブランチの作成と管理

Git を使用する場合、特に新しい機能を開発する場合は、ワークフローを整理しておくことが重要です。ベスト プラクティスの 1 つは、機能ブランチを使用することです。機能ブランチを使用すると、メインのコードベースから独立して新しい機能に取り組むことができます。この分離により、未完成または不安定なコードがメイン ブランチに影響を与えるのを防ぐことができます。機能ブランチを作成するには、次のコマンドを使用します。 git checkout -b feature-branch。これにより、ブランチが作成されるだけでなく、ブランチに切り替わり、新しい作業が正しいコンテキストで実行されるようになります。

機能ブランチを作成したら、メイン ブランチに影響を与えることなく新しい機能に取り組むことができます。これは、複数の開発者が同時に異なる機能に取り組んでいる共同作業環境で特に役立ちます。機能が完成し、徹底的にテストされたら、次を使用してその機能をメイン ブランチにマージし直すことができます。 git merge feature-branch。このようにして、メイン ブランチには安定した完全なコードのみが含まれます。メイン ブランチからの最新の変更でフィーチャー ブランチを更新する必要がある場合は、次のように使用できます。 git rebase main 機能ブランチ上で、それが最新であることを確認します。

Git ブランチ管理に関するよくある質問

  1. フィーチャーブランチとは何ですか?
  2. フィーチャー ブランチは、メイン コードベースから独立して新しい機能を開発するために作成される別個のブランチです。
  3. Git で新しいブランチを作成するにはどうすればよいですか?
  4. 次を使用して新しいブランチを作成できます git checkout -b branch-name
  5. Git でブランチ間を切り替えるにはどうすればよいですか?
  6. 使用 git checkout branch-name 既存のブランチに切り替えます。
  7. フィーチャー ブランチをメイン ブランチにマージするにはどうすればよいですか?
  8. 機能ブランチをマージするには、メイン ブランチに切り替えて次を使用します。 git merge feature-branch
  9. メイン ブランチからの最新の変更でフィーチャー ブランチを更新するにはどうすればよいですか?
  10. 機能ブランチ上で、次を使用します。 git rebase main 最新の変更を組み込むために。
  11. マージ後にブランチを削除したい場合はどうすればよいですか?
  12. 次を使用してブランチを削除できます git branch -d branch-name
  13. リポジトリ内のすべてのブランチをリストするにはどうすればよいですか?
  14. 使用 git branch すべてのブランチをリストするには、
  15. Git のブランチの名前を変更できますか?
  16. はい、使用します git branch -m old-name new-name ブランチの名前を変更します。
  17. 現在どのブランチにいるかを確認するにはどうすればよいですか?
  18. 使用 git status または git branch 現在のブランチを表示します。
  19. 競合のあるブランチをマージしようとするとどうなりますか?
  20. Git では、マージを完了する前に競合を解決するように求められます。使用 git status 競合のあるファイルを確認し、それに応じて編集します。

最終的な考え:

コミットされていない作業を Git の新しいブランチに移動することは、組織的でクリーンな開発ワークフローを維持するための貴重なテクニックです。提供されたコマンドとスクリプトを使用すると、機能の新しいブランチを簡単に作成し、変更をコミットし、現在のブランチをリセットできます。このアプローチは、進行状況を維持するだけでなく、メイン ブランチを安定させ、不完全な機能を排除します。これらのプラクティスを採用すると、生産性が向上し、チームメンバー間のコラボレーションが促進されます。