Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
12
Help us understand the problem. What is going on with this article?
@Suguru_Toyohara

Colabratoryって画面上だけでGitHubにPushして差分まで見れちゃうって知ってた?

More than 1 year has passed since last update.

GoogleColabratoryでGitHubが使えるって知ってました?

実は無料で使えるあのColabratoryが、GitHubに対応していて、指定したブランチにCommit+Push、
さらに変更履歴まで見ることができます。

そもそもColabratoryとは?

知っている方はこの項はすっ飛ばしてください。

知らないのにこの記事を読んでくださってありがとうございます!
Colabratoryとは、無料でGPUつきのPython環境を使うことが出来るブラウザ型の開発環境です。
標準装備で色々なことができちゃうというすごいやつです!

実際に使ってみたい方はこちらからどうぞ

GitHubと連携する方法

まず、自分のGitHubアカウントに、notebookを作成したいレポジトリ、もしくはブランチを作成しましょう。
レポジトリを作成

その後、空の.ipynbもしくは、すでにあるnotebookをアップロードしましょう。
もしくは、Colabから直接Uploadすることもできます。今回はそっちでやってみましょう。

ColabからGithubに新規ファイルを送る

まずこちらにアクセス後、ファイルから新規ファイルを作成までいきます。
新規ノートブック
Python3の新しいノートブックをクリックして、新しく作って、内容を書きます。

内容を書く

これをGitHubにコミットしましょう。
GitHubにコピーを保存
GitHubにコピーを保存をクリックするだけで、Commitへの画面が表示されます。
どこに保存するかを選択して保存しましょう。

Commit

ここにブランチ名、ファイルPathを指定し、最後にCommitメッセージを入れます。

(ここでColabのリンクを貼ると、Notebookの一番上にColabのメッセージが追加されます。)

これでOKを押せば、Commit + Pushが走ります。

GitHubにCommit後

他人のレポジトリのNotebookをいじってプルリクを出すまで

Tensorflowなどはそうなんですが、OSSでDocumentの一部に.ipynbを使っているOSSもあります。

また、それだけでなくとも、他人のレポジトリのNotebookを編集したい、共同作業したい場合はもちろん出てきます。

その場合の手順は以下の通りです。

まず、Forkする。

Forkする

Forkしましょう。それで自分のレポジトリにしましょう。そしてプルリク用のブランチを切ります。

編集+Commitを行います。

プルリクを出す

できたところでそのままプルリクを出します。

しかし、実際に出されるデータはipynbそのもの。つまりJson型で保存されたデータが映るだけです。

差分をみる

レビュワーや、プルリク提出する人に取っては差分を見るのが結構難しいと言うか、面倒臭いのですが、

実は、Colabratory上でプルリクの差分を見ることができます。

ファイル→変更履歴から見れれます。

スクリーンショット 2019-12-14 18.46.43.png

このように、変更履歴を見ることができるので、簡単に比較できますね。

ちなみに、翻訳の場合、適宜改行することで無駄にワンライナーになって読みづらくなることがなくなるのでおすすめです。

最後に

これを使えば、チュートリアル記事などもColabで編集して、
公開するだけでいいので、楽チンでいいですね。
今度からはこれでソース管理などもしていきたいと思います。

12
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Suguru_Toyohara
渋谷でエンジニア。機械学習の仕事がメイン。でも他も結構できる。 興味ある技術:Vue.js/k8s/TF2.0/TFXあたり
microad
データとテクノロジーをかけ合わせたマーケティングプラットフォームを提供する会社です。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
12
Help us understand the problem. What is going on with this article?