[git, mac] ローカルにリモートリポジトリを作って、一人二役でマージとか練習したい

2016/08/26

こんにちは。きんくまです。

いままでgitを個人的に使っていて、add、commit、ブランチ切るぐらいはできたんですが、実際のところ細かく修正したり、やり直したり、リモートリポジトリが絡んでくるとダメダメな感じでして。

それで最近、gitの目的のひとつである、他の人とソースコードを共有してやりとりすることが増えてきました。
ただ、pullしたときの挙動とかpushは本当にこれでいいのかが、いまひとつあやふやな理解でやっている感じがしてまして、、。

それで、この記事ではそれを解消するために、自分の端末にリモートリポジトリを作って、pullとかの練習してみよう!というものです。

リモートリポジトリを作る

まずは、リモートリポジトリを作りましょう。新規フォルダに適当な名前をつけます。
ここでは、remoteとしました。

git_practice_remote_1

ターミナルから、このディレクトリに移動したあとに次のコマンドを打ちます。

git init --bare

おめでとうございます!これでリモートリポジトリの完成ですw

というわけで、ここからは、同じプロジェクトに入ったAさんとBさんという役を一人で演じてみます。

Aさん役

Aさんは最初にリモートリポジトリにコミットする人です。

personAフォルダを作って、gitを初期化して、最初のコミットまで済ませます。このへんはみなさんよくご存知だと思います。

git_practice_remote_2

git init
echo "hello" > hello.txt
git add hello.txt
git commit -m "initial commit"

これをさきほどのリモートリポジトリにpushします(リモートっていっても、となりのフォルダなんだけど)
まずはリモートの先を設定します。/path/to/yourfolder/remote のところはご自分の環境に合わせて変更してください

git remote add origin /path/to/yourfolder/remote

それでpushします。やったー成功しました。

git push origin master

Bさん役

新しくプロジェクトにBさんが入ってきました。最新のリポジトリをとってきましょう。
適当なフォルダを作りました。tempです。

git_practice_remote_3

このとき、コマンドはターミナルでさきほどのAさん用とは別のタブで開いて作業すると便利です。

git clone /path/to/yourfolder/remote

tempフォルダの中で、git cloneするとひとつ階層が下のフォルダができます。

git_practice_remote_4

ここでtemp/remoteをpersonBとリネームして階層をひとつ上にひっぱってきました。tempフォルダは削除しました。

git_practice_remote_5

これで、リモートリポジトリとAさん、Bさん2人の作業フォルダが完成です!

というわけで、自分の端末上に環境ができたので、いろいろと練習してました。素振りのごとく一人でマージしてましたw
pull, fetch, merge, rebase, revert, resetなど、いろいろコマンドあって大変なんだけど、一通り試してみたら、なんとなくわかってきたような。

あとなんか調べてたら、pullはfetch+mergeとかだとか出てきて、なるほどと思いました。

>> git pull と git pull –rebase の違いって?図を交えて説明します!

それとマージするときにコンフリクトおこしたとき、問題のファイルに、<<<<< head とか自動で書き足されます。そのときに、毎回いちいち編集しなきゃいけないのかな?と思っていたら便利なコマンドがあるのを知って感動しました。

git checkout –ours hello.txt //上側の方をとる
git checkout –theirs hello.txt //下側の方をとる

このコマンドで、上側と下側のどちらか片方に自動で置きかわるみたいです。うは!
checkoutってブランチの切り替えだけなのかなと思ったら、こういう使い方もあるんですね。

ローカルで練習できるので、気軽にいろいろ試せるし、いらなくなったらすぐにフォルダを捨てられるので良かったです。
ではでは。よいgitライフを!!

LINEで送る
Pocket

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

LINEスタンプ作りました!
毎日使える。とぼけたウサギ。LINEスタンプ販売中! 毎日使える。とぼけたウサギ

ページトップへ戻る