[{PageViewPlugin}]
[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で昔のコミットまで戻す
|戻したいコミットで右クリックをして、「現在のブランチをこのコミットまでリセット」か「このコミットを打ち消し」を選ぶと戻る。
[{Image src='GitHub/github.png' width='500'}]
*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
#[http://blog.glasses-factory.net/2011/08/16/github]
#[#2][http://teru0rc4.hatenablog.com/entry/2017/03/24/223220]
#[#3]Connecting to GitHub with SSH, [https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh]