5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

プログラミングを復習する際、1度開発したリポジトリを使いまわしたら捗った話

Last updated at Posted at 2020-03-10

理解したコードを再利用したい

私は現在、Ruby on Railsの学習をしています。

学習する順序として
1.CRUD機能を実装
2.ログイン機能を実装
3.1対多のアソシエーションの実装
4.多対多のアソシエーションの実装
5.ActionMailerの実装
6.画像アップロードの実装
7.Ajaxを使用したコメント機能の実装
8.フォローフォロワー機能の実装

上記の実装を復習も兼ねて0から実装して理解を定着させております。
しかし、機能が増えていくと

・0から作り出すと圧倒的に時間がかかる。
・復習したいところだけもう一度手を動かしたいなって思った時に気軽に手を動かせない。

ということがあるためどうにか復習用の新規リポジトリに理解したコードのみ存在する状態で
開発ができないかなと考えました。
※scaffoldでいいじゃんっていうのもありますがせっかくなら自分の書いたコードを使いたいので。。。

1度開発したリポジトリをCloneする

git clone [元のリポジトリURL]
cd [cloneしたリポジトリ]

新規リポジトリを作成し、remote-urlを変更する

Githubにてリポジトリを新規作成する。
その後、cloneした元のリポジトリのremote-urlを新規のリポジトリのurlに変更する。

git remote set-url origin [新規作成時のリポジトリURL]

gitのログを確認し、不必要なcommitメッセージを削除する。

# コミットidを確認する。
git log --oneline

## 戻りたいコミットメッセージのコミットidを指定する。
git reset --hard コミットid

これで復習したい機能だけ削除して手を動かすことができました。
もっといい方法、不都合なことがありましたら修正していきたいと思います。

元のローカルリポジトリを削除し、新しく作成したリポジトリをCloneする

# 一つ上の階層に戻る
cd..
# ディレクトリを削除
rm -fr 元のリポジトリ

# 新しく作成したリポジトリURLを使用してclone
git clone [新しく作成したリポジトリURL]

参考

gitのremote urlを変更する(レポジトリ移行時)
[git] 戻したい時よく使っているコマンドまとめ

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?