GIT: el pago escaso no funciona como se esperaba

He revisado un git repo en un server. El repository solía tener todos los files relevantes en la raíz, pero tuve que hacer algunos cambios y ahora tengo dos carpetas, src y dist y quiero rastrear ambas.

El problema que tengo es que en mi server, si lo hago, ahora tengo que navegar dentro de la carpeta dist para ver algo.

Traté de search un poco y creo que lo que me gustaría hacer es llamar escaso checkout.

Seguí este tutorial: http://jasonkarns.com/blog/subdirectory-checkouts-with-git-sparse-checkout/ , en particular, la parte que habla sobre un proyecto existente e hice lo que mencioné:

  1. ssh en mi server
  2. cd en la carpeta del proyecto
  3. git config core.sparsecheckout true
  4. echo dist / >> .git / info / sparse-checkout
  5. git read-tree -mu HEAD

pero nada sucedió Quiero decir, todavía necesito navegar a myproject / dist para poder ver algo.

También traté cat sparse-checkout file de dist/ cat sparse-checkout y dist/ está presente. git pull origin master también, pero sin suerte.

¿Me estoy perdiendo de algo?

Hiciste todo como debería ser.


sparse checkout

Con el pago escaso le dices básicamente a Git que excluya un cierto set de files del tree de trabajo. Esos files seguirán siendo parte del repository pero no aparecerán en su directory de trabajo.

Internamente, el checkout disperso usa el indicador skip-worktree para marcar todos los files excluidos como siempre actualizados.

 # enable sparse checkout in an existing repository: git config core.sparseCheckout true # Create a .git/info/sparse-checkout file containing the # paths to include/exclude from your working directory. # Update your working directory with git read-tree -mu HEAD 

enter image description here


Otra solución que podría funcionar para usted también:

Splitting a subfolder out into a new branch/repository

 # use filter-branch to extract only the desinetworking folder into a new branch # once you done with your work you can always merge it back again. git filter-branch --prune-empty --subdirectory-filter YOUR_FOLDER_NAME <branch> # Filter the master branch to your directory and remove empty commits