Empujando a repos de github como usuarios diferentes

Descubrí cómo TIRAR de diferentes repositorys como diferentes usuarios en el Árbol de fonts, básicamente solo debes asegurarte de que tu repository sea algo así como

https://username@github.com/repo-name.git 

Eso funciona genial Sin embargo, cometer y presionar como un usuario específico parece ser un ENORME dolor. A continuación he reproducido el método que uso actualmente (y funciona) pero me gustaría que hubiera una manera de hacerlo de forma nativa en el Árbol de fonts. ¿Esta ahí?


Esto es específico de Mac, pero probablemente podría hacerse de manera similar en cualquier sistema * nix.

Primero debe poder autenticarse en Github a través de ssh.

  1. Crear nueva key SSH

    • ssh-keygen -t rsa -b 4096 -C "other-gitub-email@domain.com"

    • cuando se le solicite, guarde el file en /Users/yourname/.ssh/other-github-email

  2. Copia de la key SSH a github

    • pbcopy <~ / .ssh / other-github-email

    • iniciar session en otro usuario de github-email en github

    • ve a ajustes -> teclas ssh -> agrega la key ssh

    • cmd + v tu key en la caja

  3. Crea un file de configuration para identificar al nuevo usuario en tu máquina local

    • toque ~ / .ssh / config

    • edite ese file y ponga lo siguiente en él:

       Host personalGithub Hostname github.com User yourusername IdentityFile ~/.ssh/id_rsa Host other-github-email Hostname github.com User other-github-email IdentityFile ~/.ssh/other-github-email 
  4. Agregue su nueva identificación a su (s) session (s) actual (es) de SSH

    • eval "$ (ssh-agent -s)"

    • ssh-add ~ / .ssh / other-gitub-email

  5. Pon a testing tu connection

    • ** ssh -T git@github.com

Asumiendo que puede conectarse a github, ahora puede extraer de git usando SourceTree si usa esta estructura de nombres de repos: https: //other-gitub-email@github.com/repo.git

Sin embargo, para impulsarlo o comprometerse con él, DEBE hacerlo desde la línea de command.

  1. Agregue su ID de otro gitub-email a su (s) session (es) actual (es) de SSH

    • eval "$ (ssh-agent -s)"

    • ssh-add ~ / .ssh / other-gitub-email

  2. Pon a testing tu connection

    • ssh -T git@github.com
  3. Confirme con el autor correcto especificado (es posible que primero tenga que git add filename )

    • git commit –author = 'other-gitub-email <other-gitub-email@domain.com>' -m 'commit message'
  4. empujar

    • git push origin master
  5. O empuje a una twig

    • git push origin branchname: branchname

Como dije … los pasos anteriores funcionan, pero interrumpe completamente mi flujo de trabajo. Preferiría hacerlo con Source Tree. ¿Ayuda?