02 2月 Study – git 基礎まとめ 【clone~プロジェクト編集~push】
gitの勉強会を受けての復習と、今後の開発でgitをマストで使っていくため簡単にまとめてみました。 基礎的な部分のみ、clone~プロジェクト編集~pushまでの一連の流れになります。 前提 ・環境はwindows ・gitコマンドをコマンドプロンプトで受け付けるようにしています。・勉強会ではGitLabを使用していましたが、次の開発がGitHub予定のためGitHubを使用 ・エディターはvscodeを使っています(編集ファイルはHTMLファイルのみ) 1. clone まずは新しく開発に参画した際を想定して、プロジェクトをGitHubから持ってくるところから GitHubのプロジェクトページにある右上緑のCodeにURLがあるのでコピー ターミナルを開いて、今回のプロジェクトを保存したいディレクトリまで移動するか(cdコマンド)、エクスプローラーでプロジェクトを置きたいフォルダでcmdを開く (今回はgit_testというディレクトリを選択しています。) コマンドプロンプトに次のコマンドを入力します。 git clone <URL> cloneすると、フォルダにプロジェクトが入ります。 VScodeでこのフォルダを開いてみるとプロジェクトが無事ローカルにインポートされていて、編集できるのが確認できます。 2. branch またターミナルに戻り、プロジェクトファイルのディレクトリに移動しますcd TestCode 編集する前に、developという名前でブランチを切っておきます git branch develop 次のコードでbranchの状態を確認します git branch 今現在のbranchを示しているのは*で表示されています。 先ほどのコードはdevelopというブランチを作って確認しただけですので、ブランチを切り替える必要があります では、以下のコードを打ってみましょうgit checkout develop このように表示されていれば切り替わっています。 念のために git branch での確認でも、切り替わっているのがわかります 3. ファイル編集 それではHTMLファイルを編集してみます 先ほどのHTMLファイルの10行目にテキストを追加しました。 編集が終わったら、git statusで確認してみます。 赤く表示されているのが差分のあるファイルです。 4. add それではtest.htmlをステージングエリアに追加してみましょう git add test.html (すべてのファイルをaddする場合は、git add . ) git statusで確認すると緑色に変わりました。 5. commit 次はcommitします git commit -m "コメント" " "←この部分はコメントを入れられます。必ずいつ何を編集したかなど、コメントを入れるようにしましょう 今回は日付と編集内容をコメントに入れました 6. merge それでは次にプロジェクトの統合をするためmergeしていきますまずはブランチをmasterへ切り替えます git checkout master 念のために切り替わったことを確認 masterが緑色に マージしますgit merge develop 7. push それでは、リモートリポジトリにプッシュしていきます git push origin master ちなみにこのmasterというのはリモートレポジトリのmasterブランチを指しています 実際の現場では、どのブランチにpushするのか指示に従う必要があります ※もしここで自分が持っているプロジェクト(cloneやpullした状態)とGitHubに上がっているプロジェクトに差分があった場合はエラーとなります(競合)一度、GitHubから最新の状態のプロジェクトを自分のローカルレポジトリにpullしますgit pull origin <ブランチ名> 開発は他の人と同時にしているはずですので、実際は競合することの方が多いと思います。 pushのコマンドを実行すると以下のように GitHubのプロジェクトページを更新してみると、次のように編集したファイルが確認できると思います commitの際に自身が入れたコメントも一緒に確認できます htmlをクリックしてみましょうテキストが追加された状態のHTMLが表示されています。 最後に、最新の状態をpullして再度作業に取り掛かるための準備をします まずは自身の作業していたブランチを削除しますgit branch -d develop そしてプルしますgit pull origin master 再度2.branchから始めて、ブランチを切っていくところから進めていきます 基本的にはこの繰り返しになります。 最後に 省略してしまいましたが、どの開発現場においてもpushしてGitHubにプロジェクトを上げる際に、プルリクエストをするのが基本です(というよりこのリクエストをプロジェクト責任者に承認してもらわないと、マージされない) また、cloneやpullをするファイルも、プロジェクトファイル全部を持ってくるのではなく、設定ファイル等はそのままに指定されたファイルのみclone、pullするケースが多いかと思います。 このあたりのルールは開発現場によって異なると思いますので要確認です。 【git勉強会レポートはこちら】 ...