- Branches
- Récupérer un fichier de puis une autre branche
- Revenir a un commit
- Explorer les données d'un commit
- cesser de tracker un dossier
- Annuler les modifs d'un fichier
- Revenir à un certain commit pour un certain fichier
- Rebase la branche master
- show hitory of file
- git rename branch
- git push remote
- Supprimer des fichier dans un depot
- Renommer un vieux commit
- Rebase et priorité sur des conflits
- Récupérer une branche remote en local
versionning
Git
→ Branches
→ Récupérer un fichier de puis une autre branche
# cherche depuis la branche distante server le fichier bookmark
git checkout origin/server -- .w3m/bookmark.html
→ Revenir a un commit
Si j'ai fait fausse route et que j'ai poussé les modif en ligne, je peux revenir en arriere et faire de ce commit la version actuelle.
#retourner au commit f359
git revert --no-commit f359b96a1e1e680cf76ea06094e112b92b936b5e..HEAD
git commit
→ Explorer les données d'un commit
#retourner au commit f359
git checkout f359b96a1e1e680cf76ea06094e112b92b936b5e
# puis par exemple pour retourner dans la branche master
git checkout master
→ cesser de tracker un dossier
Ajouter au .gitignore le dossier. Puis lancer la commande:
git rm -r --cached <le-dossier>
cela ne supprimera pas le dossier
→ Annuler les modifs d'un fichier
git checkout -- fichier-a-annuler-les-modif
→ Revenir à un certain commit pour un certain fichier
git checkout <commit id> -- fichier-a-annuler-les-modif
→ Rebase la branche master
git checkout master
git fetch --all #cf https://www.reddit.com/r/git/comments/8j70vv/should_i_fetch_before_pull/
git pull
git checkout branche-de-travail
git rebase master # evite d'avoir les commit de master par dessus son history; ils seront mis avant les modifs de la branche
→ show hitory of file
git log -p filename
# OR
git show -2 filename # means number of history commit
→ git rename branch
this will rename the branch
git branch -m gitlab/dev gitlab-dev
→ git push remote
# this allows to push on an other remote, on the associated branch
git push <other-remote> <branch-to-push>
# this allows to push on a specific remote branch
git push <other-remote> <branch-to-push>:<other-branch-to-push-on>
→ Supprimer des fichier dans un depot
# permet de supprimer le fichier spark-meta/target/spark-meta-0.0.1.SNAPSHOT-shaded.jar
# de tout l´historique
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch spark-meta/target/spark-meta-0.0.1-SNAPSHOT-shaded.jar' --prune-empty --tag-name-filter cat -- --all
→ Renommer un vieux commit
En utilisant magit:
- désactiver les éventuels git-hooks (dans .git/hooks/pre-commit)
-
rebase (
r
) -
choisir --preserve-merge (
-p
) -
choisir rename commit (
w
) -
choisir
C-c C-c
et renommer le commit - éventuellement, gérer les conflits, puis continuer le rebase
→ Rebase et priorité sur des conflits
Par defaut, le rebase choisit les fichiers dans la branche yours. Il va écraser des éventuelles modifications locales. On peut changer ce comportement par defaut:
git rebase -X ours <branch>
→ Récupérer une branche remote en local
git checkout --track <remote>/<branch>
This page was last modified: