Вставить новый коммит без предыдущих зависимостей коммитов - PullRequest
2 голосов
/ 27 октября 2011

Я сделал коммит в своей локальной системе и отправил его на проверку ..

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

Пожалуйста, помогите мне с командами.

Ответы [ 2 ]

4 голосов
/ 27 октября 2011

У вас есть несколько вариантов. Вы можете просто отказаться от последнего коммита (вы потеряете его и должны будете использовать reflog, чтобы восстановить его, если не сохраните хеш):

git reset --hard HEAD~1

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

git reset --soft HEAD~1
git stash

Или вы можете разветвлять коммит до и работать в этой ветке:

git checkout -b newbranch HEAD~1
1 голос
/ 27 октября 2011

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

Скажите, что ваш коммит - B, а его родитель - A. Вы сбрасываете рабочую копию для фиксации A (ваша работа не будет потеряна, так как она будет нажата), выполнив

git checkout HEAD~

HEAD~ означает родителя текущего коммита ответвления.

Затем внесите изменения и передайте их в новую ветку:

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