Git: внесение изменений в локальную ветку, чтобы вернуться к удаленному репо - PullRequest
0 голосов
/ 14 декабря 2018

Git новичок здесь!

Это действительно простой вопрос, но я, кажется, завязываю себя в узел, пытаясь обдумать это.Я все еще на стадии игры с репо и начинаю читать некоторые книги.Пожалуйста, будьте добры :)

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

Затем я перемещаю ветку обратно в удаленную ветвь, затем объединяю удаленную ветку с удаленным мастером, а затем толкаю удаленный мастер обратно в мойместный мастер?Я не совсем понимаю, какой правильный / рекомендованный порядок для слияния в мои изменения.Лучше ли пушить удаленно -> локально, либо извлекать или тянуть?Я буду работать совместно, чтобы другие люди могли изменить удаленный мастер, пока я работал над своей веткой.

Отслеживание веток просто экономит время (поэтому вам не нужно явно указывать, когда высказать «git push» - он знает, куда вы, вероятно, хотите нажать)?Я предполагаю, что они на самом деле не отслеживают изменения, например, обновляют локальный мастер, чтобы он соответствовал удаленному.

Большое спасибо.Я очень смущен, но я действительно хочу научиться этому!

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Вы задаете хорошие вопросы, и вы, кажется, бьете по всем пунктам рассмотрения.

  1. удаленный клон
  2. ветвь от восходящей ветки (origin/master разветвленная, скажем, feature-123).git checkout master; git pull; git checkout -b feature-123
  3. запись, тестирование, фиксация изменений.git add -u; git commit -v
  4. в состоянии push-достойного, push to origin, настройка восходящего направления для вашей локальной ветви функций git push --set-upstream origin feature-123
  5. , когда ваша ветвь готова к слиянию с origin/master, мастер извлеченияпотяните удаленный мастер (это не будет выполнено автоматически, как вы и предполагали), чтобы вы были в курсе событий, и объедините свою ветку поверх.Толкать мастера вверх по течению.git checkout master; git pull; git merge feature-123; git push

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

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

0 голосов
/ 14 декабря 2018

Если я понимаю, какой у вас сценарий, это примерно так:

Вы создаете новую ветку из master (назовем это 'newFeature'), внесли некоторые изменения в newFeature ихочу слить не на master.Если это так, я думаю, что правильный способ сделать это:

  1. зафиксировать и нажать изменения на newFeature
  2. мастер проверки
  3. объединить newFeature вmaster
  4. push origin до master

Я предполагаю, что вы сейчас знаете, как делать git-вещи, но, если не подскажете, пожалуйста.

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