2017-02-01 4 views
0

Я использую расширения Git. Я добавил совершенно новый файл (.csproj). Когда я его создаю, я вижу, что он рассматривается как перемещенный (.csproj) файл.Как заставить git обрабатывать новый файл как новый файл, а не как перемещенный файл?

Очевидно, что я не хочу этого.

Как сделать force git обрабатывать его как новый файл?

+2

Git обнаруживает файл как перемещенный, потому что вы, вероятно, удалили файл, содержимое которого достаточно похоже на содержимое нового файла. Поместите удаление и добавление в отдельные коммиты, и нет перемещенного файла. – axiac

+1

@axiac прав, но даже более короткий ответ - «вы этого не делаете»: Git не говорит, что файл * был переименован, он говорит, что если вы хотите повторить то же самое, переименуйте его (а затем, возможно, немного измените), чем удалить другой файл и создать его в качестве нового файла. Различия Git - это не «то, что произошло», они инструкции для быстрого способа сделать это * снова *. – torek

+0

@torek Я согласен. Однако, если Git обнаруживает пару удаленных + добавленных файлов в качестве переименования/перемещения, когда он готовит коммит, он также будет сообщать об операциях как о перемещении в diff после того, как изменения будут совершены. По-видимому, OP не хочет, чтобы их сообщали как переименование/перемещение. – axiac

ответ

0

Как указано, это ошибка в расширениях Git. Когда я открываю командную строку и проверяю вывод git status, файл отображается как новый.

0

Вы не можете заставить git протащить файл как новый, как он делает это автоматически. Git не имеет явных функций перемещения или копирования, так как это содержимое версий, а не файлы и каталоги.

Переименование и копирование обнаруживаются ad-hoc, когда вы делаете такие вещи, как git log или git diff, и в этих командах вы можете сказать Git, чтобы он не обнаружил, или обнаружил только файл, если он похож на X процентов.

Если вы хотите предотвратить обнаружение переименования для этого файла в этом коммите, я опасаюсь, что вам нужно разделить фиксацию на две коммиты: одну, которая удаляет старый файл, и тот, который добавляет новый файл.

+0

Я не могу, потому что ничего не удалял. Я добавил новый блестящий файл. Гит настаивает, что это шаг. Это не. – Diana

+0

Что говорит 'git status'? – Vampire

+0

А, вот идем. В нем говорится о новом файле. Кажется, это ошибка в Git Extensions, тогда ...? – Diana

Смежные вопросы