2016-05-24 2 views
0

Я довольно новичок в git, но у меня есть голова вокруг процесса. Кажется, он клонирован (если он новый), тянет, добавляет, фиксирует нажатие ... Это отлично работает, поскольку удаленное репо имеет ветвь с именем master (при этом git push работает без каких-либо дополнительных команд).Запись изменений в удаленную ветку с git

Сейчас я нахожусь в ситуации, когда репо я клонировал имеет несколько ветвей, например:

* master 
    remotes/origin/HEAD 
    remotes/origin/example 
    remotes/origin/master 

Я хотел бы добавить свои изменения в example ветви и испытание. Если это будет успешным, я бы хотел объединить его с веткой master.

Какие команды мне нужно выполнить для достижения этих целей?

+0

В зависимости от того, были ли вы исправлены локальные изменения. – arkascha

ответ

3

Добавление к ответа- Джимми

  1. Переключитесь в отрасли вы хотите работать с git checkout <branchname>, как git checkout example.

  2. Выполнение работ по этой ветке с git add, git commit -m "enter commit message here". Часто проверяйте с помощью git status.

  3. Мастер обратного слияния, чтобы избежать конфликтов слияния: git merge master.

  4. Проведите любой из тестов, которые вы хотели бы получить в этой ветке.

  5. Переключиться на хозяину: git checkout master и слить в мастер, git merge example.

  6. Нажмите изменения в удаленной ветке: git push -u example.

+0

Спасибо за это! Любой риск оторванной головы делает это так? У меня было сообщение, касающееся отдельной головы, когда я делал это в прошлом. Также я могу просто добавить пример git checkout? Это не приведет к созданию локальной ветви, называемой примером? – user3229731

+0

Спасибо за добавление команд, было слишком ленив, чтобы помочь с этим –

+0

Отдельная головка - если вы не используете 'rebase',' reset' или другие деструктивные команды, не будет отдельной головы. Что касается создания ветви, называемой примером, я сделал эти команды с примером как поддельное имя. Какое бы название ветки у вас ни было, используйте вместо примера. –

1

Как насчет этого?

  1. Переключить на example
  2. Merge master так что до настоящего времени (по желанию)
  3. Изменить материал и тест
  4. Фиксировать их
  5. Переключить на master
  6. Слияние example в м master
  7. Нажмите на originmaster (дополнительно также example)
+0

Спасибо за это, я задал Брайне тот же вопрос ... Когда я проверяю пример, есть ли какой-то конкретный синтаксис, необходимый для работы в удаленной ветке? Когда я пробовал это в прошлом, у меня только что была локальная ветвь с идентичным именем в удаленной ветке. – user3229731

+1

@ user3229731 Я бы предложил прочитать немного больше о git, чтобы познакомиться с удаленными и локальными ветвями. Нет специального синтаксиса для пультов или локальных пользователей.Git сложна для начинающих. Я бы предложил такой инструмент, как sourcetree для gui. Удаленный баннит может быть клонирован локально, а затем синхронизирован. Локально созданная ветка может иметь удаленную ветвь, созданную для нее, и путем syncronized. –

+0

Да, теперь это немного больше смысла :) Думаю, я понимаю. По какой-то причине у меня создалось впечатление, что вы можете работать непосредственно на удаленной ветке, что, очевидно, невозможно, - что проверка действительно делает, это создать ветку с тем же именем локально, и когда вы нажимаете на нее, вы на самом деле нажимаете изменения на ветвь с тем же именем удаленно ... Сбивает с толку, но логично: D – user3229731

1

Сначала сделайте git checkout example. Затем выполните все остальные команды, как вы будете на ветке примера.

Смежные вопросы