質問するログイン新規登録
Git

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

Q&A

解決済

2回答

4774閲覧

git mvできない。fatal: not under version control

kilometer

総合スコア0

Git

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

0グッド

0クリップ

投稿2020/05/01 06:13

0

0

前提・実現したいこと

git初心者です。
git mvでファイルを移動させたいのですが、以下のエラーが発生し、移動させられません。

$ git mv lib/fromA/data.py .
fatal: not under version control, source=lib/fromA/data.py, destination=data.py

このファイルは元々Aさんからもらったコードで、自分用に改良しておりましたが、諸事情により移動させたくなりました。改良時の変更点はこれまでgitで記録できていたのですが、いざファイルを移動させるとなったときにこの問題が起こりまして、困っております。色々調べてみると、fromAというパッケージをもらった際に、git mvを使わずにファインダーを使ってlib以下に直接コピーしたことがよくなかったのかもしれないと思っています。ただよくわからないのがこのファイルの内容の変更は記録できているのに移動だけができない点です。

質問ですが、このdata.pyというファイルはこれまでの変更を保持しつつ移動させることは可能なのでしょうか?
また、
mv lib/fromA/data.py .
として移動させた場合はこれまでの変更の記録は消えてしまいますか?

お分かりになる方がいらっしゃいましたらアドバイスをよろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

自己解決

git rm -r --cached .
を実行したあとは、上記のエラーがなくなり、git mvで移動できるようになりました。
理由はわかりません。

投稿2020/05/01 18:11

kilometer

総合スコア0

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

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

0

このdata.pyというファイルはこれまでの変更を保持しつつ移動させることは可能なのでしょうか?

そもそも論として、Gitは変更記録をファイル名に基づいて行っているわけではありません。差分表示する機能はありますが、それは「全体を見て、それらしい差分をその場で判断しているだけ」です。

mv lib/fromA/data.py .
として移動させた場合はこれまでの変更の記録は消えてしまいますか?

そもそも記録していない以上、消える余地もありません。

投稿2020/05/01 06:38

maisumakun

総合スコア146706

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

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

kilometer

2020/05/01 08:39

ご回答ありがとうございます。 gitのことあまり理解しておらず、申し訳ないです。 先ほどまで自分のしたことを再現しようと試行錯誤していたのですが、結論から申し上げますと、 git rm -r --cached . とすると上記のエラーがなくなり、git mvで移動できるようになりました。 これはどういうからくりなのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問