Make Local Happiness

自分の幸せは自分で作る!!!

いまさらのgithub使ってみた

今更ですが、gitやってみました。

今まではsvnしか使ったことがなかったので、

いろいろ勝手が違い戸惑いました。

 

ただ、これからチームで開発するために

避けては通れない道と思いめちゃくちゃ調べながらやってみました。

 

gitを使う流れと

いろいろはまって悩んだポイントを紹介します。

 

今回行ったのは複数人で1つのリポジトリを更新する場合です。

流れはこんな感じです。

ちなみにリポジトリgithubを使っています!

パソコンはmacを使っています。

 

-----------------------------------------------

①:リポジトリをフォーク(fork)する(自分用のリポジトリを作成する)

②:ローカルにクローン(clone)を作る(リポジトリを取得する)

③:開発して更新対象を追加(add)&コミット(commit)する 

④:リポジトリへプッシュ(push)をする(ローカルリポジトリからgithubへ更新対象を送る)

⑤:プルリクエスト(pull request)を送る(更新を本番用のリポジトリへマージしてもらう依頼を送る)

※ pull request以降の流れは次回書きます

-----------------------------------------------

 

実際どうやるかというと

 

 

①:リポジトリをフォーク(fork)する(自分用のリポジトリを作成する)

github のサイトからforkボタンをクリックすると、
自分用のリポジトリが作成されます。
 

f:id:iwate_takayu:20130107023140p:plain

 

f:id:iwate_takayu:20130107023345p:plain

 

 

 

②:ローカルにクローン(clone)を作る(リポジトリを取得する)

先ほどforkで作成した自分用のリポジトリをローカル環境で修正するため、
クローンを作成します。
githubのサイトからもできるのですが、
ここはコマンドでやってみました。
 
まずはクローンを格納するフォルダを作成し、
作成したフォルダへ移動し、
クローンを作成します。
 
$ mkdir workspace
$ cd workspace
$ git clone https://github.com/itochin/freezeAlarm.git
 

③:開発して更新対象を追加(add)する 

次にソースの修正を行い、

修正したソースを更新対象に追加します。

 

 

$ git add titanium/
$ git commit -m "iphone版リリース"
 [master (root-commit) 1e95b9a] iphone版リリース 95 files changed, 2035 insertions(+)
 ・・・
 
これで更新する準備は整いました。
 

④:リポジトリへプッシュ(push)をする(ローカルリポジトリからgithubへ更新対象を送る)

いよいよgithubの自分のリポジトリへ更新します!
githubへプッシュする際にはユーザ名とパスワードを聞かれるので、
用意してください。
 
コマンドの意味は
push = アップロードするよ
origin = リモートのサーバ名(originはクローンした場所がデフォルトで設定されている)
master = デフォルトのブランチ名 (svnでのtrunkと同じ)
 
$ git push origin master
 
これでgithub上の自分のリポジトリまで更新されました!
 

 

 

 

⑤:プルリクエスト(pull request)を送る(更新を本番用のリポジトリへマージしてもらう依頼を送る)

 
最後に本番用のリポジトリへ変更した内容を送ります!
github上からpull Requestボタンをクリックします。
 

f:id:iwate_takayu:20130107030520p:plain

 

 

 pull Requestをクリック後

更新のタイトルと詳細を記述する

画面が出てくるので、

内容を入力しコミットしてください!

 

以上でチーム内で使っているリポジトリを修正する流れは

 

完了です。

 

 

あとはpull Requestの内容を

本場用のリポジトリ管理者がマージする流れとなります。

 

今回特にはまったポイントは

git clone後に修正対象フォルダでgit pushを行おうとしたことです

これを行うと403エラーでそんな場所ないよと言われてしまいました(泣)

 

また、今回は並列作業がなかったので、

branchは作りませんでした。

本来であれば作ってから作業した方がよいので、

次回以降やろうと思います。

 

参考にしたサイトになります!

私の内容より詳しく書かれています

 

------------------------------------------- 

サルでもわかるGit入門

http://www.backlog.jp/git-guide/

■Git超入門:"git push origin master"の"push"と"origin"と"master"の意味がわからないあなたへ

http://dqn.sakusakutto.jp/2011/10/git_push_origin_master.html

■最速で Git を Mac にインストールして基本的なコマンドを使う方法

http://weble.org/2011/02/14/git-mac-install

-------------------------------------------