同一リポジトリでの作業方法
概要
誰かのpcにあるリポジトリで開発をする時にどうやって複数人で上手くGitHubでの作業を行っていくのかっていう疑問がありますよね。ある程度の流れを抑えたので、備ぼる。
やり方
まず、誰かのPCに作業用のリポジトリがあるとします。
hoge@hoge:~/test/
そのリポジトリをGitHub上でフォークします。フォークしたら、リモートリポジトリとして
誰かのPCの作業用のリポジトリにURLを追加します。
addの後ろのhogeは、git remote -v
で確認して同じ名前が無いことを確認しましょう。
hoge@hoge:~/test/$ git remote add hoge 追加したいリポジトリ
次に、自分のフォークしたリポジトリのブランチを誰かのPCの作業用のリポジトリに追加したいと考えます。そのために以下のコマンドを実行します。
fetchの後ろのhogeは、先程のaddした名前と同じものです。
hoge@hoge:~/test/$ git fetch hoge <ブランチ名> hoge@hoge:~/test/$ git checkout <ブランチ名>
上手くブランチが切り替わらなかった場合は(変更が残ってる場合)
error: Your local changes to the following files would be overwritten by checkout:
みたいなことを言われたらgit stash(作業途中の場合)
かgit commit
かgit checkout .(変更全消し)
をしましょう。
これで自分がフォークしたブランチを持ってくることが出来たので、
git add
してgit commit
をするのですが他のユーザーが使っていることを考えて一時的に
自分のユーザー名でcommitをした方が良いと考えます。方法は以下のとおりです。
hoge@hoge:~/test/$ git add hoge hoge@hoge:~/test/$ git -c user.name='hoge' -c user.email='hofe@hoge.com' commit
後は、commitしたものを自分のGitHubのフォークしたリポジトリに反映させます。
hoge@hoge:~/test/$ git push hoge
反映させたら、GitHubでPR(フォーク元を修正したい場合)を投げて完了です。