Você pode fazer tudo a partir do seu repositório existente (não é necessário clonar o fork em um novo repositório (local), criar seu branch, copiar seus commits / changes, etc.).
-
Prepare seus commits para serem publicados.
Refine as confirmações locais existentes (por exemplo, com
git commit --amend
e / ougit rebase --interactive
).Confirme qualquer uma das alterações não confirmadas que você deseja publicar (não tenho certeza se você quis dizer que você tem alguns commits no seu master local e algumas alterações não confirmadas, ou apenas algumas alterações não confirmadas Incidentalmente, as alterações não confirmadas não são "em um ramo", elas estão estritamente em sua árvore de trabalho).
Renomeie sua ramificação master para dar o nome que deseja para sua "nova ramificação". Isso não é estritamente necessário (você pode passar de qualquer ramificação para qualquer outra ramificação), mas provavelmente reduzirá a confusão a longo prazo se o seu branch local e o branch em seu fork do GitHub tiverem o mesmo nome.
git branch -m master my-feature
-
Bifurque o repositório upstream do GitHub
(por exemplo)github.com:UpstreamOwner/repostory_name.git
como
(por exemplo)github.com:YourUser/repository_name.git
.Isso é feito no site do GitHub (ou em um “cliente” que usa as APIs do GitHub), não há comandos locais do Git envolvidos.
-
Em seu repositório local (aquele que foi originalmente clonado do repositório GitHub e tem suas mudanças em seu master ), adicione seu repositório fork como um controle remoto:
git remote add -f github github.com:YourUser/repository_name.git
-
Envie sua ramificação para o seu repositório de ferramentas no GitHub.
git push github my-feature
-
Opcionalmente, renomeie os controles remotos para que seu fork seja conhecido como "origin" e o upstream como "upstream".
git remote rename origin upstream git remote rename github origin
Um motivo para renomear os remotos seria porque você deseja usar
git push
sem especificar um repositório (o padrão é “origem”).