【初心者向け】Githubに変更したコードを上げる(プッシュする)方法
修正したコードをGithubに再度上げ直したい!という時ありますよね。
「でも、Githubが難しすぎて横文字ばっかりで何をどうしたらいいか分からない!!」
という声がたくさん聞こえてくるので、分かりやすく紹介していきます。
webサービスを複数人で開発していると、
修正したコードをGithubに上げて(プッシュして)、
同じオーガニゼーションに所属する他のエンジニアに
コードを確認して承認してもらう、という作業があります。
このことを「プルリクエスト」といいますが、
よく「プルリク」と略されて呼ばれています。
今回は、あなたが自分のPC(ローカル環境)でコードを修正し、
それをプルリクするという想定で、
以下の手順について簡単に紹介していきます。
プルリクエスト(Pull Request)の手順
Githubのコード情報をローカルに複製(clone)する
ローカル環境のターミナルで以下のコマンドを打ちこみます。
※ターミナルとは、コマンドを打つことができるもので、「コードエディタ(VSCodeやAtomなど)」内に搭載されていたり、Windowsにインストールされている「コマンドプロンプト」のことを指します。
git clone https://github.com/オーガニゼーション名/リポジトリ名.git
すでにローカル環境に最新のソースコードがあるという方は
クローンしなくてOKです。
ブランチを作成する(切る)
コードを修正する前にブランチを作成するという作業があります。
修正前の(git clone
した)ソースコードが「幹」だとすれば、
今から「枝葉」の修正を行っていくわけなので、
修正する前のコードを残しておくためにもまずは
ブランチ(枝)を事前に用意して、
そのブランチに修正コードを書いていくわけです。
そして、修正したコードが問題なければ幹に加えられる
(修正後の枝が足されて幹が上書きされるイメージ)、という流れになります。
長くなりましたが、具体的に打ち込むコマンドは以下です。
git checkout -b ブランチ名
ブランチ名は好きに決めて構いません。
-b
というのはbranch
の略です。
今回僕は fix-sns
というブランチ名をつけました。
コマンドを打ちこんだ後に
Switched to a new branch
と表示されていたらOKです。
ソースコードに修正を加える
ソースコードに修正を加えてください。
ここはいつも通りコードを書いていきましょう。
ステージに追加
修正が終わったら、その修正をステージに追加する作業です。
git add .
add の後はスペースを空けてから.(コンマ)を打ち込みましょう!
コミットする
次にコミットをします。
その際、コマンドを打ちこむときにコミットメッセージというものを残します。
どんな修正をしたか、メモを残すようなイメージです。
今回僕は、SNSのリンクの部分を修正したので
こんな感じでメッセージを残しました。
git commit -m "fix sns area"
コマンドを打ちこむと、
[fix-sns 6ac5371] fix sns area
2 files changed, 2 insertions(+), 24 deletions(-)
僕のは、「2つのファイルが修正され、2行追加、24行削除」
という情報が返ってきました。
ちゃんと修正が反映されていました!
Githubにプッシュする
最後にGithubに修正したコードを上げてみましょう!
git push origin ブランチ名
なので僕の場合は、
git push origin fix-sns
ですね!
ここで入力するブランチ名は必ず、
先ほど修正前に新しく作ったブランチ名で
あることに気をつけてください!
僕もこれで一度ミスをしているので気をつけてください(笑)
ミスを防ぐために一応紹介しておくと、
初めてプッシュした時の名前をmain
(慣習的にそう名付けることが一般的)として、
次にある修正をプルリクしようとしたときに、
間違えて
git push origin main
とコマンドを打ってしまい、他の人の確認・修正を待たずに、
僕のソースコードの修正が強制的にプッシュされてしまったんです。
その時は特に大人数で管理しているわけではなかったので
大事には至らなかったのですが、
複数人でソースコードの修正をしていた場合、
「幹」の部分が1人の操作によって無理やり変わってしまうので、
元データが分からなくなり面倒くさいことになってしまいます。
そうならないためにも、
しっかり気をつけてプッシュするようにしましょう!
もう一つ、ここでいうorigin
については、
下記の記事が参考になると思いますので貼っておきます。
難しいGitですが、少しずつ慣れていきましょう!
Discussion