git push,remoteのちょっとしたメモ

そろそろMercurialだけじゃなくGitも扱えるようになりたいな、と思ってちょこちょこ触っております。
Herokuも扱いたいし、MercurialとGitの両刀使いになれるように。
環境:MacOS 10.6.8 / Git 1.7.10.1

プッシュの時の呪文

$ git push origin master

わけもわからずこれでプッシュしてましたが、ずっと意味がわからないままだと気持ち悪いのでちょっと調べてみたりとか。
Mercurialだったら

$ hg push

とか

$ hg push --new-branch

で済むのに……

originて?

リモートのサーバのエイリアスみたい。

$ git remote -v

エイリアスを確認できます。

$ git init

リポジトリを作ったときは何も書いてなくて、どこかからクローンしてきた場合はそのクローンしてきた先がoriginに設定されるみたい。

$ git clone git@github:sasaplus1/heroku-helloworld.git
$ cd heroku-helloworld/
$ git remote -v
origin  git@github.com:sasaplus1/heroku-helloworld.git (fetch)
origin  git@github.com:sasaplus1/heroku-helloworld.git (push)

pushはプッシュ先なんだろうけど、fetchってなんだろう……


remoteを追加するときは

$ git remote add heroku git@heroku.com:heroku-helloworld.git

で。git remote add [エイリアス名] [エイリアス]という感じ。

削除するときは

$ git remote rm heroku

で。

masterて?

masterはどうやらGitでデフォルトで作成されるブランチで、Mercurialでいうdefaultブランチみたい。
developブランチみたいなのを作って、

$ git push origin develop

ってやるとやっぱりdevelopブランチにプッシュされるのかな?


(いろいろ試してみてる……)

$ git clone git@github.com:sasaplus1/test.git
$ cd test/
$ touch README.md
$ git add .
$ git ci -m "add README.md"
$ git branch develop
$ git checkout develop
$ touch wowwow
$ git add .
$ git ci -m "add wowwow"
$ git push origin master
$ git push origin develop

リポジトリを作って、ファイルを追加してコミット、別ブランチを作ってファイルを追加してコミット、
masterにプッシュってやるとmasterブランチしかプッシュされてないみたい。
developも指定してあげるとプッシュされてる。Gitむずい。Mercurialはなんか適当に計らってくれてたのか……


まだまだわからないことだらけ……