2012-05-16 9 views
5

J'ai donc pris en charge un site Web, dont certains ont été sous contrôle de version git (l'un des développeurs l'a utilisé, l'autre pas). Donc, je vais tout commettre jusqu'à présent, et travailler à partir de là.git add/rm (commit)

Cependant, il y a quelques fichiers avec un statut git que je ne comprends pas très bien. Ils sont étiquetés comme:

# Changed but not updated: 
# (use "git add/rm <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 

Donc, si je cours git commit simplement, seront les modifications apportées à ces fichiers se frayer un chemin dans le référentiel? C'est juste que je ne comprends pas pourquoi vous feriez ajouter/rm- semble ajouter et ensuite supprimer tout en un seul coup.

Merci pour votre aide!

+0

duplication possible de [Git: fichier "modifié mais non mis à jour"] (http://stackoverflow.com/questions/4812096/git-file-changed-but-not-updated) – Perception

+0

Le conseil ne suggère pas que vous devrait à la fois ajouter et les rm. Il dit que ce sont deux commandes qui pourraient faire ce que vous voulez. (Aussi, je pense que vous avez une ancienne version de Git - dans les versions plus récentes, il va dire "Changements à commettre" ou "Modifications non mises en scène pour commettre", et rm ne fait pas partie des indices.) – Cascabel

+0

mise à niveau de Git, étant donné le genre de questions que vous posez, vous voudrez peut-être lire quelques documents supplémentaires, par exemple [Pro Git] (http://git-scm.com/book). – Cascabel

Répondre

1

Ces fichiers sont constitués mais non validés. Oui, si vous exécutez simplement git commit, ils seront validés. Plus précisément, voulez-vous valider ces fichiers? Ils peuvent ou peuvent ne pas être les mêmes que vos fichiers de travail. http://gitready.com/beginner/2009/01/18/the-staging-area.html est une intro de descente à la zone de transit.

+0

Merci, est ce que git est prêt à commettre (potentiellement) différent de ce qui est dans la copie de travail? – penguin

+0

Oui. La zone de transit est "ce que je suis sur le point de commettre". Cela vous permet de ne valider que des parties de fichiers modifiés, de vérifier que votre commit est conforme à vos attentes, etc. Bien que ce soit l'un des concepts les plus «il n'y a pas de cuillère», c'est aussi l'un des plus puissants. – robrich

+0

Cool. Y a-t-il un moyen de différencier la zone de préparation et la copie de travail? – penguin

4

Habituellement, si vous voulez prendre les choses comme elles sont dans le dossier de travail que vous le feriez

git add -A 

qui organiserait tous les changements, y compris l'acte de suppression d'un fichier et des dossiers de suivi qui ne sont pas suivis encore.

Il est conseillé de vérifier votre fichier .gitignore avant de le faire afin de ne pas commettre d'artefacts indésirables qui peuvent gonfler votre dépôt et polluer la sortie des diffs et des correctifs.

Une fois que vous avez fait cela, vous pouvez

git commit 

pour enregistrer les changements dans l'histoire. Ensuite, vous pouvez

git push origin your_branch_name 

partager cette nouvelle histoire avec la télécommande vous configurez.