Comment créer une nouvelle twig vide pour un nouveau projet

Nous utilisons un repository git pour stocker notre projet. Nous avons nos succursales au départ de la succursale d’origine. Mais maintenant, nous voulons créer un petit nouveau projet pour suivre certains documents. Pour cela, nous voudrions créer une nouvelle twig vide pour stocker nos fichiers, et je voudrais que les autres utilisateurs du réseau clonent cette twig.

Comment peut-on faire ça?

J’ai essayé certaines choses, mais elles n’ont pas fonctionné.

$ mkdir proj_doc; cd proj_doc $ git init $ git add . $ git commit -m 'first commit' $ git br proj_doc $ git co proj_doc $ git br -d master $ git push origin proj_doc 

Il semble que la twig aille bien, mais quand je fais un aller-retour, je télécharge des informations d’autres twigs, puis je reçois aussi des fichiers supplémentaires provenant d’autres projets. Quelle est la meilleure solution?

Vous pouvez créer une twig en tant qu’orphelin:

 git checkout --orphan  

Cela créera une nouvelle twig sans parents. Ensuite, vous pouvez effacer le répertoire de travail avec:

 git rm --cached -r . 

et append les fichiers de documentation, les valider et les envoyer à github.

Un pull ou fetch mettra toujours à jour les informations locales sur toutes les twigs distantes. Si vous souhaitez uniquement extraire / récupérer les informations pour une seule succursale distante, vous devez le spécifier.

La bonne réponse est de créer une twig orpheline. J’explique comment faire cela en détail sur mon blog: http://sidja.in/post/62663941071

Avant de commencer, effectuez une mise à niveau vers la dernière version de GIT. Pour vous assurer que vous utilisez la dernière version, exécutez

 which git 

S’il crache une ancienne version, vous devrez peut-être augmenter votre PATH avec le dossier contenant la version que vous venez d’installer.

Ok, nous sums prêts. Après avoir fait un CD dans le dossier contenant votre commande git, créez une twig orpheline. Pour cet exemple, je nommerai la twig «mybranch».

 git checkout --orphan mybranch 

Tout supprimer dans la twig orpheline

 git rm -rf . 

Faire des changements

 vi README.txt 

Ajouter et valider les modifications

 git add README.txt git commit -m "Adding readme file" 

C’est tout. Si tu cours

 git log 

Vous remarquerez que l’historique de validation commence à zéro. Pour revenir à votre twig principale, exécutez simplement

 git checkout master 

Vous pouvez retourner à la twig orpheline en exécutant

 git checkout mybranch 

Faites une nouvelle twig vide comme ceci:

 true | git mktree | xargs git commit-tree | xargs git branch proj-doc 

Si vos fichiers proj-doc sont déjà dans un commit sous un seul sous-répertoire, vous pouvez créer la nouvelle twig comme suit:

 git commit-tree thatcommit:path/to/dir | xargs git branch proj-doc 

ce qui pourrait être plus pratique que git branch --orphan si cela vous laissait beaucoup de choses à faire et à faire.

Essayer

 git branch --set-upstream proj-doc origin/proj-doc 

et voyez si cela vous aide à résoudre votre trop gros problème. Aussi, si vous voulez vraiment récupérer une seule twig, il est préférable de la spécifier sur la ligne de commande.

si la version de git n’a pas l’option –orphan, cette méthode devrait être utilisée;

 git symbolic-ref HEAD refs/heads/ rm .git/index git clean -fdx 

Après quelques travaux

 git add -A git commit -m  git push origin  

Disons que vous avez une twig principale avec des fichiers / répertoires:

twig de git

maîsortingser

ls -la (fichiers et répertoires que vous pouvez conserver dans master)

.git répertoire1 répertoire2 fichier_1 .. fichier_n

Etape par étape, comment créer une twig vide:

  1. git checkout —orphan new_branch_name
  2. Assurez-vous d’être dans le bon répertoire avant d’exécuter la commande suivante: ls -la | awk ‘{print $ 9}’ | grep -v git | xargs -I _rm -rf ./_
  3. git rm -rf.
  4. touchez nouveau_fichier
  5. git add new_file
  6. git commit -m ‘a ajouté le premier fichier dans la nouvelle twig’
  7. git push origin new_branch_name

A l’étape 2, nous supprimons simplement tous les fichiers localement pour éviter toute confusion avec les fichiers de votre nouvelle twig et ceux que vous conservez dans la twig ‘master’. Ensuite, nous dissocions tous ces fichiers à l’étape 3. Et depuis l’étape 4, nous travaillons avec notre nouvelle twig vide.

Une fois que vous avez terminé, vous pouvez facilement basculer entre vos twigs:

git checkout master git checkout new_branch