Outils pour utilisateurs

Outils du site


informatique:git

Table des matières

Git

Gestionnaire de code sources.

Voir aussi: gitlab, Gogs

http://git-scm.com

A successful Git branching model (January 05, 2010), This article talks about GIT as a tool for the versioning of source code and explains a sucessful branching and release management strategy (with a very comprehensive graph).

Pourquoi vous ne devriez pas utiliser la Fork Queue de GitHub. GitHub propose une fonctionnalité qui peut sembler magique : la fork queue. Cette fonctionnalité est en soi assez simple à expliquer : elle affiche à l'écran tous les commits faits dans des forks de votre projet et vous permet, en quelques clics, d'appliquer ceux-ci à votre version du projet. Vu comme cela, c'est assez sympa. En pratique, je vous déconseille de l'utiliser. Nous allons voir pourquoi et comment faire sans.
Il est possible d'utiliser la commande cherry-pick sans appliquer le commit immédiatement, de façon a lancer les tests avant de faire le commit. C'est utile si on doit extraire un commit qui se trouve aux milieux de plusieurs autres indésirable. — Yann Lugrin

gitlab pour héberger soit même.

Docs

Tips

Créer un dépôt depuis un projet existant

source: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line

git config user.name and user.email for local (not global) config, juste remove “–global” option ;-)

$ git config user.name "Your Name"
$ git config user.email "you@example.com"

Cancel last commit

Annuler le dernier commit :

$ git reset HEAD~

Cancel an add

Annuler le “git add” d'un fichier $ git reset <le_fichier>

Amend last commit

Juste pour changer le commentaire :

$ git commit --amend -m 'bla bla bla'

Pour ajouter un fichier :

$ git add le_fichier
$ git commit --amend

Force pull

Forcer le pull :

# downloads the latest from remote without trying to merge or rebase anything
$ git fetch --all
# resets the master branch to what you just fetched
git reset --hard origin/master

Faire un pull en conservant ses modifs

error: Your local changes to the following files would be overwritten by merge

La solution: mettre ses modifs de côté pendant le pull:

  $ git stash
  $ git pull
  $ git stash pop

Merge only a specific commit

Merger un seul commit - Parfois on veut merger un seul commit, mais il est situé après d'autres commit que l'on ne veut pas intégrer.

1. Retrouver le SHA du commit

$ git checkout branch-avec-le-commit
$ git log

2. Retourner dans la branche sur laquelle on souhaite appliquer le commit (merge)

$ git checkout branch-destination
$ git cherry-pick -n [Le SHA du commit]
$ git diff --cached # pour vérifier la modif
$ git commit -a -m “merge [SHA du commit]"

Create a Tag

Créer un tag

$ git tag -a v1.0 -m 'version 1.0 is the initial github import'

Et ne pas oublier de publier ce nouveau tag (par défaut créé localement):

$ git push origin v1.0

Delete a Tag

Pour supprimer une tag localement:

$ git tag -d release01

puis sur le remote:

$ git push origin --delete release01

ou

$ git push origin :refs/tags/release01

Create a Branch

Créer une branche

Créer la branche sur le remote
$ git push origin origin:refs/heads/nom_nouvelle_branche
Se connecter localement à la branch
$ git checkout nom_nouvelle_branche
$ git pull

Merge a Branch

Fusionner une branche.

Se rendre dans la branche « destination » :

git checkout destination

Intégrer le travail de la branche « autre_branche » :

git merge autre_branche

Tous les commits de la branche « autre_branche » se retrouvent maintenant dans « destination ».

Delete a Branch

On peut supprimer une branche « autre_branche » (si mergée dans master ou une autre branche).

Delete local:

git branch -d autre_branche

Delete remote:

git push origin --delete <branchName>

Tools

SmartGit

http://www.syntevo.com/smartgit/index.html

SmartGit is an efficient user interface for Git, focussing on simplicity and targeting non-experts and people who prefer a graphical application over command line usage.

The current version of SmartGit supports those Git features which are required for the every-day work in software development projects, most notably:

  • Virtually all local working tree operations
  • Status, diff, log
  • Push, pull, fetch (for all protocols)
  • Tag and branch management
  • Merge, cherry-pick, rebase
  • Stash management
  • Submodule support
  • Basic Git-SVN support (to use SmartGit as SVN client)
informatique/git.txt · Dernière modification: 13/05/2017 09:29 par cyrille