2012-03-01 9 views
0

私の目標は、異なる名前のファイルを異なるブランチに配置することです。たとえば、冗長モードのブランチと黙って動作する別のブランチで開発したいと考えています。または、1つのブランチはリストを使用しますが、もう1つはハッシュを使用します。 prior questionと同様です。一般的なファイルをマージせずにGitチェックアウトできますか?

私の場合、変更は同じ名前のファイルにあります。残念ながら、あるブランチから他のブランチへのチェックアウトは、同じ名前のファイル(コンテンツ?)をマージします。その場合、リリースバージョンは私が別々に保つことを望んでいた冗長な印刷ステートメントを継承します。

私はstash saveの使用を学んで成功しました。チェックアウト; (他のブランチを編集、追加、コミット);チェックアウト後; stash apply(チェックアウトによるマージ変更を消去する)。それは動作しますが、マニュアルの例(中断されたワークフロー、部分コミット)は、これが意図されたワークフローではないことを示唆しています。冗長な枝を作成して冗長にすると、履歴が破棄されます。同じ名前のファイルに意図しない変更を加えずにブランチ間を切り替える別の方法はありますか?

更新ここに送信する前に5回も見たにもかかわらず、この動作をもう複製できません。それは以下のテキストを表示するために使用されました。しかし、私はこの質問を閉じなければならないと思う。

$ git checkout master 
M Test.java 
Switched to branch 'master' 

答えて

0

私は、次のコマンドでは、あなたが探しているものだと思う:

git update-index --assume-unchanged <file> 

実行を取り消すには:

git update-index --no-assume-unchanged <file> 
関連する問題