画竜点睛を衝く@mapyo

日々やった事をつらつらと書くブログです

git svnからgitへ移行する時のコマンドの違いについてまとめる

軽くまとめてみた。なるべく事故が起こらないような気持ちを込めて。

事前準備

  • 公開鍵の設定(ちょっと趣旨と外れるけど)
    Account settings→SSH Keys→Add SSH keyで、タイトルを適当につけて、ローカルのid_rsa.pubの中身をコピペ(この辺は以下のサイトにのってた)
    http://blog.glasses-factory.net/2011/08/16/github
    自分のブログでも軽く触れてます。  http://mapyo.hatenablog.com/entry/20120219/1329674034
  • リモートリポジトリの追加
    git remote add リモートリポジトリの名前 URL
    とりあえずリモートリポジトリの名前って書いたけど、自分で好きに付けていい。
  • ちゃんと追加出来てるかの確認
    git remote -v
    それっぽいものが出てたら大丈夫(笑)

今まで使ってたコマンドの違い

基本的にgit svnとして使ってたもの全てが変わると思ってよいはず。

  • git svn fetch
    git fetch
    そんなに使う機会はないのかなぁ。という印象だがしかし、git pullは慣れるまで使わない方がいいという噂もあるので、こっちを使った方がいいのかもしれない。
    http://dqn.sakusakutto.jp/2012/11/git_pull.html
  • git svn rebase
    git pull リモートリポジトリの名前 リモートリポジトリのブランチ名
  • git svn dcommit
    git push リモートリポジトリの名前 リモートリポジトリのブランチ名
  • git svn branch ほげほげして、ローカルにとってくるくだり。
    使わない。リモートブランチを作りたい場合は、以下。ローカルブランチ作って、リモートリポジトリに上げるイメージ。
    git checkout master→master以外のローカルブランチでもいいよ
    git pull リモートリポジトリの名前 master→ローカルブランチのmasterの内容を最新にする。 
    git checkout -b ほげほげ
    git push リモートリポジトリの名前 ほげほげ→これでリモートリポジトリに、ほげほげという名前のリモートブランチが出来る。

補足

  • git pullでコンフリクトが起きた時に元に戻す  →git reset --merge
  • git fetchと、git pullの違いについてはこちら  http://qiita.com/items/e082d64f3f8b424e9b7d   - fetchはリモートから情報をとってくるだけ。pullは情報を取ってきて、マージしてくれるイメージ
  • 今までgit svnで使ってたフォルダ上で特に意識せずに使える。でも、git pushした後に、git svn dcommitとかしちゃうと、事故が起こりそうな予感がしてならない。気のせいかもしれないけど。
  • zsh使ってたら補完が出来るので楽になるよ  zshでgitのコマンドやブランチ名を補完できるようにする
  • 自分で適当に一通り作業してみるのが一番いいよ。バージョン管理してるから、少々の事が起きても戻せるはず!たぶん。
  • まだ未熟者なので間違ってたら誰か補足お願いしますー
  • kobit使ってMarkdownで書いてるけど、はてなは、箇条書きを1階層しか持てなくて、2階層使って書いてたら、かなり修正しなきゃいけなくて、ゲンナリしてる。。。

参考元

http://transitive.info/article/git/command/pull/