Erreur de certificat avec git fetch

git

Lors d’un git fetch, si vous rentrez cette erreur :

server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

Si vous utilisez un serveur Git sur un réseau privé et que ce serveur utilise un certificat autosigné, il faut désactiver la vérification ssl sur votre poste avec la commande suivante.

git config http.sslverify "false"
Publié dans

Comment squasher les X derniers commits d’une branche git

git

Si l’on veut squasher un grand nombre de commits rapidement, et surtout si l’on veut conserver les messages de commit, voici comment faire ci-dessous :

Par exemple, pour les 20 derniers commits

git reset --soft HEAD~20
git commit --edit -m"$(git log --format=%B --reverse HEAD..HEAD@{1})"

Au moment du commit, on va retrouver les 20 messages de commits, et on pourra les éditer.

Publié dans

Comment faire du ménage dans vos branches git ?

Lorsque l’on travaille sur une application versionnée sur Git, il est normal de créer régulièrement des branches. Le problème, c’est que les branches inutiles ne sont pas toujours supprimées au fur et à mesure.

git

Comment faire du ménage dans vos branches git ?

Lister les branches

Lister les branches distantes, avec la date du dernier commit, triée par date de commit
for branch in `git branch -r | grep -v HEAD`; \
do echo -e `git show --format="%ci" \
$branch | head -n 1` \\t$branch; done | sort -r

2018-03-28 12:13:23 +0200 origin/master
2018-03-26 12:13:23 +0200 origin/develop
2018-03-26 11:14:05 +0200 origin/feature-new-button
2018-03-23 18:35:41 +0100 origin/feature-fix-css
2017-03-23 17:36:50 +0100 origin/feature-new-page
2016-02-09 12:11:53 +0100 origin/feature-process

Lister les branches en local, non mergées sur develop

En principe, ceux sont des branches qui ne doivent pas être supprimées, car elles n’ont pas été mergées sur la branche develop (choisir master dans la commande si vous n’utilisez pas de branche develop).

De plus, si vous avez squashé certaines branches après merge, elles peuvent se retrouver dans cette liste, même si vous l’avez mergée sur develop. Car lors d’un squash, le hash du commit change.

 git branch --no-merged develop 

 Une fois que vous avez ces listes de branches, il va falloir supprimer les branches qui vous paraissent inutiles !

Supprimer les références de branches distantes, pour lesquelles on n’a pas de branches locales

Pour voir la liste

git remote prune origin --dry-run

Pour supprimer les références

git remote prune origin
Supprimer une branche locale

Par exemple, la branche locale « feature/mybranch »

git branch -D feature/mybranch
Supprimer une branche distante

Par exemple, la branche distante « feature/mybranch », (il faut avoir les droits)

git push origin --delete feature/mybranch
Publié dans