13

git-svn でリモート SVN リポジトリのクローンを作成しました。コードがコンパイルされるように、この複製されたレポの pom.xml ファイルを変更しました。この設定は私だけのものです。したがって、変更をリモートリポジトリにプッシュバックしたくありません。

ファイルのこの (部分的な) 変更がリポジトリにコミットされないようにする方法はありますか? 私は個人的なブランチを使用できるという事実を認識していますが、これは特定のマージ オーバーヘッドを意味します。他の方法はありますか?

this questionと this oneを調べましたが、それらはかなり一時的な変更のためのものです。

更新: .gitignore の可能性も認識していますが、これはファイルを完全に除外することを意味します。

4

6 に答える 6

5

編集:あなたが求めていることは不可能です。「部分的な」部分が表示されませんでした。ファイルの一部しかコミットできないことはわかっていますが、ファイルの一部を無視することはできません。「ステータス」にならないように update-index トリックを使用する必要があり、リモートからリベース/マージするたびにそのファイルを隠してから、変更を隠しておらず、更新で変更を無視する必要があります-索引。一連の git コマンドの git エイリアスを作成できるかどうかはわかりませんが、1 つのコマンドで 3 つのコマンドすべてを実行して手間を省くことができます。

.gitignore ファイルを使用し、リモート リポジトリにもプッシュしないでください: .gitignore ファイル自体を無視します。

あなたの .gitignore には、

 .gitignore
 path/to/pom.xml

.gitignore ファイルは、作業ツリーのルート、または必要な/必要なサブディレクトリに置くことができます

于 2012-06-20T08:52:49.593 に答える
2

フィルターの可能性もあります。しかし、これはもっと調査する必要があります。

出発点: このフィルターの汚れ / クリーニングを実装します。

git config --global filter.versionUpdate.smudge 'sed "s/<version>14.5.0<\/version>/<version>14.5.FEATURE-15<\/version>/"'
git config --global filter.versionUpdate.clean 'sed "s/<version>FEATURE-15<\/version>/<version>14.5.0<\/version>/"'

このように、フィルタが適用されるため、ファイルは比較時に常に同じです。

問題: フィルタリングされたファイルを元に戻す方法については、まだ調査が必要です。これは、作業ディレクトリではそれほど明白ではありません。

スマッジ クリーン フィルター

于 2018-01-24T09:23:10.717 に答える