Help us understand the problem. What is going on with this article?

初心者がGitを使った複数人での開発をする時の流れ

More than 3 years have passed since last update.

わたしが実際に行なっている、ターミナルを使った開発の流れをメモします。
リモートリポジトリをcloneした後の話になります。
一通りGit、GitHubについて調べてみたけど結局どうすればいいのかよくわからないひとはこれを見て参考にしていただければと思います。
途中、いろいろ省略の仕方があるので、慣れてきたら調べて試してみてください。

master branchにいることを確認する

次のコマンドを打つと、branch一覧と自分が今どこにいるかが表示されるので確認します。
$マークはコマンドを打ったことを明示するためにつけているだけなので実際には打ちません。
$ git branch
表示例

* add-problem
  master
  update-css

master branchにいなかったら
$ git checkout master
でmaster branchに移動します。
不安だったらもう一度、自分のいるbranchを確認します。

masterから新しいbranchを切ってくる

$ git branch new-branch
new-branchの部分は好きな名前にしましょう。
開発の内容に沿った名前にするとわかりやすいです。
これで新しいbranchを作ることができます。

そのbranchに移動する

$ git checkout new-branch
new-branchのところに自分の作ったbranch名を入れます。
これで移動が完了します。

不安だったら移動先のbranchにいるか確認

$ git branch
このコマンドで不安は解消できます。

その状態のままコードを書く

自分の担当のところの開発をしていきます!
一旦開発を中断して、しばらく経って途中からまた始める場合は、最初に自分が作ったbranchにいるか確認してから開発を始めるのが安全です。
$ git branch

addしてcommitする

この作業は少し開発が進むごとに行なっていきます。
まず次のコマンドを打って自分が作ったbranchにいるか確認しましょう。
$ git branch
確認できたら、
$ git add ファイル名または$ git add *(全てのファイルをaddする)
をしたあと
$ git commit -m "コメント"
をします。

addをする前、commitをする前に
$ git status
と打って、現在の状況を確認すると失敗する確率が減るのでおすすめです。

途中からこの部分をGitHub Desktopを使ってやるようになりました。commitする前との差分が簡単に、綺麗に見えますし、add,commitがかなり楽なのでおすすめです。

自分の担当部分が終わったらpushする

全ての変更分をcommitしたらリモートリポジトリにpushして共有します。
$ git push origin new-branch
(new-branchは自分のbranch名に)

Pull Requestを出す

これはブラウザ上で行います。
GitHub Desktopを使えばここがかなり楽にできます。

mergeされたのを確認したらmaster branchに戻る

$ git checkout master

localでいままで作業していたbranchを削除する

$ git branch -d new-branch
(new-branchは自分のbranch名に)
これで削除できます。これはしなくてもいいですが、開発が進んでいくとbranchが増えてbranch一覧がごちゃごちゃしてくるのでやったほうがいいです。

他の人の開発分を取り込む

$ git pull origin master
masterに他の人が追加した分を自分のところに取り込みます。

最初に戻る

1サイクルはこれで終わりです。また最初に戻りましょう。

この作業の繰り返しです。

おまけ

add,commitをするのが怖いときは
$ git status
で今の状況がわかるので確認しましょう。
自分で作ったbranchで作業しているか不安、というときは
$ git branch
で確認しましょう。
わたしはGitHub Desktopを使っているのであまり使いませんが
$ git diff
コマンドを使うと差分が見られます。
くわしい使い方はこちら

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away