Вытащить из git, пока он не разобрался - git


1

У меня есть несколько коммитов, которые еще не выдвинуты. Но в репозитории есть несколько новых коммитов. Я хочу вытащить новые коммиты и подтолкнуть свои коммиты, но я не уверен, как правильно это сделать. Если я сделаю попытку, как я думаю, она пытается слиться, и я не уверен, что станет с моими коммитами, пожалуйста, предложите, какое решение для такой ситуации.

Источник
  •  13
  •  4
  • 16 мар 2020 2020-03-16 06:47:19

4 ответа

-1

Попробуйте сделать следующие шаги:

Step1: git add .
Step2: git commit -m "message commit"
Step3: git pull
if you have some conflict, please merge code and return step 1.
Step 4: git push.
  • 16 мар 2020 2020-03-16 06:47:21
1

Вам нужно будет сделать git pull любым способом. Затем разрешите слияние (если оно будет), затем сделайте новый коммит и только затем нажмите на репозиторий.

4

git pull --rebase часто является самой полезной git pull --rebase здесь. Эффективно это будет:

  1. Отбросьте свой репозиторий до того, как ваши распакованные изменения
  2. Потяните вверх (это не потребует слияния, просто перемотка вперед)
  3. Попытайтесь повторно применить свои изменения, которые были отброшены на шаге 1.

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

  • 16 мар 2020 2020-03-16 06:47:20
3

Здесь у вас есть два основных варианта: вы можете либо объединить удаленный филиал в свою ветку, либо нажать, либо переустановить ветвь на удаленном компьютере, а затем перетащить удаленную ветку.

Вариант 1: слияние

git pull origin yourBranch           # does a fetch, followed by a merge
git push origin yourBranch           # push merged branch to remote

Вариант 2: rebase

git pull --rebase origin yourBranch  # does a fetch, followed by a rebase
git push origin yourBranch           # ideally this will fast-forward the remote,
                                     # meaning all your commits will be played on top

Объединение приведет к краху ваших коммитов в одно коммандное слияние, которое появится в удаленной ветки, тогда как перезагрузка сохранит ваши фиксации, в порядке, в удаленной ветке.

В любом случае вы не потеряете выполненную вами работу, хотя некоторые (или все) сделанные вами коммиты могут не сохраниться в удаленной ветке, если вы перейдете с опцией слияния.