ServiceNow(paris)のNEEDITアプリケーションをgithubのパブリックからプライベートリポジトリに変更する手順

最近ServiceNow を勉強しはじめた初心者ですが、自分の備忘録( ..)φメモメモとして記載します。

尚この手順は、既にServiceNowのDeveloperサイトにLearnningコースにある「Needit」アプリケーションをgithub上でForkし自分のインスタンスにインポートした方が対象です。

このまま勉強を進める上でパブリックリポジトリのままだと、コンプライアンス上、具合が悪そうなのでプライベートリポジトリに変更する事にしました。丁度[こちらの記事](https://qiita.com/HyunwookPark/items/1d24972dd71612eb81c9)が参考になりそうです（いつの間にか無料アカウントでprivateのリポジトリが作成可能になっていたんですね）。、、、と、(; ･`д･´)あれれ？

![スクリーンショット 2021-03-10 21.21.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/52f8ba8e-3dd9-a817-3f5d-ab092f21b5c2.png)

「Change visibility」が無効になって押せません。どうやらgithubのfork機能を使うと、公開リポジトリをprivateに変更できない仕様の様です。そこで[上記矢印にあるリンク先](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/duplicating-a-repository)を見ながら対応してみました。

なお方針は以下の通りです。
###操作概要
1. (git hub側で）パブリックリポジトリをローカルにクローンします。
2. (git hub側で）プライベートリポジトリを新規作成します。
3. (git hub側で）ローカルのリポジトリをプライベートリポジトリにプッシュ（ミラー）します。
4. (git hub側で）パブリックリポジトリを削除します。
5. (ServiceNow側で）パブリックリポジトリから取得したNEEDITアプリケーションを削除します。
6. (ServiceNow側で）プライベートリポジトリから再度、NEEDITアプリケーションを取得します。

以下、その詳細手順です。

## github側の操作
1．Git Bashを起動します。

2．以下のbareモードでリポジトリをローカルへクローンします。
#
    $ git clone --bare https://github.com/exampleuser/old-repository.git

3．github上で新しくミラー先のリポジトリをprivateで作成します。
![スクリーンショット 2021-03-10 21.30.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/f5c67905-1c11-58cb-a396-bdabad35ff82.png)

4．以下のコマンドで上記ミラー先にリポジトリをプッシュします。
#
    $ cd old-repository.git
    $ git push --mirror https://github.com/exampleuser/new-repository.git

5．ローカルのテンポラリリポジトリは不要なので削除しておきます。
#
    $ cd ..
    $ rm -rf old-repository.git

6．***パブリック側***のリポジトリを削除します。まずはSettingを選択し、、、
![スクリーンショット 2021-03-10 21.18.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/5425e26c-8b38-bcea-14c8-0df49285b6a7.png)

7．下の方までスクロールし「Delete this repository」ボタンを押して削除します。
（その後の確認ダイアログでリポジトリパスの入力も求められます）
![スクリーンショット 2021-03-10 21.32.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/b65734e9-abf3-8230-2e8b-f997020f4dda.png)

## Service Now側の操作
１．studioを開きます。
![スクリーンショット 2021-03-10 22.35.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/d9a89f8f-dabc-fd3b-45f8-506f73106deb.png)

２．現状（フォークしたパブリック側）のNeedItアプリケーションを選択します。
![スクリーンショット 2021-03-10 22.37.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/c1cf44c5-ccf1-738c-dc56-23b2a9bc8974.png)

３．「File」>「Setting」を選択し「Delete」ボタンを押します。
![スクリーンショット 2021-03-10 22.40.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/5e70aa8e-8032-7e69-55a3-0d4ce58b2da1.png)

４．確認ダイアログで「Delete」ボタンを押し、再確認ダイアログでも「delete」を入力しNEEDITアプリケーションを削除します。
![スクリーンショット 2021-03-10 22.41.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/fa0ebad7-12cb-be24-7b8e-1d3e242e1784.png)

５．再度、studioを開き直します。
![スクリーンショット 2021-03-10 22.35.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/d9a89f8f-dabc-fd3b-45f8-506f73106deb.png)

６．「Import From Source Control」ボタンを押します。
![スクリーンショット 2021-03-10 22.44.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/02935690-7eee-abfb-bed1-a80bd939de64.png)

７．上記でミラーリングしたURLを入力し、ブランチは「main」、Credentialは「ご自身のgithubアカウント」を選択します。
![スクリーンショット 2021-03-10 22.51.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/367975cb-9118-4ad3-13e0-d5074982eab1.png)

以上でforkしたNEEDITアプリケーションをパブリックからプライベートリポジトリに変更できました。
念のため「Switch Branch」し、ちゃんと今まで自分がコミットしたブランチが表示されるかチェックしてみてください。（私は幾つかのコースを修了したので沢山ブランチが存在しています。）
![スクリーンショット 2021-03-10 22.55.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164737/d1647320-faf7-1cd6-1cc4-8971d975f34e.png)

以上、自分用の備忘録( ..)φメモメモでした。