コードのバージョンを保存してチームと共有することは、バージョン管理を使用するときに行われる最も一般的な操作です。 Git には、次のタスクのための簡単な 3 ステップのワークフローがあります。
- 作業用に新しいブランチを作成する
- 変更をコミットする
- ブランチをプッシュしてチームと共有します
Git を使用すると、ブランチを使用して作業を簡単に管理できます。 すべてのバグ修正、新機能、追加されたテスト、および更新された構成は、新しいブランチから始まります。 ブランチは軽量で、開発マシンに対してローカルであるため、ブランチをプッシュするときまで、リソースの使用や他のブランチとの変更の調整について心配する必要はありません。
ブランチを使用すると、開発中の他の変更から分離してコードを作成できます。 すべてが機能すると、ブランチとその変更がチームと共有されます。 他の人は、自分のブランチで進行中の作業に影響を与えることなく、自分のブランチのコピーでコードを実験できます。
分岐を作成する
新しい作業を開始するときに、現在のブランチ内のコードに基づいてブランチ (main
など) を作成します。 新しいブランチを作成する前に、git status
を使用してどのブランチが選択されているかを確認することをお勧めします。
git branch
コマンドを使用して Git にブランチを作成します。
> git branch <branchname>
リポジトリ内のブランチ間を交換するコマンドは git checkout
です。 ブランチを作成した後、変更を保存する前にブランチに切り替えてください。
> git checkout <branchname>
Git には、ブランチの作成とブランチへの切り替えを同時に行うための短縮コマンドがあります。
> git checkout -b <branchname>
GitHub または Azure DevOps での Git ブランチの操作の詳細をご覧ください。
変更の保存
Git は、編集が行われたときにコードのスナップショットを自動的に作成しません。 次のスナップショットにどの変更を追加するかを Git に正確に伝える必要があります。 これはステージングと呼ばれます。 変更をステージングした後、コミットを作成してスナップショットを永続的に保存します。
ステージの変更
Git は、リポジトリ内で行われたファイルの変更を発生時に追跡します。 これらの変更は次の 3 つのカテゴリに分類されます。
- 未変更ファイルは、最後のコミット以降変更されていません。
- 変更されたファイルには、最後のコミット以降に変更が加えられていますが、次のコミットに向けてステージングされていません。
- ステージングされたファイルには、次のコミットに追加される変更が含まれています。
コミットを作成すると、段階的な変更と未変更のファイルのみがスナップショットに使用されます。 ステージングされていない変更はファイルシステム上に保持されますが、コミットではスナップショット内の未変更のファイルが使用されます。
変更をコミットする
コミットを作成して Git に変更を保存します。 各コミットには、個々のファイルの変更だけでなく、リポジトリのファイルの完全な内容が保存されます。 この動作は、コードの最新バージョンとのファイルレベルの差異を保存する他のバージョン管理システムとは異なります。 完全なファイル履歴により、Git は変更をマージする際に適切な決定を下せるようになり、コードのブランチ間の切り替えが非常に速くなります。
git add
で変更をステージングして、変更したファイルを追加、git rm
でファイルを削除、git mv
でファイルを移動します。 次に、git commit
コマンドを使用してコミットを作成します。
通常、開発者は、変更されたすべてのファイルをリポジトリにステージングしたいと考えます。
> git add –all
次に、短い説明を付けて変更をコミットします。
> git commit -m "Short description of changes."
すべてのコミットには、その変更を説明するメッセージが含まれています。 適切なコミット メッセージは、開発者がコミットで行った変更を思い出すのに役立ちます。 コミット メッセージが適切であれば、他の人がコミットをレビューしやすくなります。
Visual Studio または Visual Studio Code でのファイルのステージングと変更のコミットについて詳しくは、こちらをご覧ください。
変更を共有する
チームで作業している場合でも、単に自分のコードをバックアップしたい場合でも、開発者は別のコンピューター上のリポジトリとコミットを共有する必要があります。 git push
コマンドを使用して、ローカル リポジトリからコミットを取得し、リモート リポジトリに書き込みます。 Git はクローンのソース (origin
とも呼ばれます) に接続するためにクローンされたリポジトリ内にセットアップされます。 git push
を実行して、現在のブランチのローカル コミットをこの origin リポジトリ上の別のブランチ (branchname) に書き込みます。 branchname が存在しない場合、Git はリモート リポジトリに それを作成します。
> git push origin
git init
を使用してローカル システム上に作成されたリポジトリで作業している場合は、変更をプッシュする前にチームの Git サーバーへの接続をセットアップする必要があります。 リモートのセットアップと、Visual Studio または Visual Studio Code での変更のプッシュの詳細をご覧ください。
ブランチを共有する
ローカル ブランチをチームの共有リポジトリにプッシュすると、チームの他のメンバーがその変更にアクセスできるようになります。 初めて git push
を実行するときに、-u
オプションを追加すると、origin
リポジトリから branchname へのローカル ブランチの追跡を開始するように Git に指示されます。 この追跡情報の 1 回限りのセットアップ後、チーム メンバーは git push
を直接使用して更新情報を迅速かつ簡単に共有できます。
> git push origin <branchname>
次のステップ
GitHub または Azure DevOps のブランチの詳細をご覧ください。
Visual StudioまたはVisual Studio Code でのコミットとブランチのプッシュの詳細については、こちらをご覧ください。