0
0

More than 1 year has passed since last update.

【チーム開発の基礎】git pull でリモートリポジトリの最新内容を取り込んでから push する【初心者向け】

Posted at

こんな時どうしたらいいの? (業務上でのシチュエーション)

①私は、feature/1というブランチでxxxという機能を作る作業を進めていました。

②そこに上司のAさんが同じくfeature/1というブランチにて、yyyという機能を作る開発をし始めました。

③Aさんは私よりも作業スピードが早いため先にyyyの機能の実装を終え、"yyyを実装"というコミットメッセージでcommitし、リモートのfeature/1pushしました。

④その後、xxxの実装が終わった私は、このままxxxcommitpushしたらyyyの機能はどうなるのだろう、、、
と不安になり、この場合の手順を上司に質問したので、それをまとめます。

作業手順

xxxの実装が完了したら、まず普通にステージング(add)+コミット(commit)までを行う

git add ファイル名
git commit -m "xxxを実装"

※ここで流れでpushしてしまわないように注意!!

git pullyyyを実装のコミットを含むブランチの最新状態を取り込む

git pull origin feature/1

feature/1は今回のシチュエーションのブランチ名なので、各自pullしてくるブランチ名に変更してください。

すると、上司のAさんが実装した"yyyを実装"の内容(コード)が自分のローカルリポジトリに反映されるはずです。

ここでもし、"xxxを実装""yyyを実装"の内容で、同じファイルの同じ箇所(行)を変更していた場合、コンクリフト(競合)が発生し、git側が「これどっちが正しいの??」となるため為、「正解はこっちですよ」とする作業を行わなければなりません。
コンクリフトが発生したら上司に確認を取るようにしましょう。

git pushする

git push origin feature/1

これで"yyyを実装"の内容を取り込みつつ"xxxを実装"commit+pushすることができます。
続けてzzzという作業も安心して進められます。

最後に

受託開発系企業に未経験として入社してから2ヶ月が経過し、最近初めてチーム開発を経験させていただく事になりました。

この記事のような初歩的な事が全く理解できていなかったので、上司に質問する毎日です。

特にgitに関しては1つミスると大変なことになりますし、専門用語が多くてネットの記事を読んでいても勘違いが発生しやすい為、気を遣わずに現場の方に質問した方が良いのではないかと思っています。(気を遣って質問せずにミスる方が恐ろしく迷惑をかけてしまいます)

同じ境遇の方、またはプログラミング初学者の方のお役に立てれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0