java, Opensource

Abstract#

Githubはソフトウェア開発の進め方その中でも特にOpensourceソフトウェア開発に革新を起こしたシステムの一つだと思っています。自分もこれの登場でできることが増えた気がします。SVN+SNSという感じです。Github便利に使わせていただいておりますが、使い方で迷ったことを記録します。

What's new?#

  • 2018年2月18日、フォークした本家プロジェクトのアップデートをマージする方法を記録しています。
  • 2017年8月5日、MACのSourceTreeで秘密鍵を設定する方法を追記

Topic#

  • GitHubとは
SVNなどのレポジトリにSNSの機能をつけたサービス。すべて公開であれば、無料で使えます。
  • sshでアクセス
Githubにファイルをアップロードするには、ssh経由となります。その辺の説明はこちらへ[3]。RSAではなく、EdDSAの実装の一つであるEd25519がデフォルトになってますね。この辺のアルゴリズムの話はEncryptionで。
  • Merge Original to folked repository
Merge Origin to folked repository JSPWikiは本家からフォークしたレポジトリを作りながら、必要な開発を進めています。といいつつ、主にやっているのはプラグイン開発なので、本体をいじったことはほとんどないのですが。ここでは、本家のアップデートをフォークした自分のレポジトリに反映するためのメモです。
  • SourceTreeで昔のコミットまで戻す
戻したいコミットで右クリックをして、「現在のブランチをこのコミットまでリセット」か「このコミットを打ち消し」を選ぶと戻る。
  • MACのSourceTreeで秘密鍵を設定する方法
秘密鍵と公開鍵のセットを作成し、公開鍵のテキストをGITHUBの設定画面に貼り付けます。しかし、まだ、Permission denied (publickey)が出ます。ここの解決に時間がかかったのですが、秘密鍵は、.sshフォルダに置くだけではダメで、MACのターミナルでssh-addをして、秘密鍵を追加して置く必要があります。ここ注意。[2]
  • さて情報収集
http://matome.naver.jp/odai/2132721864242946701
  • Gitを使わないといけない?
GitHub for WindowsというソフトがGitHubのWEBサイトにアカウントを登録する過程でインストールされていました。これが使えそう。http://git*scm.com/downloads/guis msysgitが有名らしいけど。
  • レポジトリを作ってファイルをアップする
WEB上でレポジトリをつくって、クローンすると、端末側に手元作業用のフォルダができます。
そのフォルダにアップしたいファイルやフォルダを置きます。
で、GitHubのコマンドラインのツールで

> git add !!!

> git commit *m "何かコメント"

> git push

Reference#

  1. http://blog.glasses-factory.net/2011/08/16/github
  2. [#2]http://teru0rc4.hatenablog.com/entry/2017/03/24/223220
  3. [#3]Connecting to GitHub with SSH, https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh