Latest web development tutorials

zone de travail Git, aire de rassemblement et dépôt

concept de base

Nous comprenons d'abord la zone de travail sous Git, zone de stockage temporaire et concept de dépôt

  • Espace de travail: que vous pouvez voir dans le catalogue de l' ordinateur.
  • Zone temporaire: anglais appelé étape, ou de l' indice. Généralement stockés dans le fichier "répertoire git" index (.git / index), donc nous avons appelé parfois l'indice de la zone temporaire (index).
  • Repository: Espace de travail a un répertoire .git caché, ce n'est pas la zone de travail, mais Git référentiel.

La figure suivante montre la relation entre l'espace de travail, le référentiel et zone de transit entre le référentiel:

La figure de gauche dans la zone de travail sur le côté droit du référentiel. Dans le référentiel marqué "index" de la zone est une zone temporaire (stade, index), marqué comme branche "master" est représenté par l'arborescence de répertoire maître.

La figure, nous pouvons voir que, à ce moment "HEAD" est en fait en montrant une branche master "curseur." Donc, placer la commande affichée apparaissant HEAD peut être utilisé pour remplacer le maître.

objets de la région figure identifiés comme bibliothèque d'objets Git, effectivement situé ".git / objets" répertoire, qui contient une variété d'objets et la création de contenu.

Lorsque la zone de travail pour modifier (ou ajouter) le fichier pour exécuter "git add", l'arborescence du répertoire est mis à jour la zone de mise en scène tandis que la zone de travail pour modifier (ou ajouter) le contenu du fichier est écrit à l'objet dans une bibliothèque le nouvel objet, et l'ID d'objet est enregistré dans une zone temporaire de l'index de fichiers.

Lorsque vous effectuez un commit (git commit), arbre zone temporaire écrit au référentiel (bibliothèque d'objets), la branche master sera mise à jour en conséquence. Scratch arborescence qui est zone maître lorsque l'arbre dirigé est soumis.

Lorsque la commande "git reset HEAD" exécution, la zone de transit de l'arborescence de répertoire sera réécrit, il est remplacé par le point de l'arbre de la branche master, mais la zone de travail ne soit pas affectée.

Lors de l'exécution "--cached <file> git rm" commande, supprimer des fichiers directement à partir de la zone de transit, la zone de travail est de ne pas faire un changement.

Lors de l'exécution "checkout git." Ou "git checkout - <fichier>" commande, il remplacera tout le papier espace de travail avec la zone de transit ou le fichier spécifié. Cette opération est très dangereux, il efface les modifications de l'espace de travail ne sont pas ajoutés à la zone de transit.

Lors de l'exécution "git checkout HEAD." Ou "checkout HEAD <fichier> git" de commande, et remplacera le temporaire zone de stockage et de fichiers d'espace de travail avec les points HEAD de la branche à maîtriser tout ou partie du fichier. Cette commande peut aussi être très dangereux, parce que les changements ne seront pas seulement effacer l'espace de travail des modifications non validées supprimera la zone temporaire non engagée.