web-dev-qa-db-fra.com

Quelle est la différence entre le répertoire de travail et le référentiel local?

J'ai créé un nouveau référentiel GitHub . Le répertoire de travail et le référentiel local me rendent assez confus. Lorsque je travaille seul, tout mon contenu réside dans le répertoire de travail . Mais lorsque vous travaillez avec repo, Je devrais vérifier mes affaires ici… .. Mais est-ce la même chose? ou devraient-ils être séparés .. alors comment faire pour enregistrer mes données dans le répertoire de travail dans mon dépôt local . Comment faire pour enregistrer mon dépôt local dans un dépôt distant ... Comment faire ceci par Git Bash? Merci! 

22
Zoe

Le répertoire de travail est le répertoire avec vos fichiers sources sous le contrôle de git (à la racine de tous les répertoires sous le contrôle. Le fichier .git est présent) . Git suit la différence entre votre répertoire de travail et votre référentiel local, et entre votre référentiel local et (un des) référentiels distants.

Pour voir ce qui a été changé, utilisez $ git status .

Pour valider vos modifications (modifications et/ou nouveaux fichiers) dans le référentiel local, utilisez $ git add puis $ git commit .

Pour voir ce qui a été commis, utilisez $ git log .

Ensuite, si vous souhaitez valider votre modification dans le référentiel distant, utilisez $ git Push .

Faites attention aux commandes git imprimées, elles contiennent souvent des conseils sur les actions à prendre. 

Si vous travaillez avec GitHub, leur aide est également utile: Pousser sur une télécommande .

Une bonne information de base est également sur le site atlassian .


PAR EXEMPLE:

Supposons que vous ayez lancé votre référentiel git avec $ git init dans le répertoire JavaRepo et que vous y ayez extrait le projet avec $ git pull ou $ git clone . Ensuite, JavaRepo devrait contenir le fichier .git (entre autres fichiers git en pointillés) - vous pouvez le vérifier avec $ ls -a. Ces fichiers sont eux-mêmes le dépôt local git , et il n'est pas nécessaire de distinguer 'répertoire de travail' et le répertoire 'référentiel local'.

Alors, commencez à travailler avec les fichiers dans JavaRepo: dites que vous avez changé le fichier exemple.Java et créé le nouveau fichier exemple2.Java. Exécutez $ git status dans JavaRepo (ou dans l'un de ses sous-répertoires). Il devrait afficher: 'modified: exemple.Java', 'Fichiers non suivis: exemple2.Java'

Ajoutez vos fichiers à la zone de stockage intermédiaire avec les commandes $ git add example.Java et $ git add example2.Java du répertoire contenant ces fichiers. (Notez que $ git add est à la fois pour les fichiers modifiés et les nouveaux fichiers.)

Et enfin, validez vos fichiers par $ git commit -m "example changes" (-m reste pour le message - commentaires pour le commit).

$ git log devrait afficher ce commit.

19
Alexey Voytenko

Il existe une couche entre le répertoire de travail et le référentiel local. C'est ce qu'on appelle la zone intermédiaire . Lorsque vous ajoutez vos fichiers modifiés à l'aide de 'git add', les modifications sont d'abord stockées dans la zone intermédiaire pour vérification . Vous pouvez ensuite utiliser 'git commit' pour pousser plus loin vos modifications depuis la stratégie intermédiaire. zone à repo locale.

0
Shubham Sawant