• # git

    Posté par (site web personnel) . En réponse au journal Git : les bases et guide d'utilisation en mode centralisé (à la SVN). Évalué à 8.

    # 2) TO DO ONLY ONE TIME : create master tree and HEAD link
    tree=$(git write-tree)
    commit=$(echo 'Initial commit' | git commit-tree $tree)
    git update-ref HEAD $commit
    git push origin master

    J'ai peut-être pas vraiment les yeux en face des trous ce matin, mais je comprend pas bien pourquoi faire ça.
    En général (genre 99% du temps) il n'y a jamais besoin d'utiliser les commandes bas niveau de git genre write-tree ou commit-tree

    Si le but c'est juste d'initialiser un dépôt vide avec une branche master distante :

    git commit --allow-empty -m "Init repository"
    git push -u origin master
    

    Surtout avoir le -u qui va permettre ensuite de ne plus jamais utiliser origin master (en version courte hein). Ça va éviter pas mal de problèmes, surtout quand par la force de l'habitude quelqu'un fera un git pull origin master sans être dans master.

    Par contre j'ai toujours pas compris où tu voulais en venir.
    Pourquoi ne pas déjà présenter le problème que tu veux résoudre ? Si le but est de fonctionner "comme svn" pourquoi ne pas prendre svn ?
    Beaucoup de monde utilise git avec un dépôt central de référence (à la louche je dirais 99% du temps non ?).
    Par contre les point qui changent le plus sont commits locaux, pull/push, merge, branch. En gros au final tout ce qui correspond à ton workflow. Donc c'est quoi ton workflow ?

    Et j'ai l'impression aussi que tu es rentré dans pas mal de détails bien bas niveau (rien que les premières lignes de ton doc).

    Par ailleurs, quand je voudrai libérer des sources, je me demande si un téléversement d'un repository sera possible et aisé vers github ou gitlab (avec reprise des versions et métadonnées) ?

    Si tu as un dépôt git il suffira d'ajouter une nouvelle remote pour pouvoir envoyer tout le dépôt.