git commit без имени файла и без -a - PullRequest
2 голосов
/ 30 мая 2011

Сегодня я набрал git commit без имени файла, о котором я думал, и произошли странные вещи.

обычно это просто говорит мне "использовать имя файла или -a, пустышка", но на этот раз оно показало:

$ git commit -m "some change"
[master 1d75411] some change
 37 files changed, 1566 insertions(+), 1189 deletions(-)
 create mode 100644 fileA
 create mode 100644 fileb
 [...]
 delete mode 100644 fileC
 delete mode 100644 fileD
 [...]

и эти изменения уже появляются на сервере ! как если бы я сделал push или merge !!!

Всё точно так же, как и раньше, несмотря на файл, который я пытался зафиксировать.

Файл не был удален, файл не был изменен. Unix-разрешения такие же, как и раньше!

Что случилось?!


Edit: теперь, после каждых двух коммитов, это происходит:

$ git status
 * nothing changed *
$ git diff
 * nothing *
$ edit somefile
$ git commit -m "some change" somefile
[master f875c5b] some change
 21 files changed, 4 insertions(+), 1563 deletions(-)
 delete mode 100644 fileA
 delete mode 100644 fileB
 delete mode 100644 fileC
 [...] (somefile does not even appear on the console output, only if i get log later)

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   fileA
#   new file:   fileB
#   new file:   fileC
[...]

$ git commit -m "re-add files? why?"
$ git push

$ git status
 * nothing changed *

$ git diff
 * nothing *

$ edit somefile

$ git commit -m "some change" somefile
[master f875c5b] some change
 21 files changed, 4 insertions(+), 1563 deletions(-)
 delete mode 100644 fileA
 delete mode 100644 fileB
 delete mode 100644 fileC
 [...]

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   fileA
#   new file:   fileB
#   new file:   fileC
[...]

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

Я могу дать ему еще один шанс после того, как у меня будет время, чтобы полностью прочитать книгу мерзавцев.

спасибо за попытку помочь, но это стало слишком странным и непродуктивным.

также, из любопытства к кому-то, мой рабочий процесс до сих пор был (два месяца делал это, и все было хорошо до сегодняшнего дня)

$ git fetch
$ git merge origin/master master
$ edit file
$ git add somenewfile
$ git commit -m 'something changed' file somenewfile
$ git push

Ответы [ 2 ]

2 голосов
/ 12 сентября 2011

Так как никто не может объяснить это, я закрываю, если предположить, что это ошибка.

оставляю здесь, только если кто-то ищет это в будущем.

я отправил журналы вdevs, никогда не получал ответ, но так как есть несколько ревизий после той, которую я использовал, я просто предположу, что она исправлена ​​... но я никогда не узнаю, так как больше не использую git в этом проекте.

0 голосов
/ 23 июля 2014

Просто выглядит как нормальное поведение, когда вы указываете файлы в вашей команде commit:

http://git -scm.com / docs / git-commit :

Файл> ...

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...