Git - Ваша ветка впереди "origin/master" на 1 commit

Я новичок в 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)

Я хочу вернуть это сообщение, и я хочу перетащить эти файлы для проверки, а не комментировать. Может ли кто-нибудь дать мне знать, как я могу это сделать?

Ответ 1

Вы не можете нажать то, что еще не было совершено. Порядок операций:

  • Сделайте свое изменение.
  • git add - эта стадия ваших изменений для совершения
  • git commit - это локально выполняется локально.
  • git push - это подталкивает ваши совершенные изменения к удаленному

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

Сообщение, которое вы видите (ваша ветка впереди на 1 фиксация) означает, что ваш локальный репозиторий имеет одно сообщение, которое еще не было нажато.

Другими словами: add и commit являются локальными операциями, push, pull и fetch являются операциями, которые взаимодействуют с удаленным.

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

Ответ 2

git reset HEAD^ --soft (Сохраните изменения, вернитесь к последнему фиксации)

git reset HEAD^ --hard (Отменить изменения, вернуться к последнему фиксации)

Ответ 3

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

git reset --hard HEAD~

Вы можете проверить, чтобы убедиться, что вы этого хотите (git log), потому что вы потеряете все изменения.

Более безопасная альтернатива - запустить

git reset --soft HEAD~ # reset to the last commit
git stash              # stash all the changes in the working tree 
git push               # push changes 
git stash pop          # get your changes back 

Ответ 4

Я решил это, просто выполнив простой:

git pull

Ничего больше. Теперь он показывает:

# On branch master
nothing to commit, working directory clean

Ответ 5

git reset HEAD <file1> <file2> ...

удалить указанные файлы из следующего фиксации

Ответ 6

git reset HEAD ^

тогда должны появиться измененные файлы.

Вы можете переместить измененные файлы в новую ветку

использовать, git checkout -b newbranch git checkout commit -m "файлы изменены" git push origin newbranch

git мастер проверки

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