make how git github tfs git-fork

make - how to fork github command line



Bifurcación utilizando TFS Git (1)

Si quita el control remoto ascendente ( A ), no puede funcionar.

Probablemente quieras algo como

# 1. create Client_A repo in TFS # 2. get A repo locally git clone http://mycompany.com/tfs/MyDefaultCollection/My Git Projects/_git/A cd A # 3. redefine remotes git remote rename origin upstream git remote add origin http://mycompany.com/tfs/MyDefaultCollection/My Git Projects/_git/Client_A # 4. push to Client A git push origin # 5. push to A (when proper) git push upstream

El cliente de Git no puede crear el repositorio en TFS, tiene que hacerlo manualmente a través de la interfaz web o usando mi utilidad TfsGitAdmin .

ACTUALIZACIÓN: La función Fork está disponible en VSTS o TFS 2018 y posteriores (consulte https://docs.microsoft.com/en-us/vsts/git/concepts/forks ).

Ahora estoy en un proyecto que usa TFS y Git. Y me di cuenta de que ya no podría Forks, así que pensé que les preguntaría a ustedes qué piensan sobre esto como una solución.

El problema que estoy teniendo es que tengo un proyecto "Base". Eso sería reutilizado para cada cliente que tenemos. Pero cada cliente tiene modificaciones en cierta medida (alrededor de 5-10%).

Estaba planeando incluir el proyecto "A" en "Client_A" y hacer los cambios necesarios. Todas las clases donde se pueden realizar cambios son implementaciones de clases abstractas en "A", por lo que podría sincronizar una nueva versión de A siempre que se cumplan las dependencias.

Mi problema ahora es que Forking no es compatible, estábamos usando bitbucket antes en mi equipo. Pero como estábamos integrados con el resto de la compañía, ahora necesitamos ejecutar lo que todos los demás están ejecutando ...

Esto es lo que estoy pensando hacer ...

git clone http://mycompany.com/tfs/MyDefaultCollection/My Git Projects/_git/A cd A git fetch origin git branch -a git checkout -b a_branch1 origin/a_branch1 git checkout -b a_branch2 origin/a_branch2 git checkout -b a_branchN origin/a_branchN git branch -a git remote add new-origin http://mycompany.com/tfs/MyDefaultCollection/My Git Projects/_git/Client_A git push --all new-origin git push --tags new-origin git remote rm origin git remote rename new-origin origin

Si lo hago, ¿todavía podré subir a A?