Personalアカウントではプライベートレポジトリを作成できます. 本来月7$かかるPersonalアカウントが学生なら実質無料で使えます. 2016年5月以降プライベートレポジトリが無制限に作成できるようになったのでお得です.
-
GitHub Educationにアクセスして, Request a discountをクリックし,必要な情報を入力します. メールアドレス入力フォームには
~.ac.jpで終わる大学のメールアドレスを入力するようにしてください. (メールアドレスを忘れた人はMailSuiteにログインすることで確認することができます) -
数日後にメールが届きます. acceptされた場合すでにPersonalアカウントが使用可能になっているはずです.
- 共同開発するレポジトリをSourceTreeにクローンする。
- SourceTreeの上にある「ブランチ」アイコンをクリックする。新規ブランチにブランチ名(自分の名前とか)を入力して新しいブランチを作成する。
- 更新をコミットしてプッシュする際にプッシュするブランチを選べるので、自分が新しく作ったブランチにチェックを残し、masterブランチのチェックを外してプッシュする。
- Githubにて「branch:master▼」というプルダウンメニューから自分が新しく作成したブランチを選択し、正しくプッシュされていることを確認する。
- Githubのmasterブランチからプルリクエストを行い、新しく作ったブランチにて更新したことを伝える。そのプルリクエストをもとに尾山先生にmasterブランチへ自分の更新を反映してもらう。
- masterブランチに更新が反映されれば、自分で作ったブランチは削除してもOK。
Git Hub からレポジトリをZipでダウンロードする際にSafari等のブラウザが勝手に文字コードを変えてダウンロードしてしまい、エラーが出てしまう事があります。
(例 UnicodeEncodeError:'utf8' codec can't decode byte 0x8d )
これに対する対処法の一つとして、ダウンロードしたいレポジトリをクローンする方法があります。これは、ターミナルで
git clone URL で実行されます。 URLはダウンロードしたいレポジトリのあるページのURLです。
例えば、git clone https://github.com/oTree-org/oTree のような感じです。
windowsの場合はgitをインストールした上で、同様にコマンドプロンプトで git clone URL で実行です。
もう一つの対処法にブラウザの設定を変える方法があるのですが、まだ試していないので、どなたか試したら加筆をお願いします。 (トラブルが出たらここに書いてみんなと共有する.)
rebase コマンドを使用すると、一方のブランチにコミットされたすべての変更をもう一方のブランチで再現することができます。 引用元: 3.6 Git のブランチ機能 - リベース
つまり,2つのブランチがあり片方のブランチが変更されていく時に, もう片方のブランチにその変更を取り込む事ができます.
まずふたつのブランチ (現在いるブランチとリベース先のブランチ) の共通の先祖に移動し、現在のブランチ上の各コミットの diff を取得して一時ファイルに保存し、現在のブランチの指す先をリベース先のブランチと同じコミットに移動させ、そして先ほどの変更を順に適用していきます。
QuantEcon.applicationsレポジトリをフォークしてその内容を変更しpull requestを出したものの, それが承認されるまでの間にフォーク元のレポジトリの対応する部分が新たに変更されたので, 競合が発生してpull requestが承認されなくなりました.
自らの変更をリベースすることで競合を解決します.
-
はじめにフォークしたレポジトリをフェッチして最新の状態にしておいてください.
-
まずリベースしたいブランチにダブルクリックなどでチェックアウトします.
-
リベースしたいコミット上で右クリックし
リベースを選択します. ここで競合が存在する等のメッセージが表示される場合,競合の解決を行います. -
メッセージを閉じるとリベースするファイルの一覧が表示されるのですが, その一覧のうち
?アイコンが表示されているものが既存の変更と競合しているので解決しなければなりません. 競合ファイルをクリックしてどの部分が競合しているのかも確認しておきます. -
今回は別の人に変更された方を残したいので
'自分の変更'を使って解決をクリックします. ※ここで'相手の変更'を使って解決をクリックすると相手に変更された方が残らなくなるので注意してください. -
メニューから
操作をクリックし,リベースを続けるをクリックします. -
何もなければ競合が解決した旨を報告するなどして終了です.
-
ここでエラーが発生した場合,強制プッシュを行います. プッシュボタンを押して出てくるウィンドウに強制プッシュのチェックボックスがない場合は,Source Treeの環境設定にある全般タブの下の方の
強制プッシュを許可するにチェックを入れてください. ※強制プッシュは危険なので,問題がないことを確認したうえで行ってください.
