gitリポジトリでの管理 & GitHub での公開

Simplicityの特徴 フォーラム 要望・機能追加など gitリポジトリでの管理 & GitHub での公開

25件の返信スレッドを表示中
  • 投稿者
    投稿
    • #40378
      はせがわ
      ゲスト

      お世話になっております。

      Simplicity は現在「ZIP ファイルでアーカイブ配布」という形になっているのですがこの方式ですと、

      – 利用者側がバージョンごとの差分を確認するのが面倒
      – 利用者側がバージョンアップの際には、「最新のZIPファイルをダウンロード→上書き→アップロード」するという手作業が幾つか発生するので面倒かつミスが発生しやすい

      という点が個人的に気になっております。

      GitHub を利用した管理・配布に移行すれば、上記の問題が解消され、かつ以下の様な利点があるのですがいかがでしょうか?

      • tag を作ってあげるだけで簡単に ZIP 形式でのダウンロードも行えるようになる。そのため、現状とほぼ変わらない形での配布が可能。また、過去バージョンの配布も現状の MediaFire を利用したものよりより少ない手間で行えるようになる。
      • Pull Request を利用した形で修正の提案などが行い易くなる

      現在のフォーラムと GitHub の issue の併用については議論の余地がありますが、そこは README などに運用ポリシーを記載して進めていく形でカバー出来るかと思います。

    • #40392
      Hidekichi
      ゲスト

      もっと気になる所いっぱい、わいひらさんに提言して下さい(滝汗)
      トップへ戻るのfadein fadeoutの件なんか、何かしらのトピックでそういう質問があって、1年ぐらい前に僕も言ってたんですけども、なかなかjavascript方面は実装されにくい傾向にあるみたいで(笑)

      GitHubもそれとなしに使ってみて、わいひらさんにチラリと見せてはいたんですけどもねぇ(笑)
      ただ、わいひらさんも体の件もありますし、普段何をしているかは知りませんが忙しいみたいなので、開発環境を変えるとなると結構手間はあるとは思うんですよね。
      Simplicityはわいひらさんの趣味みたいなもののようにも思いますし。

      個人的には、体の件とかまるで無視して無茶ぶりとかしてますけどね。実際、リクエストが出てから実装されるまでの速さは健常者とかわらないかそれ以上なので、どうやってるんだろう?と言う疑問も持ちながら、逆にもうちょいと大人しくしといてもらえると、バージョンアップ毎に自分のサイトに合わせて修正する手間も減って…おっと、誰か来たようだ。

      2.1.5 → 2.1.6まで約1週間ですよ(笑)
      それまでは2週間に1回ぐらいでしたし、Windowsアップデートか!!って話ですよね(笑)

      と、まぁ色々とあるので、はせがわさんに限らずたくさんの提言をすることでわいひらさんも「そうなのかも…」と徐々にマインドコントロールされていくかも知れません(笑)
      テーマが良くなることに越したことはありませんから、他の方も是非。

    • #40394
      はせがわ
      ゲスト

      トップへ戻るのfadein fadeoutの件なんか、何かしらのトピックでそういう質問があって、1年ぐらい前に僕も言ってたんですけども、なかなかjavascript方面は実装されにくい傾向にあるみたいで(笑)

      お、そうなんですね。それは把握していませんでしたφ(..)

      ただ、わいひらさんも体の件もありますし、普段何をしているかは知りませんが忙しいみたいなので、開発環境を変えるとなると結構手間はあるとは思うんですよね。

      普段は何されていらっしゃるんでしょうかねw git, GitHub の導入では開発環境は特に替えなくて大丈夫ですね。そこに新しく git (+ 場合によって SourceTree みたいなクライアントアプリ) が加わるくらい。git を使うことによって自然と開発フローが変わるのでそれに応じて自然と使う環境やツールも変化していくかもしれませんが。もしかしたら Subversion とか既に利用されているのかもしれませんがその場合も git に移行すると幸せかも。あの Microsoft も最近は git に完全移行の流れですし。

      一番のネックは git の学習コストでしょうか。次は git への移行作業が面倒なこと。
      (後者に関しては過去バージョンの zip ファイルから git リポジトリへ自動インポートを行うスクリプトを書くくらいのお手伝いならやりますよ。)

      バージョンアップ毎に自分のサイトに合わせて修正する手間も減って…

      そうそう。これは git 管理されていると非常にやりやすくなりますよね。追加機能・修正単位でコミットが分かれていれば、差分を把握するのが用意だし、より小さな単位でマージをしていけるので大きなコンフリクトが発生するリスクも低減させられます。

      実際、リクエストが出てから実装されるまでの速さは健常者とかわらないかそれ以上なので、どうやってるんだろう?

      2.1.5 → 2.1.6まで約1週間ですよ(笑) それまでは2週間に1回ぐらいでしたし、Windowsアップデートか!!って話ですよね(笑)

      今日 2 つパッチを投げたら直ぐに反映されていて、「あれっ!?」みたいな。今日 1 日でテーマのバージョンアップ作業を 3 回も行って手作業多いし差分確認面倒だしつらいなー、やっぱり最初から git 管理されていると私もわいひらさんももっと楽なのになーと。ということでこの提案を書いてみた次第です。

    • #40395
      アバター画像わいひら
      キーマスター

      gitリポジトリでの管理は、実は以前しようとはしていたんですよ。
      ただ、テーマフォルダ内に結構サイズがある.gitフォルダができて、公開時に毎回消すのが面倒くさいなということで、止めた記憶があります。
      そのまま置いておいたりすると、テーマチェッカーに怒られたか何かが原因だったかもしれません。
      しかし、ここら辺は、些細な問題ではあります。

      ただ、GitHubは、大昔にRailsのチュートリアルとか、BabyLinkのherokuへのデプロイとかで使った程度なので、よくわからないので以前は使う気が起きていませんでした。趣味のテーマ作成なら必要ないかなとも思っていましたし。

      ただ、最近は「そのうちGitHubに公開していろいろしてみたいな(何ができるのかは、そこはかとなくしかわからんけど)」とは思っていました。最近、体調不良だった時期はコードを触る気になれない日とかもあったので、そういった時少しでも楽になるのでしたら、非常に助かります。
      とりあえず今回良い機会なので、プッシュだけはしてみました。
      https://github.com/yhira/simplicity
      僕は、今のところ、自分のコミットした部分をプッシュすることぐらいしかできません。
      その他のGitHub機能は、よくわからないので、これからいろいろ検索して読んでみます。何か良い解説サイトがあれば教えていただければ幸いです。

      – 利用者側がバージョンごとの差分を確認するのが面倒
      – 利用者側がバージョンアップの際には、「最新のZIPファイルをダウンロード→上書き→アップロード」するという手作業が幾つか発生するので面倒かつミスが発生しやすい

      前者はよくわかるのですが、後者はやってみたことがありません。後者の方法はGitHubから、Wordpressテーマをアップデートできるということでしょうか?
      そしてそれは、GitHubを使っていない初心者のSimplicityユーザーでも(こういったことが詳しくない誰にでも)出来そうなことでしょうか?

      なかなかjavascript方面は実装されにくい傾向にあるみたいで(笑)

      JavaScriptは、適用してみた後に、不具合を見つけたんですけど、JavaScript関係が苦手なこともあり、他の方が書いたコードを自分で修正できそうになかったので、実装しませんでした。申しわけありません;
      無料配布の、気楽な趣味プログラムということで、それについては、ご勘弁ください^^;
      でも、そのときGitHubがあれば確かに、もっと手軽にいろいろと行えたかもしれません。

      ただ、今回GitHubを試験的に公開してはみましたが、スキル的な観点や、空いている時間的な面で、いろいろ提案があったとしても、出来ないことがあるかもしれないということはご了承ください。

      とりあえず、今のところ僕は、GitHubについてもう少し勉強する必要はあると思います。本当にほとんど使ったことがないので。
      また、調べてもわからないことがありましたら、よかったら教えていただけると幸いです。

    • #40407
      はせがわ
      ゲスト

      お早い対応有難うございます^^;

      ただ、最近は「そのうちGitHubに公開していろいろしてみたいな(何ができるのかは、そこはかとなくしかわからんけど)」とは思っていました。最近、体調不良だった時期はコードを触る気になれない日とかもあったので、そういった時少しでも楽になるのでしたら、非常に助かります。
      とりあえず今回良い機会なので、プッシュだけはしてみました。

      ただ、今回GitHubを試験的に公開してはみましたが、スキル的な観点や、空いている時間的な面で、いろいろ提案があったとしても、出来ないことがあるかもしれないということはご了承ください。

      とりあえず、今のところ僕は、GitHubについてもう少し勉強する必要はあると思います。本当にほとんど使ったことがないので。
      また、調べてもわからないことがありましたら、よかったら教えていただけると幸いです。

      とりあえず commit & push ができれば最低限使い始められます!あとは使っていくうちに便利さや、もっと良いところに気がついていって頂ければ。

      現状ですと最新バージョン v2.1.6b のコミットしか含まれていないようですので、過去バージョンのインポートスクリプトご用意しますね。(まだリポジトリの利用者も居ないので、push –force をして master の上書きしてしまおうかと思います。)

      お手元の環境は Windows, Mac, Linux どれをご利用されていますでしょうか? また、それぞれの OS バージョンもお教えください。(Windows 向けだとスクリプト用意するのが大変なので SSH で入れる Linux サーバー上で作業していただくかも知れません… 通常運用時は Windows でもそれほど支障はないかと思います)

    • #40408
      アバター画像わいひら
      キーマスター

      残念ながら、Windows環境で、8.1です。
      「Windowsでないと動作しないデバイス」がないとパソコンを操作出来ないもので。
      Linuxは、開発用の仮想マシンを作って、TeraTermからコマンド操作すれば、出来ないこともないのですが、正直そこまでしてやりたい感じではありません(そうするといろいろと不都合も出てくるので)。
      v2.1.6b以降からではダメなのでしょうか。

    • #40409
      はせがわ
      ゲスト

      なるほど。それではちょっと実装方針を変えて Windows で作業出来る方法検討してみます。暫しお待ちを。

    • #40410
      アバター画像わいひら
      キーマスター

      大変なのでしたら、そのままでも。
      GitHubの運用は、今のところ試験的ですので、もし今以上に負担が増えるようだと、やめる可能性もまだないわけではないので。(気楽にやっていきたいので)
      大変な作業をしていただいて、やめたとしたら申し訳ないので。

    • #40411
      はせがわ
      ゲスト

      > 大変なのでしたら、そのままでも。
      大丈夫、良いやり方がありますので特に大変ではないです。

      私のリポジトリの方にわいひらさまの名前でコミットしたことにして、公開されている過去バージョン全てインポートしてみました。

      あとは

      1. yhira/master ブランチの上書き
      2. yhira リポジトリの方にもタグを移す

      という作業をすれば完了です。

      具体的には下記のコマンドをコマンドプロンプトにを入力してもらえれば作業完了するはずです。

      cd simplicity
      git remote add h6ah4i git@github.com:h6ah4i/simplicity.git
      git fetch h6ah4i
      git fetch h6ah4i --tags
      git push origin h6ah4i/migrated_master:master --force
      git push origin --tags
      

      お手数をおかけしますがよろしくお願いいたしますm(__)m

      参考: インポートに使ったスクリプト

    • #40412
      はせがわ
      ゲスト

      おっと、私の方でインポート作業を行ったリポジトリの URL をお伝えするの忘れていました。

      https://github.com/h6ah4i/simplicity/tree/migrated_master

    • #40413
      はせがわ
      ゲスト

      返信が漏れていましたので追記:

      >> – 利用者側がバージョンアップの際には、「最新のZIPファイルをダウンロード→上書き→アップロード」するという手作業が幾つか発生するので面倒かつミスが発生しやすい
      > そしてそれは、GitHubを使っていない初心者のSimplicityユーザーでも(こういったことが詳しくない誰にでも)出来そうなことでしょうか?

      これは git を使っていないと無理かな、と思います。(具体的には、ローカル または ssh などでサーバーに直接入れる環境であれば、git pull を行うだけで最新に更新が出来るので、作業ミスを減らせます)

      そのため、初心者の Simplicity ユーザーさんには今までどおり zip ファイルでの配信を続ける必要があります。
      ただ、過去バージョン: MediaFire, 最新: 本サイトに ZIP ファイルを置くという作業は GitHub を利用することで簡易化ができます。

      GitHub には下記のような releases ページが自動的に用意されていますので、過去バージョンについてはこのページで、また、最新バージョンに関しても
      ZIP ファイルへのリンクを置く形に変えるだけで済むようになります。

      https://github.com/h6ah4i/simplicity/releases

    • #40455
      アバター画像わいひら
      キーマスター

      大丈夫、良いやり方がありますので特に大変ではないです。

      それでしたら、よかったです。
      これから数バージョンは、学習期間としてGitHubページは目立つところには公開しないで、GitとGitHubに徐々に慣らして行こうと思います。

      あと、やり方もありがとうございます!
      ちょっと、いますぐには、出来ないですが、明日、明後日までには、やってみようと思います。

      これは git を使っていないと無理かな、と思います。(具体的には、ローカル または ssh などでサーバーに直接入れる環境であれば、git pull を行うだけで最新に更新が出来るので、作業ミスを減らせます)

      なるほど。そういうことだったんですね。
      確かに、その方法だとGitを使っていれば楽そうですね。

      ただ、過去バージョン: MediaFire, 最新: 本サイトに ZIP ファイルを置くという作業は GitHub を利用することで簡易化ができます。

      すいません。質問させてください。本サイトにZIPファイルを置くのはわかるのですが、MediaFireは、git pullみたいなことができるのでしょうか?

      GitHub には下記のような releases ページが自動的に用意されていますので、

      というか、リリースページがあれば、MediaFireのリンクは、必要ないっぽいですね。これだとひと手間減って良いかも。

    • #40462
      アバター画像わいひら
      キーマスター

      git fetch h6ah4i
      このコマンドを行ったところで、以下のようなメッセージが出てしまいます。

      The authenticity of host 'github.com (192.30.xxx.xxx)' can't be established.
      RSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
      Are you sure you want to continue connecting (yes/no)? yes
      Warning: Permanently added 'github.com,192.30.xxx.xxx' (RSA) to the list of known hosts.
      Permission denied (publickey).
      fatal: Could not read from remote repository.

      何か、他に設定が必要なのでしょうか。

      以下を参考に自分の秘密鍵のファイルを登録してみたものの
      GitHubに入門(その1) – Qiita
      以下のようなメッセージが出ます。

      $ git fetch h6ah4i
      Permission denied (publickey).
      fatal: Could not read from remote repository.
      
      Please make sure you have the correct access rights
      and the repository exists.
    • #40524
      はせがわ
      ゲスト

      GitHub 側に公開鍵の登録が正しく行えていないように見受けられますね。

      > 以下を参考に自分の秘密鍵のファイルを登録してみたものの
      > GitHubに入門(その1) – Qiita
      > 以下のようなメッセージが出ます。

      「秘密鍵 (id_rsa)」ではなくちゃんと「公開鍵 (id_rsa.pub)」を登録しましたでしょうか^^; 見た感じ丁度参考にされているページの内容はちょっと違う内容について主に書いてあるようです。

      
      $ ssh-keygen
      > パスワード入力等求められるが、特に何も入力せずに Enter を押すだけで良い。
      $ cat ~/.ssh/id_rsa.pub
      > ここで表示される文字列を GitHub の SSH キー登録画面に貼り付けてください
      

      ちなみに、git 環境はどのように導入されたものでしょうか? msysGit のインストーラーでしょうか? それとも Cygwin でしょうか?

    • #40536
      アバター画像わいひら
      キーマスター

      GitHubには、公開鍵の方をちゃんと登録して、秘密鍵の方をGitから読み込めるように設定してあるつもりです

      環境は、以下のWindows版を使っています。
      Git – Downloads

      #40462の解決方法がわからなかったので、試しにTortoiseGitでも設定してみました。

      それで多分、以下のところまではうまくいったのではないかと思います。

      cd simplicity 
      git remote add h6ah4i git@github.com:h6ah4i/simplicity.git 
      git fetch h6ah4i 
      git fetch h6ah4i --tags

      ターミナルでgit tagと打つと以下のように出てくるので。

      $ git tag
      2.0.0
      2.0.0a
      2.0.1
      2.0.2
      2.0.3
      2.0.4
      2.0.5
      2.0.6
      2.0.6a
      2.0.6b
      2.0.7a
      2.0.8
      2.0.9
      2.0.9a
      2.1.0b
      2.1.0c
      2.1.0d
      2.1.0e
      2.1.0f
      2.1.0g
      2.1.0h
      2.1.0i
      2.1.0j
      2.1.0k
      2.1.0l
      2.1.0m
      2.1.0n
      2.1.0o
      2.1.0p
      2.1.1
      2.1.2
      2.1.3
      2.1.4
      2.1.4a
      2.1.4b
      2.1.5
      2.1.5a
      2.1.5b
      2.1.5c
      2.1.6
      2.1.6a
      2.1.6b

      あとは以下なんですが、

      git push origin h6ah4i/migrated_master:master --force
      git push origin --tags

      プッシュするのは、h6ah4iの方で良いのでしょうか。
      だとしたら、TortoiseGitでやるには、以下のような設定で良いのでしょうか。

      ターミナルの方でやると、なんかうまくいかなくて。やはり、設定の仕方が悪いのかもしれません。
      数年ぶりに使うので、設定方法も完全に忘れています;

    • #40537
      アバター画像わいひら
      キーマスター

      すいません;
      もう一度秘密鍵と公開鍵を作成して、ターミナルの方から再設定をしたら、うまくいったようです。やはり何処か、設定がおかしかったのかもしれません。
      これで多分うまくいったはずだと思います。
      余計な手を煩わせてしまって申しわけありません。

    • #40538
      アバター画像わいひら
      キーマスター

      こうなればOKですよね?
      https://github.com/yhira/simplicity/releases

    • #40539
      アバター画像わいひら
      キーマスター

      なんか、以下のようなエラーが出てプッシュができなくなってしまいました;

      $ git push origin master
      To git@github.com:yhira/simplicity.git
       ! [rejected]        master -> master (non-fast-forward)
      error: failed to push some refs to 'git@github.com:yhira/simplicity.git'
      hint: Updates were rejected because the tip of your current branch is behind
      hint: its remote counterpart. Integrate the remote changes (e.g.
      hint: 'git pull ...') before pushing again.
      hint: See the 'Note about fast-forwards' in 'git push --help' for details.

      以下を試したけど、なんかうまくいきませんでした。
      git pushがrejectされたときの解決の手順 – 今日もスミマセン。
      【git】git pushがrejectされたときの対応方法 at softelメモ

      試したもの。
      git pull
      git fetch && git merge origin/master
      やったあとも、同じエラーが出ます。

    • #40540
      アバター画像わいひら
      キーマスター

      git pullして、テスト的にコミットしてプッシュしたら、プッシュはできたけどおかしな表示になってしまいました;
      https://github.com/yhira/simplicity

      せめてメッセージにSimplicity2.1.6cとでも書いておけば良かった。

    • #40541
      アバター画像わいひら
      キーマスター

      とりあえず、今ならどれだけ失敗しても良いので、いろいろ試させてもらって、元に戻してみました。方法が、合っているのかどうかはわからないのですが何事も経験ということで。

      戻した方法メモ。
      【git】git pushを取り消す – tweeeetyのぶろぐ的めも

      ちょっと今後暫く慣れるまで、GitHubがおかしな動きをするかもしれませんがご容赦ください。
      質問とメモがてらの連投申し訳ない;質問はスルーしてください。
      暫くさわらないでおきます。

    • #40549
      はせがわ
      ゲスト

      すみません、確認するの遅くなりました。
      取り敢えず現状のリポジトリの内容見ましたが、今はもう期待した状態になっているようです。

      簡単に今の状態に戻せるよう、私の方のリポジトリは現状のままなるべく触らないで置くので、ガンガン弄って慣れてみるのが良いかと思います。

      クライアントは TortoiseGit を利用されているんですね。個人的には Windows 環境で CLI なら cmder + msysgit を、GUI なら SourceTree が使い勝手が良くおすすめです。

      あと、帰宅後に私が指示したコマンドの内容を解説しておきますね。

    • #40553
      はせがわ
      ゲスト

      コマンドの解説が後になってしまってすみません^^; 既に期待したところまで作業が終わっているようですが、git の理解の助けになればと思いますので書き留めておきます。

      さて、指示をした6行のコマンドでやりたかったことは、下記の2点です。

      • h6ah4i/migrated_master の内容を yhira/master ブランチにコピー
      • h6ah4i にある全タグをy hira リポジトリーにコピー

      STEP 1

      
      cd simplicity
      

      特に補足とか書いていなかったので最初からわかりづらかったかもしれません(汗) わいひらさんの現在のローカルリポジトリに移動することを期待していました。(= origin: yhira/simplicity)

      STEP 2

      
      git remote add h6ah4i git@github.com:h6ah4i/simplicity.git
      

      私のリポジトリ h6ah4i/simplicity をリモートリポジトリに ‘h6ah4i’ という名前で登録します。
      つまり、この時点で

      • origin: yhira/simplicity
      • h6ah4i: h6ah4i/simplicity

      という2つのリモートリポジトリが登録済みの状態となります。

      STEP 3

      
      git fetch h6ah4i
      

      h6ah4i/simplicity の全ブランチの内容をフェッチ(= リモートリポジトリの内容をローカルにダウンロード)します。

      STEP 4

      
      git fetch h6ah4i --tags
      

      h6ah4i/simplicity の全タグをフェッチします。

      STEP 5

      
      git push origin h6ah4i/migrated_master:master --force
      

      h6ah4i/migrated_master ブランチの内容を origin/master (= yhira/simplicity/master) にプッシュ(= ローカルリポジトリの内容をリモートリポジトリにアップロード) します。この時、–force オプションが付いていますが、これは origin/master の内容が non fast forward の関係になっていたため、それを強制的に上書きするためです。

      ※ fast forward: 分岐が発生せず、元のコミットから単純に幾つか新しいコミットが追加されているだけの状態。より適切な解説などは他のサイトなどを参照くださいませ…

      STEP 6

      
      git push origin --tags
      

      全部タグを origin (= yhira/simplicity) にプッシュします。

    • #40554
      アバター画像わいひら
      キーマスター

      Windows 環境で CLI なら cmder + msysgit を、GUI なら SourceTree が使い勝手が良くおすすめです。

      僕は今、CLIは、ConEmu+nyaos+Gitを使用しているのですが、msysgitは、どういった点が使いやすいのでしょうか。
      Cmderは、調べたら、ConEmuの改良版なんですね。こういうのも出ていたのか。
      SourceTreeも使ってみますね。TortoiseGitと競合してインストールできるのかな。とりあえず、いろいろ試してみます。

      とりあえず今回、いろいろ失敗しまくったおかげで、これまであまり使ってこなかったリモート関係も、いろいろ調べて勉強になりました。多分、またガンガンいじって失敗はすると思います^^;

    • #40556
      アバター画像わいひら
      キーマスター

      投稿がかぶってしまった;
      解説は明日じっくり読ませてもらおうと思います。
      ありがとうございます!

    • #40573
      はせがわ
      ゲスト

      おっと。msysgit と書いてしまいましたが正確には MSYS2 + git (pacman で導入可能) の方ですね。MSYS を入れたほうが git 以外の諸々の UNIX コマンドが揃うので便利だったりすることが多いという点が利点です。(私は何か特別な用が無い限りは Windows を触らないので…)

      ただ、今調べなおしてみたら最近では Git for Windows の方も順調に開発が進んでいるようですのでこちらでも大丈夫かもしれません。いずれにせよ特に不具合無く使えていて手に馴染むものであれば何でも良いとは思います。

    • #40586
      アバター画像わいひら
      キーマスター

      >MSYS2 + git
      そうだったんですね。
      Cmderは、インストールした時点で、いきなり履歴、履歴検索、タブ、が使えるんですね。
      こういうのがなかったので、ConEmu+nyaosで環境を作っていましたが、デフォルトでいきなり使えるのはいいですね。

      解説もありがとうございます。STEP 5が、いまいちわかっていなかったので、勉強になりました。

25件の返信スレッドを表示中
  • フォーラム「要望・機能追加など」には新規投稿および返信を追加できません。
スポンサーリンク
アドセンス(大)
アドセンス(大)