7

gitでファイルを数回削除しましたが、他のブランチがマージされると、ファイルは再び表示され続けます。私はこのようなものを推測します:

                      o--  a topic  --o
                     /                 \
o-- [create file] --o-- [delete file] --o-- [file exists again]

「内部リリース」を使用してgitを操作するため、何が起こっているのかを理解するのは特に困難です。つまり、リリースマネージャーがプルしてマスターにマージし、マスターをプルするリリースブランチを作成します。

私(または他の誰か)がファイルを削除した場所と、ファイルを再導入したマージを確認するにはどうすればよいですか?ありがとう!

4

2 に答える 2

2

ブランチ内のファイルを削除してから、そのファイルを含む別のブランチにマージすると、ファイルは削除されたままになります。これで、ブランチ内のファイルを削除してこのブランチを他のブランチとマージした場合でも、ファイルは削除されます。

git merge:保持したいファイルを削除します!

ただし、一部のコンテンツがこのファイルに追加された場合、マージ中に競合が発生し、このファイルを明示的に追加して、削除したブランチに戻るようにコミットする必要があります。


あり--followますgit log

- 従う

Continue listing the history of a file beyond renames (works only for a single file).

しかし、それがあなたがここで探しているものであるかどうかはわかりません。マニュアルHistory Simplificationで調べることもできます-http: //git-scm.com/docs/git-loggit log

于 2011-05-16T14:52:13.620 に答える
0

何が起こっているのかというと、ブランチをマージしてtopic戻すと、ブランチに存在しないblob /オブジェクトが含まれているmainため、マージにより、ブランチにあった状態を含むファイルが作成されますtopic。この動作を停止するには、別の方法でマージする(にマージmainするtopic)か、にリベースtopicmainます。ファイルを変更すると問題が発生しtopic、変更を適用しようmainとしてファイルが再作成されます。

于 2011-05-16T18:51:39.873 に答える