мерзкий выбор - PullRequest
       10

мерзкий выбор

1 голос
/ 27 января 2012

Здесь мы переносим наш исходный код на github, и эта транзакция доставляет мне головную боль:)
что я сделал: я перешел в наше рабочее пространство (это проект затмения) и выполнил git init и git add . а потом git commit -am "first commit"
все работало нормально, а потом я просто отправил его в github.тоже успех.
но есть большая проблема: мой друг только что внес изменения в файл с именем A.java, а я только что изменил B.java.хорошо, ничего страшногоЗатем он толкнул его в GitHub.Когда я пытаюсь нажать, мой толчок отклонен.Хорошо, я сделал git pull github master, а затем снова нажал, и теперь мое «сообщение коммита» стало выглядеть как Merge branch 'master' of github.com:germantech/projectName
Хорошо, что я делаю не так?
ps: извините за мой английский

Ответы [ 2 ]

3 голосов
/ 27 января 2012

Вы не делаете ничего плохого - когда вы делаете git pull github master, git переходит в хранилище, указанное удаленным github, выбирает все необходимое для ветви master, а затем объединяет его с вашей текущей веткой. До этого у вас была следующая история:

O --- A (master)

... где O - это фиксация с сообщением «firts commit», а A - это фиксация, которая внесла ваши изменения в A.java. У вашего друга, тем временем, есть история:

O --- B (master)

... и это было отправлено на GitHub. Когда ваш git pull github master объединяет это с вашей историей, он создает «коммит слияния» для представления состояния дерева с изменениями из обеих веток master:

O --- B --- M (master)
 \         /
   ---A ---

Если бы вместо этого вы хотели сохранить историю линейной, вы могли бы сделать git pull --rebase github master, которая вместо этого "переиграла бы" ваши коммиты, которых нет в удаленной версии ветки поверх этой версии удаления. отрасль:

o --- B --- A' (master)

Некоторые люди предпочитают это - мне лично все равно.

1 голос
/ 27 января 2012

Вы в одном репо или в разных репо? Если вам нужно, вам нужно отменить изменения и нажать еще раз

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