BEIKE blog

備忘録です

同一リポジトリでの作業方法

概要

誰かの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 commitgit 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(フォーク元を修正したい場合)を投げて完了です。