2017-07-14 3 views
0

Visual Studioでブランチを切り替えると、ファイルの日付時刻を保持する方法はありますか?Visual Studioでブランチを切り替えると、ファイルの日付時刻を保持する方法はありますか?

私はいくつかのファイル、devブランチ、新しい機能ブランチを持つGitリポジトリを持っており、私は1つのファイルを修正しました。

私はdevとfeatureブランチの間を行き来すると、修正されたファイルの日付/時刻は前方に向かっていきますが、devのバージョンは変更されていません!

どうすればいいですか? ... 古い学校SCMに、私は、元のチェックインの日付/時刻

に戻すのdevのバージョンを期待してい...私は停止しようとしている本当の痛みは私がしたいです外付けドライブへのdevのバックアップの心の平和を持って、私は実際に変更されていないファイルの変更を参照してください...

+0

vsts、GitHub、bitbucketなどのクラウドベースのgitホストでレポをバックアップするだけではない –

答えて

0

まず、それをしないでください。 makeなどのタイムスタンプに依存するツールでは、タイムスタンプを後ろに変更することが問題になります。

第2に、ブランチの切り替えが問題になる場合は、別のクローンを使用してください。 1つのブランチに1つのクローンがあり、それらを「作業ツリー」と呼びます。 Gitは遅くともgit worktreeコマンドが成長しましたが、古いgitを使っていても手動でリポジトリをクローンすることができます(あなたの場合は2)、適切なブランチ(masterとdev)をチェックアウトしてブランチを再び変更しないでください。もちろん、それらを手動で更新する必要があります。マスターリポジトリからdevに、またはその逆にフェッチしてください。

第3に、Perl scriptがあります。ファイルのタイムスタンプを、最後にそれらに触れたコミットのコミットタイムスタンプに設定します。このスクリプトは私のためには機能しませんでした(おそらく完全に時代遅れです)ので、私はrewrote it in Pythonを使用し、タイムスタンプを後ろに変更しても大丈夫だと思うときはそれを使用します。私はそれを勧めますが、ポストチェックアウトフックでも使用できます。

+0

Yeapは、最初の提案に従いたいと思っていましたが、苦労しましたが、worktreesはビジュアルスタジオ2017? – SteveC

+0

いいえ、私はunixheadです。さて、特別なコマンドのない作業木は、gitがある場所であればどこでも動作します。 – phd

関連する問題