Ответ 1
Поскольку ваш фиксатор не находится в какой-либо ветке, вы не можете увидеть его в рабочем каталоге, если вы не проверите его, используя его SHA1. Вы можете найти фиксацию, посмотрев на reflog
, который отслеживает изменения в том, что вы проверили из репо. Если ваш тег XXX
, вы увидите что-то вроде:
$ git reflog
7a30fd7... [email protected]{0}: checkout: moving from master to XXX
ddf751d... [email protected]{1}: checkout: moving from 96c3b0300ccf16b64efc260c21c85ba9030f2e3a to master
96c3b03... [email protected]{2}: commit: example commit on tag XXX, not on any branch
7a30fd7... [email protected]{3}: checkout: moving from master to XXX
Это сообщает вам SHA1, что вам нужно будет checkout
, чтобы увидеть вашу фиксацию в рабочем каталоге.
$ git checkout 96c3b03
Note: moving to "96c3b03" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
git checkout -b <new_branch_name>
HEAD is now at 96c3b03... example commit on tag XXX, not on any branch
$ git checkout -b newbranch
$ git branch #lists all branches
feature1
master
* newbranch
Это сначала показалось мне немного странным, пока я не понял, что git checkout
помещает все файлы проекта как определенные коммиты в мою файловую систему (рабочий каталог). Фактически рабочий каталог действует как браузер в локальном репозитории git. Таким образом, ваши изменения не были перезаписаны в репозитории, они просто не отображаются в вашем рабочем каталоге, когда вы проверили мастер.