Сегодня я набрал 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