Tomei as seguintes etapas até agora:
- Clonou um repositório Git remoto
- Ramificou o ramo mestre para um teste experimental
- código editado / testado / confirmado no ramo experimental
Agora, não estou pronto para mesclar experimental em master. No entanto, quero enviá-lo de volta ao repositório remoto, pois esse é o repositório que compartilho com alguns colegas. Gostaria que eles vissem o que fiz no ramo experimental. Normalmente, apenas acesso o repositório remoto via SSH.
Como compartilhar minha filial local no repositório remoto, sem afetar a filial principal do repositório remoto?
git
version-control
distributed
Coocoo4Cocoa
fonte
fonte
Respostas:
De acordo com a página de manual do git push :
Encontre uma referência que corresponda
experimental
ao repositório de origem (provavelmente, ela encontrariarefs/heads/experimental
) e atualize a mesma referência (por exemplorefs/heads/experimental
) no repositório de origem.Se
experimental
não existisse remotamente, seria criado .É o mesmo que:
Crie a ramificação
experimental
no repositório de origem, copiando aexperimental
ramificação atual .Este formulário é necessário apenas para criar uma nova ramificação ou marca no repositório remoto quando o nome local e o nome remoto forem diferentes ; caso contrário, o nome ref por si só funcionará.
Ou, como mencionado na dica do git , você pode configurar um "Controle Remoto Padrão da Filial":
Jan sugere (para git> = 1.7.0 ) a opção
push -u
(oupush --set-upstream
):Dessa forma, você não precisa fazer nenhuma configuração do git.
fonte
-u
opção parapush
garantir que sua filial local rastreie a remota depois de torná-la pública. Se você esquecer de usar a-u
opção, basta digitargit push -u
posteriormente no ramo e, em seguidagit pull
, funcionará.git push origin experimental
, não há evidências de upload de pacotes. Parece que o controle remoto já possui todo o material do seu envio anterior; só tem que ser ligado aos árbitros .git push origin experimental
apenas criaria a filialexperimental
no controle remoto.Se o nome da sua ramificação é
experimental
e o nome do controle remoto éorigin
, então éfonte
git push -u <remote-name> <branch-name>
não funcionará se o ramo recém-criado não for gerado no mesmo repositório, ou seja, se você não tiver criado o novo ramo usandogit checkout -b new_branch
, isso não funcionará.Por exemplo, eu clonei dois repositórios diferentes localmente e tive que copiar o repo2 / branch1 para o repo1 / e depois enviá-lo também.
Esse link me ajudou a enviar minha filial local (clonada de outro repositório) para o repositório remoto:
fonte
Aqui está a página oficial do github para gerenciamento remoto do github http://github.com/guides/push-a-branch-to-github . Isso o ajudará a responder todas as suas perguntas.
fonte
tl; dr
mais informações
depois de fazer poucos commits no seu:
você envia sua ramificação especificando um upstream para um dos repositórios remotos, como a seguir:
controles remotos podem ser vistos por
normalmente, você terá um único controle remoto padrão
origin
. então seu comando seria semelhante a:e todos os empurrões consequentes podem ser feitos apenas com
git push
.fonte