質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

1回答

877閲覧

どのコミットで修正するべき?

tempra_o

総合スコア3

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

0グッド

0クリップ

投稿2021/05/14 15:30

過去のコミットに戻って作業ができるを知り、ふと疑問が湧きました
Aの関数にバグが見つかったとします。
Aを関数を作成したコミットに戻って修正するのか、新しいコミットで修正するほうがいいのか。
どちらでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tempra_o

2021/05/14 15:48

Aの関数作成時だと、そのコミットでAの関数については作成、修正が完結して見やすいと思いました。ただ、修正した履歴としてはどうなのかな?時系列の方がいいのではないのかなと?gitの考え方がいまいちわかっていません。
guest

回答1

0

ベストアンサー

新しいコミットをするべきです。

過去のコミットに戻った場合、そのコミットから先の修正がなかったことになります。つまり、それ以降のコミットを再び実施することになります。
また、それが最新の修正であっても、他の使用者がそのコミットを取り込んでいた場合、その人のリポジトリが壊れてしまい、最初から作り直しになってしまいます。

つまり、過去のコミットに戻ることはデメリットが大きいということです。

リポジトリ以外にも問題があります。
何か問題があった際、いつどのようにしてその不具合が紛れ込んだのかがわからなくなるということです。
開発を続けていくと、最初は正常に動いていたものが途中で動かなくなる、なんてことは往々にしてあります。
その場合、過去のコミットを見直すことで原因となる箇所、それが入った時期などを見つけることが可能なのですが、戻ってコミットなどをしていると、結局それがいつ紛れ込んだのか、正常なタイミングが把握できなくなります。

こんな状況になってしまってはバージョン管理ツールを使う意味がなくなってしまいます。

ですので、基本的には過去に戻ってコミットをし直すことはしてはいけないことだと思っています。

投稿2021/05/14 16:08

rinjinto

総合スコア170

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問