Я новичок в git и работаю над git.
Я добавил несколько файлов в git:
git add <file1>
git add <file2>
затем я хотел отправить это на рассмотрение, но по ошибке
git commit
поэтому файлы, которые я изменил, не проходят проверку.
Теперь, если я введу команду:
git status
это говорит
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
Я хочу отменить эту фиксацию, и я хочу отправить эти файлы на проверку, а не на фиксацию. Может ли кто-нибудь сообщить мне, как я могу это сделать?
git reset HEAD^
Ответы:
Вы не можете толкать ничего, что еще не было совершено. Порядок действий:
git add
- это этапы внесения ваших измененийgit commit
- это фиксирует ваши поэтапные изменения локальноgit push
- это переносит ваши зафиксированные изменения на удаленныйЕсли вы нажимаете без фиксации, ничего не толкается. Если вы делаете коммит без добавления, ничего не фиксируется. Если вы добавляете без фиксации, вообще ничего не происходит, git просто запоминает, что добавленные вами изменения следует учитывать при следующей фиксации.
Сообщение, которое вы видите (ваша ветка опережает 1 фиксацию), означает, что в вашем локальном репозитории есть одна фиксация, которая еще не была отправлена.
Другими словами:
add
иcommit
- это локальные операцииpush
,pull
иfetch
- операции, которые взаимодействуют с удаленным.Поскольку кажется, что там, где вы работаете, существует официальный рабочий процесс контроля версий, вы должны спросить внутри компании, как с этим обращаться.
источник
origin
репозиторий. Я также рекомендую прочитать несколько руководств / вступлений к git на git-scm.com/documentationgit reset HEAD^ --soft
(Сохраните изменения, вернитесь к последней фиксации)git reset HEAD^ --hard
(Отменить изменения, вернуться к последней фиксации)источник
Если вы просто хотите выбросить изменения и вернуться к последней фиксации (той, которой вы хотели поделиться):
Вы можете проверить, чтобы быть абсолютно уверенным в том, что вам нужен this (
git log
), потому что вы потеряете все изменения.Более безопасная альтернатива - бежать
источник
Я решил это, просто выполнив простой:
Ничего более. Теперь он показывает:
источник
git сбросить HEAD ^
тогда должны появиться измененные файлы.
Вы можете переместить измененные файлы в новую ветку
использовать
git checkout -b newbranch
git checkout commit -m "files modified"
git push origin newbranch
git checkout master
тогда вы должны быть в чистой ветке, а ваши изменения должны храниться в новой ветке. Позже вы можете просто объединить это изменение с основной веткой
источник
удалить указанные файлы из следующего коммита
источник