Git コマンドとUI操作(Visual Studio 2022)
1.はじめに
バージョン管理システムとして Git というソフトが存在します。Git コマンドを使用することができるわけですが、コードを書いていく上ではエディター又は統合開発環境とともに使用します。
今回は良く使うコマンドとそれに対応する操作を Visual Studioでどのように実現するかメモしていきたいと思います。
メモ書き程度なので参考になれば幸いです。
Git Hub でリモート管理することを前提にしています。
<環境>
-Git : インストール済
-Visual Studio 2022 Community: インストール済
-Windows 10
Git Hub を使用する場合は認証が必要
参照URL
2.Git 管理の始まり
1)既に作成済のプロジェクトについてGit管理を始める場合
対応コマンド: git init , git remote add, git push が対応
ローカルでGit管理を始めるとともに、Git Hub にもリポジトリを作成し、そちらにpushすることができます。
Git 管理の対象外のファイルを指定する.gitignore ファイルも規定値で作成することができますので、適宜内容を決めてください。
最後「作成とプッシュ」を押すことで Git Hub にリポジトリが作成されます。
2)Git Hub からリポジトリをコピー(クローン)する場合
対応コマンド:git clone
Git Hub の対象リポジトリのURLを記入し、ローカル環境の保存先を指定し、「クローン」をクリックすることでクローンを実施することができます。
3.ローカルでのGit管理
1)ブランチの確認と作成
対応コマンド:git branch
ブランチは履歴の流れを別々に記録していくためのもので、様々な開発者が別々に機能を開発するのに有効です。
現在のブランチはUI下側の以下の赤枠で確認できます。
ブランチを作成する際には、「Git」=>「新しいブランチ」をクリックします。
ブランチ名を入力し、作成後そのブランチに移行する際には「ブランチのチェックアウト」にチェックが入っていることを確認して、「作成」をクリックします。
2)インデックスエリアへの登録
対応コマンド:git add
色々なファイルを変更をした後、変更として登録したいファイルをインデックスエリアに登録(ステージング)します。
まずソリューションエクスプローラーの「Git 変更」というタブをクリックします。
その後、変更したファイルについて+マークを押すことでステージングすることができます。
あくまで変更対象としたい状態のファイルをインデックスエリアに登録しただけなので、まだバージョンとして登録されていないことに留意してください。
3)バージョンとして登録(コミット)
対応コマンド:git commit
2)の画面でメッセージを書いて「ステージング済をコミット」をクリックすることで、バージョンとして登録されます。
4.リモート環境(Git Hub)とのやりとり
AさんとBさんで開発している場合、先にAさんが開発してリモート環境に反映していることがあります。
そのため自分の変更をリモート環境に反映する前に、現在のリモート環境の変更を取り込んでからリモート環境に反映する必要が出ることがあります。
そこで以下の流れでリモート環境への反映までを行う想定にしたいと思います。
1) リモート環境の変更の取り込み「ローカルのmasterブランチに」
2) 開発が終わった feature ブランチと master ブランチを統合
3) 食い違う部分が発生し、修正するケース
4) リモートへの反映
1)リモート環境の変更の取り込み
※リモート環境を取り込むときにrebaseという設定をする場合の設定画面
ローカルのmasterブランチに Git Hub の master ブランチを取り込むためには以下の操作を実施します。
①赤枠の箇所をクリックして「master」ブランチに移動
➁赤枠のプルボタンをクリックします。
対応コマンド:git pull
2)開発が終わった feature ブランチと master ブランチを統合
「Git」をクリックして、「ブランチの管理」をクリックします。
feature ブランチをクリックして、 「master を feature にマージする」を選択してください。食い違う部分が無ければマージが成功します。
対応コマンド: git merge
3)食い違う部分が発生し(conflict)、修正するケース
同じファイルを触っている場合にはコンフリクト(競合)が発生することがあります。
この場合、「競合を解決」の部分をクリックすると以下の画面が開きます。
更に「マージエディターを開く」をクリックします。
すると以下のような画面が開きますので「受信」と「現在」を比較して、「結果」画面を修正します。
修正が完了したら、「マージの許可」をクリックします。
その後、「ステージング済みをコミット」することで、競合を解決したコミットが作成されます。
4) リモートへの反映
対応コマンド:git push
赤枠の「プッシュ」をクリックすることでリモート環境に反映することができます。
今回は feature ブランチをプッシュしているので、Git Hub 上で「pull request」を実施し、レビュー後マージされる流れになります。
5.コミットログ
1)コミットをまとめる
対応コマンド:git rebase=>squash
細かくコミットしていてリモートにプッシュする前にコミットログをまとめたいときに使用できます。
ただ実施した場合は1つ前のコミットログに戻る等の微調整はできなくなるので注意してください。
「Git」から「ブランチ履歴の表示」をクリックします。
現在いるブランチのコミットログが表示されるので、まとめたいコミットログを Ctrl を押しながら、左クリックで選択します。
その後右クリックを押し、「コミットのスカッシュ」をクリックします。
選択したコミットのメッセージが表示されるので、そのままで良ければそのままで、変更したい場合は変更して、「スカッシュ」をクリックします。
するとコミットがまとめられます。
2)過去に戻る
対応コマンド:git reset
「Git」から「ブランチ履歴の表示」までは1)と同じです。
その後戻りたいコミットログを左クリックし、右クリックを押し、「リセット」を選択します。
戻る前までのファイル変更が要らない場合は「--hard」をクリックします。
ログを残したい場合は上記画面の「元に戻す」をクリックすることで、 git revert コマンドと同じになります。
ここまでの変更ログを残したうえで、前の状態に戻りたい場合は git revert の方がよいことがあります。
以上、皆様の開発の参考になれば幸いです。
この記事が気に入ったらサポートをしてみませんか?