2017-03-09 6 views
2

gitに移動/コピーではなく新しいファイルと見なすように強制する方法はありますか?Git - ファイルを移動/コピーする代わりに新しくマークする

+0

そのファイルに関連するすべての履歴を失いたいですか?移動と同じコミットで内容を十分に変更すると、おそらくそれを移動として追跡することはできません。 – crashmstr

+0

@crashmstr基本的に私はファイルを移動して名前を変更し、内容を大きく変更したいと思っています。新しいファイルとして追跡されますが、移動として追跡されています...どのような意味がありますか?この場合、私はファイルを新しいものとして強制します。これは可能ですか?はいの場合、どうですか? – notGeek

+1

'git config diff.renames false' – PetSerAl

答えて

1

私はそのファイルを移動するためにgit mvを使用したと仮定しています。そのため、Gitは移動したと報告しています。

git mv file.txt newfolder 

しかし、Gitはそれを見ることができないのか分からないので、あなたはファイルシステムからファイルを移動した場合にGitが新しいものとして新しい場所にファイルが表示されます:

mv file.txt newfolder 
このような何か

git addこのファイルをインデックスに追加することができます。この後、必要に応じてGitリポジトリから元のファイルを削除できます。

git add newfolder/file.txt 
git rm file.txt 

が、これはGitが、このアプローチを使用してこのファイルの履歴を追跡することはできないことを意味することに留意してください。 git mvを使用すると、移動したファイルの履歴を追跡するのが難しくなりますが、少なくとも可能にするには少なくとも可能です。

+0

実際には動作しません、gitは内容を追跡し、 'git move'または2回連続して 'git add' git rm 'を使ってファイルを移動しても気にしません。 gitはファイルの内容を探し、ファイルが移動されたことを確かめます( 'git add'と 'git rm'が別々のコミットで行われていない限り)。 –

0

ファイルが移動されたときに気になります(ファイルを削除して同じコミットで新しい場所に追加すると、ファイルが移動されたことがわかります)。

実際にファイルを "移動"の代わりに "新規"と見なす場合は、ファイルを削除して別のコミットで新しい場所に追加することをお勧めします。

関連する問題