・初めてGitを使ったチーム開発に参画した方
・実際によく使うコマンドを知りたい方
など
Gitを全然使わない(慣れてない)方が、Gitでのチーム開発に加わった時に
実際によく使うコマンド本記事にまとめたいと思います。
Git開発で使うコマンドとしては、おおまかに
①開発の最初に行うこと
②目的のプログラムを作成できた時に行うこと
③他のチームメイトの更新を自分のローカルブランチに反映させる
で分類できると思うので
これらについて紹介させていただきます。
開発の最初に行うこと
仕事を割り振られてからまず行うコマンドをまとめます。
このあたりは、開発の最初だけで行うものなのであまり頻度としては多くないかもです。
GitHubからローカル(自分のPC)に開発しているフォルダをダウンロード
最初は「このアプリケーションのレポジトリのURLはxxxだから、Cloneして開発加わってね〜」
みたいな感じで仕事が振られるのではないでしょうか。
とりあえずそのURLにChromeなどのブラウザでアクセスしてみます。
画面の右上に「code」(またはcloneなど)というボタンがので、そこに表示されているURIをコピーします。
git clone ~~~
正常に動作が終われば、自分が操作しているディレクトリに
きちんとアプリケーションのフォルダがダウンロードされているはずです。
ブランチを作成する
git cloneでファイルをダウンロードし終わって新しい機能開発を行う時は
まずブランチを作成します。
よく会話ではブランチを切るみたいに言います。
一般的にmain, masterのような名称のブランチが
チームのみんながソースコードをダウンロードしたり、製品出荷に使われたりする大事なものになります。
なのでまずは別のブランチでプログラムを作成します。
cd クローンしたフォルダ名
git branch 新しく作るブランチの名前
git checkout 新しく作るブランチの名前
(例)
git branch hogehoge
git checkout hogehoge
このブランチに変更してから、プログラムを作成して
次にお話しする内容ですが、変更内容をmainに加えてくれませんか〜?というリクエストを
プログラムの責任者に送ります。
目的のプログラムを作成できた時に行うこと
開発を行うとき、キリがいいタイミングで定期的に「リポジトリにPush」を行うことが求められます。
これが「プログラム書いたからmainのブランチに加えてくれない~?」のリクエストになります。
このリポジトリにpushまでの動きを確認します。
git status で変更点を確認
まずは、git statusコマンドを使用します。
git status
例えばmain.pyを編集した後に、git statusを実行すると
以下のようなものが、ターミナルやコマンドラインに表示されます。
modified :main.pyと書かれていますね。
これは、main.pyが編集されているよ〜というのがわかります。
1つのファイルだけ編集しても、あまり良さは感じないかもしれませんが
編集するファイルが増えると、自分がこれまでどのファイルに変更を加えたかが分かり助かります。
git add でファイルのコミット準備
コミットとは、「今回はこんなファイル修正、プログラム開発をしたよ〜」というお知らせを
を作成するようなもんです。
コミットする準備として、今回の編集の範囲はこれですよ〜、という宣言的をします。
それがgit addになります。
git add -u
もしくは
git add 編集したファイルのパス
を実行します。
よく初心者へのGitのコマンド紹介で
「git add .」が紹介されることがありますが
これは現在のカレントディレクトリ配下の全てが変更の対象になります。
しかし実際の業務では、例えば自分の環境にデバックやテスト用のファイルなどを作成することもあるので
これらは、宣言しないのが無難です。
(チームが開発している大元のGitHubリポジトリに反映させないため)
git commitする
コミットとは変更した内容をコメントで書きんで、意思表示するようなものです。
git add に続いて以下を打ち込みます。
git commit -m "コメントしたい内容を書き込む"
ここまででは、まだGitHubへ変更内容は反映されてません。
pull requestを行う
下記のコードを実行すると
他の人からもGitHub上で変更を確認できるようになります。
git add -u
git commit -m “コメントしたい内容を書き込む”
の後に以下のコマンドを打ち込みましょう。
git push origin 作ったブランチの名前
(例)git push origin hogehoge
実行すると下記のGitHubページのようにpull requestのページが作成されます。
なにかしらコメントをつけて「Create pull request」ボタンを押します。
ここまでが開発の流れになります。
さらにReviewerからコメントやら修正箇所の指摘がくるので、「ソースコードの編集」から「レポジトリにPush」までの手順を繰り返します。
他のチームメイトの更新を自分のローカルブランチに反映させる
よくある事としては、自分がコードの編集に没頭している間に
チームメイトの編集がリモートのmainブランチに、加わることです。
そうとは知らずgit pushした後に、conflict(コードの同じ箇所を別々の編集をしている)などが発生するので
それらを解消・予防していきましょう。
そんな時に使うのがgit stashとgit pullコマンドになります。
以下のコマンドを上から順番に実行していきます。
1. 一旦編集した内容を棚上げする
git stash -u
2. mainブランチに切り替える
git checkout main
3. 最新の状態にする
git pull origin main
(もし
4. 自分の作業ブランチへ切り替える
git checkout 作業ブランチ名
(例) git checkout hogehoge
5. mergeコマンドでmainブランチの内容を取り込む
git merge origin main
6. さっきまで編集していた内容を再び反映させる
git stash pop
-u
は --include-untracked
の略で、新規作成ファイル(追跡対象に含まれていないファイル)も棚上げすることができます。
これを行うと、自分のローカルリポジトリ内でconflict内容を確認し、編集して解消できるようになるので
解消してからpushしましょう。
特定のリモートブランチをローカルブランチにpull
開発をおこなっていると
特定のリモートブランチを使って開発を進めてほしいという依頼も受けたりします。
そんなときもpullをつかっていきます。
例えばリモートのhogehogeというブランチで作業して
と言われたら、以下のようにブランチを切りかます。
ローカルのブランチを最新化
git fetch
git pull origin pullしたいリモートブランチ名:ローカルブランチ名
(例)git pull origin hogehoge:test
git checkout test
おわりに
ここまで読んでいただき、誠にありがとうございました。
最近はかなり忙しくて、、、
というのもGitHubでの開発を始めたり、フロントエンド開発をおこなったりと
Pythonだけではなくて、色々なことに挑戦する機会が増えました。
そんな中でも特にGitHubを使ったチーム開発に慣れていなかったため
今回業務で必要だった、初心者の頃に自分が知っておきたかった知識をまとめさせてもらいました。
この記事が皆様のお役に立てば幸いです。