Git: совместная работа между ветвями без разрешения push

В настоящее время я работаю в команде Scrum, которая использует общий репозиторий git с другой командой Scrum. Для простоты мы будем называть мою команду схватки Автобот и другую Десептикон .

Команда Десептикон имеет полный доступ к репозиторию для отправки и получения сообщений отвечает за структуру.

Команда Автобот умеет тянуть, но не толкает. Как правило, нет проблем, если члены команды работают независимо. Однако возникают случаи, когда было бы полезно перетащить и отправить в другую ветвь членов команды. На данный момент Автоботу не предоставлен push-доступ от Decepticon (простое исправление), поэтому требуется временное решение.

Пример варианта использования: подумайте, если Оптимус (Продолжая метафору трансформеров) сделал следующее:

#!/bin/bash
optimus@workstation0:~/git/work_project/> git branch sdev /sprint/dev --track
optimus@workstation0:~/git/work_project/> git checkout sdev
optimus@workstation0:~/git/work_project/> touch important_file.py
optimus@workstation0:~/git/work_project/> git add important_file.py
optimus@workstation0:~/git/work_project/> git commit -m "Important file added."

Теперь Родимус должен помочь Оптимусу , отредактировав important_file.py. Он создает свою собственную ветку и извлекает прямо из ветки Optimus и пытается отправить:

#!/bin/bash
rodimus@workstation1:~/git/work_project/> git branch sdev /sprint/dev --track
rodimus@workstation1:~/git/work_project/> git pull ~optimus/git/work_project sdev
rodimus@workstation1:~/git/work_project/> echo "'''TODO: Add content''' > important_file.py
rodimus@workstation1:~/git/work_project/> git commit -m "Added TODO".
rodimus@workstation1:~/git/work_project/> git push ~optimus/git/work_project sdev

И возникают ошибки. Какова правильная процедура для этого? Наличие второго репозитория нежелательно, но возможно, если потребуется.

5
задан Danubian Sailor 20 July 2013 в 21:24
поделиться