githubに作ったモノを公開した話。macだよ。
そんな日が来るとか思わなかったんですが、githubにソースを公開しようと思い立ちました。
1. githubにアカウントを作る。で、ここなんですが、過去に仕事でアカウントだけは設定したことがあり、細かい事は覚えていない。なので、ネットで調べたけど、そんなことやったのかな?みたいな記憶しかない。
2. githubのweb上でレポジトリを作る。これはボタンとかピンと来ないインタフェースだけど、探せばまぁ見つかる。
3. 自身のパソコン上にクローンを作って、落としてきたりアップしたりする環境を作る。この部分を理解するために、いくつかのインターネッツを徘徊した(笑)
3-1. とりあえず、設置したいところにディレクトリを作るよね。
$ cd ***** $ mkdir github(みたいな)
3-2. 初回ならgit config --globalとかで設定をしておく。アカウントを切り替える場合は、都度叩くみたい。
$ git config --global user.name "githubアカウント名"
$ git config --global user.email "githubアカウントメールアドレス"
3-3. レポジトリ作ると、強制的にreademe.mdとかできるよね。まずそれを落としてみる。といいますか。レポジトリ一つまるっと落ちてきた。(落ちてきたと言う表現はsvn的でgitは違うけど)
$ git init
すると、以下のような感じになるわなぁ
***/github/レポジトリ名/.git
LICENSE
README.md
3-4. で、reademe.mdを編集してみる
これはもうエディタでやろうがviでやろうが適当にテスト的なコメントを入れてみた。
3-5. 新規ファイルをアップする。
作ったソースを置いてみる。これはfinderとかでコピペするだけ
3-6. svnと同じ概念で新規はaddしてからcommitする
$ git add *
3-7. commitする
$ git commit
これはコメント入れる。svnをターミナルでやんのと同じ容量。気のせいかもしれないけど、コメントいれないとコミットできない気がする。わかったらここ更新しとくかも。以下みたいに、何変えて、何新規か分る。
[master num] firest
2 files changed, num insertions(+)
create mode num 追加したファイル
3-8. ここからsvnと違うとこだわな
svnは集約型だけどgitは分散型?だからコミットといっても自分のPC内だけなんで、マスターとかブランチに共有させる必要がある。pushね。
$ git push -u origin master
Counting objects: 6, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), num KiB | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
To git@github.com:あなたのアカウント名でしょ/あなたのレポジトリ名でしょ
num..num master -> master
Branch master set up to track remote branch master from origin.
フォーク?でもしない限りアカウント名と、レポジトリ名は自分のとこだよね。
4. githubのweb上で、更新したレポジトリを見てみると、編集や新規追加が行なわれている。
5. もしweb上で更新したりしたら、最新の情報を取ってくるよね。
$ git fetch origin
$ git diff origin/master
これでマスターとの差分が見れる。fetchは必要みたい。他にも方法はあるみたいだけど、文字列として記憶しやすいのはこれかな。
んで、問題なければ
$ git pull
マージする場合は...自分一人なんでまずそんな経験しないかな。
こんな感じでした。
で、作り終わりかけたところで分りやすいサイト見つけました。
人の事言えないけど、本当に分りやすく書く人と、それ書いて意味あるの?って人いるよね。