Help us understand the problem. What is going on with this article?

Qiitaへの投稿をKobitoではなくGitHubで管理する

More than 5 years have passed since last update.

キッカケ

先日悲しい事件が起きたのをきっかけにGitHub上で管理するようにしました。

以下、再現状況です。


hoge.jsライブラリのfugaについて

var fuga = function(a) {

  if( a == null )  return;

  return a * 2;
};


aを2倍にして返してくれる関数です


この状態でkobitoから投稿したところ、以下の様な編集リクエストが届きました。


``` javascript

var fuga = function(a) {

if( a == null ) return;

return a * 2;
};

```


(※わかりにくいためコードブロックは全角にしました)

こちらのほうがわかりやすいと思ったため、WEBブラウザ上から即座に受け入れました。

また、平行して、投稿したけれど修正したい部分があったためkobito上で修正を続けていました。


hoge.jsライブラリのfugaについて

var fuga = function(a) {

  if( a == null )  return;

  return a * 2;
};


引数aに対して、nullかどうかのチェックを行い、nullではなかった場合はaを2倍にして返してくれる関数です。


この状態まで編集した後、WEBブラウザ上で編集リクエストを受け入れていたことを思い出したため、なんとかローカル上のkobitoに反映させなければと思いました。
gitでいうところのgit pullがしたかったのです。

ただし、Kobito上で「アイテム」→「Qiitaから取得」を押しても変更はないと言われてしまいます。
しょうがないので、「アイテム」→「Qiitaに投稿」を押しました。最悪コンフリクトしたらそこで調節すればいいと思ったためです。

Qiitaへ投稿を押すと、思った通りうまくアップロードできず、「WEBを優先する」「Kobitoを優先する」のアラートが出てきました。

ここで、
・ ```javascriptな部分はそのまま保持して欲しい
・ 追加した文章のところはKobitoで編集した方を優先して欲しい
と思い、今回のWEBとKobito上の編集箇所はうまく別の場所を修正されていたため、ここは「WEBを優先」すれば

``` ←現在のKobito上
```javascript ←現在のWEB上

ここの部分のみうまく修正してくれて下部のnull~~の文章についてはうまくマージされるだろうと思っていました。

現実

この状態になりました


hoge.jsライブラリのfugaについて

```javascript

var fuga = function(a) {

if( a == null ) return;

return a * 2;
};

```

aを2倍にして返してくれる関数です


・・・/(^o^)\

ほんとはもっと長く(2−30行以上)編集していたため、悲しみに包まれました。

GitHubで管理する

そんなことがあり、GitHub上にQiitaリポジトリを作成し、そこにhoge.mdファイルとして管理することにしました

  • まずはGitHub上もしくは適当なMarkdownが使えるエディタを用いて書く
  • GitHubにPushする

編集リクエストが来た場合は
・まずは見てよさそうならQiitaで受け付ける
・GitHubでブランチを切ってそこに編集リクエスト後のQiita記事をコピペする
・PullRequestベースで受け付ける
・差分を見て大丈夫そうならマージする(ここまで自演)

とし(ようとし)ています。

これで差分とかがあっても安心安全!!!!!

Kobitoへの要望

アップロード時にKobito上とコンフリクトが起きた場合は、アラートを出すだけでなくKobito上でコンフリクトが解消できるようなツールになるとうれしい。

おわりに

GitHubを併用して快適なQiita投稿ライフを!

ikasumi_wt
プロダクト開発が好きななんでもやる系エンジニア。フロントエンドが好き。今はスクラムマスター専任。 名古屋 -> 東京 JavaScript loves. よく触っています。 Vue.js/Nuxt.js/Node.js/Express etc. + Python / Django(DRF) 過去:PHP/Laravel/Electron/Vue.js/React.js。
http://ikasumiwt.hatenadiary.jp/
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