En résumé : on peut faire un cherry-pick d'un commit d'une branche dans une autre, puis faire un merge de ces 2 branches et cela devrait fonctionner sans duplication. Sinon, il faudra régler le conflit à l'ancienne.
Pour éviter aussi la duplication dans l'historique, on peut utiliser "rebase".
-
-
https://stackoverflow.com/questions/14486122/how-does-git-merge-after-cherry-pick-work
git reflog
git reset HEAD@{index before the amend}
git commit ...
-
-
http://stackoverflow.com/questions/1459150/how-to-undo-git-commit-amend-done-instead-of-git-commitSomething wrong
git reflog
# you will see a list of every thing you've done in git, across all branches!
# each one has an index HEAD@{index}
# find the one before you broke everything
git reset HEAD@{index}
# magic time machine
I accidentally committed to the wrong branch!
# undo the last commit, but leave the changes available
git reset HEAD~ --soft
git stash
# move to the correct branch
git checkout name-of-the-correct-branch
git stash pop
git add . # or add individual files
git commit -m "your message here"
# now your changes are on the correct branch
Oui, quelqu'un paie un nom de domaine chaque année pour ça. Merci quand même :-)
-
-
http://ohshitgit.com/Excellent petit outil pour browser des repo Git via le Web.
-
-
https://wiki.archlinux.org/index.php/CgitPour partager un repository Git entre Windows et Linux, j'utilise ces configurations dans mon ~/.gitconfig.
Pour Windows (on ne touche pas aux permissions des fichiers, on transforme les éventuels \r\n en \n à chaque commit mais sans les modifier dans notre workspace)
git config --global core.filemode false
git config --global core.autocrlf true
Pour Linux (on commit aussi les permissions des fichiers, et on transforme les éventuels \r\n en \n dans notre workspace)
git config --global core.filemode true
git config --global core.autocrlf input
Et je vérifie que ces paramètres ne sont pas présents dans les .git/config de chacun de mes projets.
-
-
http://git-scm.com/book/fr/v1/Personnalisation-de-Git-Configuration-de-GitA utiliser avec parcimonie, mais c'est bien pratique.
-
-
https://help.github.com/articles/remove-sensitive-data/Y a plus qu'à !
-
-
http://www.git-attitude.fr/2014/05/04/bien-utiliser-git-merge-et-rebase/Ma configuration de Git.
-
-
http://30minparjour.la-bnbox.fr/2014/configuration-gitTrès bonne ressource : Linux, Symfony2, SVN, Git, ...
via nicosombs
-
-
http://www.guidella.com/General/liste.htmlComment supprimer un tag dans Git :
git tag -d myTag
Comment supprimer un tag remote dans Git (i.e. qui a été pushé sur un repository remote. Dans la plupart des cas il n'y en a qu'un seul nommé "origin") :
git push origin :refs/tags/myTag
Pour mémoire, pour pusher un tag sur le remote :
git push origin myTag
Ouf !
-
-
http://nathanhoad.net/how-to-delete-a-remote-git-tagLe livre Git (en français comme en anglais) est toujours aussi chouette. Aujourd'hui c'est une bonne explication sur les tags. Pour plus d'info : git help tag.
(via http://sebsauvage.net/links/?o0AQ0w)
-
-
http://git-scm.com/book/fr/Les-bases-de-Git-%C3%89tiquetageDepuis que je suis obligé de jouer avec les repository "remote" avec Git (puisqu'on je suis sur un projet qui n'a pas encore de repository remote centralisé à la Github, donc on s'échange des des repository "bare" par email), je maîtrise bien mieux Git ! Et je comprends beaucoup mieux ce que signifie réellement un pull/push, même un commit et les 3 états possibles des fichiers locaux. C'est incroyable de souplesse ce système.
-
-
http://snippet.la-bnbox.fr/snippetvamp.php?tag=GitUn bon use case d'amélioration d'un composant PHP existant et de la manière de pusher la modification (et de l'utiliser). Si ça fonctionne avec PHP/Composer, Git et Github, cela reste applicable à d'autres technologies.
-
-
http://philsturgeon.co.uk/blog/2013/05/testing-contributing-composer-packagesDu coup j'ai traduit et agrémenté l'article.
-
-
http://30minparjour.la-bnbox.fr/2013/cygwin-ssh-agent-et-un-peu-de-gitToujours utile. Mais risqué lorsque le commit a déjà été pushé et que l'on travaille à plusieurs. Quand 40 personnes commit quotidiennement, il faut forcer son push à 2h du mat' pour éviter la panique :D
-
-
http://colibri-libre.org/liens/?Bg6jlAEn parlant de Pro Git : ce lien permet de télécharger la version française en PDF, ePub, et autre (version de mars 2012, ça a peut-être changé depuis).
La version "officielle" ne propose que la version anglaise : http://git-scm.com/book
-
-
http://djibril.developpez.com/tutoriels/conception/pro-git/Quand EGit d'Eclipse fait défaut, heureusement qu'il y a ce genre de ressources (en anglais c'est ici : http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging) pour éviter de faire des bêtises !
-
-
http://git-scm.com/book/fr/Les-branches-avec-Git-Brancher-et-fusionner%C2%A0%3A-les-bases