GIT: Я продовжую зливати свою нову гілку


1

Я створив нову гілку, і я працюю над нею з іншими розробниками, але з причин, коли я хочу підштовхнути свої нові зобов'язання, я завжди маю, git merge origin/mynewbranch інакше я отримую деякі помилки:

 ! [rejected]        mynewbranch -> mynewbranch (non-fast-forward)
error: failed to push some refs to 'git@site.com/repo.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

You asked me to pull without telling me which branch you
want to merge with, and 'branch.mynewbranch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.

If you often merge with the same branch, you may want to
use something like the following in your configuration file:

    [branch "mynewbranch"]
    remote = <nickname>
    merge = <remote-ref>

    [remote "<nickname>"]
    url = <url>
    fetch = <refspec>

See git-config(1) for details.

Чому це не автоматично?

Дякую


Чи читали ви документацію, на яку ви вказували? Якщо так, чи можете ви сказати, для чого саме вам потрібні роз'яснення?
Бенджамін Баньє

Ну, я просто цікавився, чому це вже не злиття автоматично, просто щоб знати, що я зробив не так.
mnml

Відповіді:


2

Ви нічого не зробили неправильно, але якщо віддалене відділення буде оновлено (натисніть на) від інших розробників, то ваш власний внесок (push) не буде прийнятий безпосередньо.

git push(у розділі "Примітка про швидкі перемотки вперед") згадується :

Ви можете виконувати " git pull", вирішувати потенційні конфлікти та " git push" результат. " git pull" Створить об'єднання об'єднання C між коміратами A і B.

Крім того, ви можете відновити зміни між X і B поверх A, за допомогою " git pull --rebase" і відсунути результат назад. Ребаза створить новий комірок D, який будує зміну між X і B поверх A.

Дивіться також " Я не в змозі натиснути на git? " Для більше.


За допомогою ребайду мою гілку буде видалено, коли це буде зроблено? Або він просто оновлюється змінами основної гілки?
mnml

1
@mnml: відновлення означає, що ваша гілка буде відтворена поверх того, що було отримано: вона не видаляє вашу гілку.
VonC

Чи можливо переставити майстер поверх нової гілки?
mnml

@mnml: оскільки майстер часто натискає, це не рекомендується. Зазвичай, відшкодування гілки на вершині master ( git checkout mybranch; git rebase master)
VonC,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.