2

x.APKクライアント マシンによってプルされるというファイルを含むレポがあります。
これらのクライアント マシンは、このファイルを変更し、使用するためにローカルに保持します。

通常の使用では、このファイルを 2 ~ 3 か月に 1 回更新することはめったにありません。
初めてファイルをプルしてx.APK変更し、ローカルに保存します。次に、他のファイルを更新してプッシュします。クライアントをプルすると、ローカルの変更が取得されますが、変更されてx.APKいないため、競合はありません。現在、そのファイルに加えられたローカルの変更を無視し
て更新する方法はあります.x.APKgit pull

git pullスクリプトによって実行され、常にクライアントにアクセスできるわけではありません。そのため、他のコマンドを実行するのは難しいでしょう。

私たちは試しました:

git update-index --assume-unchanged

これは変更を無視しますが、プルすることはできません

これを使用gitignoreすると、不要なクライアントとレポからファイルが削除されます。

誰かがそれを助けることができればそれは素晴らしいことです。

4

1 に答える 1

0

これは、x.txt で行われたローカル変更の性質によって異なります。

これらの変更が明確に定義されている場合 (および のすべての場所ではない場合)、チェックアウト時に権利を生成するためにコンテンツ フィルター ドライバーx.txtを検討できます。x.txt

  • x.txtこれは、もうバージョン管理を行うのではなく、テンプレート バージョン " "を意味しますx.template
    git mv x.txt x.txt.tpl.
    に追加x.txtします.gitignore

  • 次に、宣言x.txt内のファイルに関連付けられたスマッジ スクリプトを追加します。.gitattributes

    x.txt filter=updatex
    

にじみ
(「 Git のカスタマイズ - Git 属性」の画像、「Pro Git book」の画像)

git config filter.updatex.smudge 'update_x'

style_smudgeスクリプトはバージョン管理することができ実際のx.txt.

そうすれば、作業ツリーの更新をトリガーするは、新しい更新とローカルの変更でgit pull自動的に再生成されます。x.txt

于 2016-01-29T09:40:07.813 に答える