日々常々

ふつうのプログラマがあたりまえにしたいこと。

Gistで遊んでみる

GitHubにはコードの断片を管理したり人に見せたりブログに貼付けたりするのに便利なGistってのがあります。

通常の使い方では、ブラウザで貼付けたりとかすると思うのですが、GistもGitのリモートリポジトリなので、クライアントから使う事も出来ます。

……ってのはGistにも普通に書いてるんですけどね。

Gist is a simple way to share snippets and pastes with others. All gists are git repositories, so they are automatically versioned, forkable and usable as a git repository.

とりあえずやってみます。

色々やってみる

まず適当に作ります。

GitHubはお金払わないとプライベートなリポジトリは作れないのですが、Gistだとプライベート作れたりします。プライベートと言いつつ、アドレスわかったら誰でもアクセスできちゃう程度のプライベートですが。


次にこれをクローンします。アドレスは画面に書いてくれてる通り。

$ git clone git@gist.github.com:644e504e9d550c2fedd3.git gist-644e504e
Cloning into 'gist-644e504e'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
$ cd gist-644e504e/
$ ls -a
.		..		.git		textfile.txt
$ cat textfile.txt 
plain text$ 

すんなりですね。
リモートはふつーにこうなってます。

$ git remote -v
origin	git@gist.github.com:644e504e9d550c2fedd3.git (fetch)
origin	git@gist.github.com:644e504e9d550c2fedd3.git (push)

適当にファイルを追加します。

$ echo new> newfile.txt
$ git add newfile.txt
$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	new file:   newfile.txt
#
$ 
$ git commit -m'add new file'
[master c8c75b2] add new file
 1 file changed, 1 insertion(+)
 create mode 100644 newfile.txt

で、pushする。

$ git push
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 271 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@gist.github.com:644e504e9d550c2fedd3.git
   22e7656..c8c75b2  master -> master
$ 

できたらしい。ブラウザを更新。

うん、ごくフツー。

あとはブラウザからの更新ですかね。適当に弄って……rstに変えてしまおう。

できた。rstとかをちゃんと表示してくれるのが素敵。
とにかく出来たので、何も考えずにpullる。

$ git pull
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (2/2), done.
Unpacking objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
From gist.github.com:644e504e9d550c2fedd3
   c8c75b2..9f3bf9d  master     -> origin/master
Updating c8c75b2..9f3bf9d
Fast-forward
 newfile.txt => newfile.rst | 1 +
 1 file changed, 1 insertion(+)
 rename newfile.txt => newfile.rst (57%)

特に問題なく更新できますねー。
ってことでごくごくフツーに使えます。

続きを読む