Добавление дополнительных коммитов в ветку в Git - PullRequest
0 голосов
/ 29 мая 2020

Заранее приносим извинения. Я уверен, что это очень простой вопрос с очень простым ответом, но я новичок в Git и немного растерялся. У меня есть ветка master. Вчера я внес некоторые изменения и выполнил git add ., git commit, создал новую ветку, выполнив git branch part-one, затем я отправил коммиты в эту новую ветку, выполнив git push origin part-one. Я вижу, что мои коммиты попали в эту ветку на github. Теперь я еще немного поработал над теми же файлами. Я добавил и поставил изменения, как и раньше. Теперь, когда я go to pu sh совершает коммит, выполнив git push origin part-one, он говорит Everything up-to-date. Я не вижу самых последних коммитов в моей истории на github.

Почему он не помещает самую последнюю фиксацию в мою ветку part-one?

Возможная причина: если бы я хотел сделать sh эти коммиты в мою ветку. Я должен был делать git checkout part-one, затем делать git add и git commit? Я выполнял эти команды, пока был на мастере.

Ответы [ 3 ]

0 голосов
/ 29 мая 2020

Ты где на ветке, скажи master для простоты. Имя не имеет значения.

Вы добавили все файлы в список отслеживаемых файлов (git add .), а затем создали фиксацию в ветке master (git commit).

Вы попытался отправить эту фиксацию в удаленную ветвь, в другую ветку, то есть не на удаленную master.

Вам действительно не разрешено это делать по ряду причин. Скажем, созданный вами коммит был дочерним для коммита X. Фиксация X существует как в локальной, так и в удаленной главной ветке. Фиксация X не существует на удаленном part-one, поэтому нет простого способа объяснить, как применять изменения, начиная с последней фиксации part-one, которая, скажем, является фиксацией Y.

В конце концов, вы хотите переместить коммиты в новую ветку или выполнить слияние master на part-one, или git commit --amend, чтобы уничтожить последний коммит, сделанный на master, затем git switch part-one и git commit -a там.

0 голосов
/ 30 мая 2020

На случай, если кто-то столкнется с этим в будущем: вот решение, которое сработало для меня.

Проблема заключалась в том, что у меня были коммиты на моем мастере, которые я действительно хотел в своей ветке. Я сделал вот что. Я объединил свою ветку с моим мастером, что означает, что ветка получит все коммиты от мастера, а мастер получит все коммиты из ветки. Отсюда, в зависимости от того, что вам нужно; вы можете использовать git reset --keep HEAD~X, где X - это количество коммитов, которые вы хотите удалить. Затем вы можете сделать sh коммитов в свой Github.

Для справки: это было Переместите самые последние фиксации в новую ветку с помощью Git

0 голосов
/ 29 мая 2020

Вы остановились после постановки, вы не сделали никаких обязательств перед sh (это следует за вашим описанием). Ты сказал добавил, а потом поставил .... это то же самое. Вы имели в виду добавлены и зафиксированы?

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