Table des matières
- 2026:
- 2025:
1 billet(s) pour avril 2026
| Notes ping ICMP | 2026/04/03 23:01 | Jean-Baptiste |
Notes GIT
Voir :
Voir aussi :
Clients graphiques :
- gitg
- gitk
- qgit
- tig (console)
- git-cola
Basic
Voir :
- Oh My Git!
Git
Undo uncommited
git checkout -f
will remove any non-committed changes.
Par exemple pour annuler un pb de merge
Undo commit
IF you have NOT pushed your changes to remote
git reset HEAD~1
Check if the working copy is clean by git status
ELSE you have pushed your changes to remote
git revert --no-commit HEAD
This command will revert/remove the local commits/change and then you can push
Revert multiple commits
git log --oneline
A <-- B <-- C <-- D <-- master <-- HEAD
git revert --no-commit D git revert --no-commit C git revert --no-commit B git commit -m "the commit message for all of them"
ou
git reset --hard A git reset --soft D # (or ORIG_HEAD or @{1} [previous location of HEAD]), all of which are D git commit
ou
git revert --no-commit HEAD~3.. git revert master~3..master # Revert all commits from and including B to HEAD, inclusively git revert --no-commit B^..HEAD git commit -m 'message'
ou
git reset --hard <hash> git push -f
check before git push
#git diff --stat --cached [remote/branch] git diff --stat --cached origin/master
or
git push --dry-run
For the code diff of the files to be pushed, run:
git diff [remote repo/branch]
To see full file paths of the files that will change, run:
git diff --name-only [remote repo/branch] # Ou encore git diff --name-status [remote repo/branch] git diff --numstat [remote repo/branch]
Git workflow
Voir :
- Git-flow
Configurer son environnement
~/.bashrc
export PS1='\u@\h:\w$(__git_ps1) \$ ' export GIT_PS1_SHOWDIRTYSTATE=1 GIT_PS1_SHOWSTASHSTATE=1 GIT_PS1_SHOWUNTRACKEDFILES=1 export GIT_PS1_SHOWUPSTREAM=verbose GIT_PS1_DESCRIBE_STYLE=branch
git config --global status.submoduleSummary true
Create a new repository on the command line
touch README.md git init git add README.md git commit -m "first commit" git remote add origin git@git.acme.fr:jean/docker-dokuwiki.git git push -u origin master
Push an existing repository from the command line
git remote add origin git@git.acme.fr:jean/docker-dokuwiki.git git push -u origin master
Change remote location
git remote set-url ssh://gogs@new.acme.fr/user/projet git remote set-url origin ssh://git@new.acme.fr/user/projet ssh://git@old.acme.fr/user/projet git remote set-url --push origin ssh://git@new.acme.fr/user/projet
Git grep
Search the working directory for foo()
git grep "foo()"
Branches et merge
Créer une nouvelle branche locale
# Créer la branch git branch bugfix1 # Travailler dans la branch spécifiée git checkout bugfix1
ou
git checkout -b bugfix1
Checkout a remote Git branch
$ git fetch $ git branch -v -a ... remotes/origin/dev $ git checkout dev
By using the --track parameter, you can use a remote branch as the basis for a new local branch; this will also set up a “tracking relationship” between the two:
git checkout -b new-branch --track origin/develop
git add plop git commit -m “+ plop”
Commiter la nouvelle branche / créer une branche distante
git push --set-upstream origin bugfix1
Revenir à la branche master
git checkout master
Clonner une branche spécifique
git clone -b bugfix1 https://gogs.belaris.fr/BELARIS/test01
git reflog avec date
git reflog --date=iso git reflog --pretty=short --date=iso
Merge without autocommit
git merge mabranch --no-commit --no-ff #ou git merge mabranch --squash
Merge - rebase
Voir
Merge vs Merge : https://git-flow.readthedocs.io/fr/latest/presentation.html
git pull --rebase
Ou pour configurer le rebase par défaut après un pull
git config --global pull.rebase true
Si conflits
git add plop git rebase --continue
Si trop compliqué annuler :
git rebase --abort
Annuler un merge
Jetez un oeil
git reflog --date=iso # ou git log -g
Puis
git reset --hard <commit_before_merge> # Retour au commit précedent git reset --hard HEAD~1 #Ou pour une branche git reset --hard origin/mabranch
Autre
Connaître la version du dépôt - Current version
git describe --tags
Log history
git log --oneline --graph --color --all --decorate
Autres
git push warning: push.default n'est pas défini ; sa valeur implicite a changé dans Git 2.0 de 'matching' vers 'simple'. Pour supprimer ce message et maintenir le comportement actuel après la modification de la valeur de défaut, utilisez : git config --global push.default matching Pour supprimer ce message et adopter le nouveau comportement maintenant, utilisez : git config --global push.default simple Quand push.default vaudra 'matching', git poussera les branches locales sur les branches distantes qui existent déjà avec le même nom. Depuis Git 2.0, Git utilise par défaut le comportement plus conservatif 'simple' qui ne pousse la branche courante que vers la branche distante correspondante que 'git pull' utilise pour mettre à jour la branche courante. Voir 'git help config' et chercher 'push.default' pour plus d'information. (le mode 'simple' a été introduit dans Git 1.7.11. Utilisez le mode similaire 'current' au lieu de 'simple' si vous utilisez de temps en temps d'anciennes versions de Git)
warning: Pulling without specifying how to reconcile divergent branches is discouraged. You can squelch this message by running one of the following commands sometime before your next pull: git config pull.rebase false # merge (the default strategy) git config pull.rebase true # rebase git config pull.ff only # fast-forward only You can replace "git config" with "git config --global" to set a default preference for all repositories. You can also pass --rebase, --no-rebase, or --ff-only on the command line to override the configured default per invocation.
https://www.grafikart.fr/tutoriels/checkout-revert-reset-586 https://www.youtube.com/watch?v=rP3T0Ee6pLU&feature=emb_rel_end
https://www.youtube.com/watch?v=2zAtE4hnBao&list=PLtAnN3kwIVucWlr1pyfnmw8qCNaq0tusi&index=2
https://ohshitgit.com/ https://perso.liris.cnrs.fr/pierre-antoine.champin/enseignement/intro-git/ https://rogerdudler.github.io/git-guide/index.fr.html
https://delicious-insights.com/fr/articles/bien-utiliser-git-merge-et-rebase/ git pull --rebase git rebase origin/master
postconf -e smtpd_client_restrictions='permit_mynetworks, check_client_access hash:/etc/postfix/client_checks, check_sender_access hash:/etc/postfix/sender_checks'
dontreply@mass.datingfactory.com
https://www.miximum.fr/blog/enfin-comprendre-git/ https://www.miximum.fr/blog/git-rebase/
Les branches https://git-scm.com/book/fr/v2/Les-branches-avec-Git-Les-branches-en-bref https://git-scm.com/book/fr/v2/Les-branches-avec-Git-Branches-et-fusions%C2%A0%3A-les-bases
RESET https://www.atlassian.com/fr/git/tutorials/undoing-changes https://makina-corpus.com/blog/metier/archives/git-annuler-proprement-un-commit-apres-un-push https://alexgirard.com/git-book/intermediaire/repair-reset-checkout-revert/ https://opensource.com/article/18/6/git-reset-revert-rebase-commands https://docs.gitlab.com/ee/university/training/topics/rollback_commits.html
STASH https://git-scm.com/book/fr/v2/Utilitaires-Git-Remisage-et-nettoyage
REBASE https://openclassrooms.com/fr/courses/5641721-utilisez-git-et-github-pour-vos-projets-de-developpement/6113081-modifiez-vos-branches-avec-rebase https://riptutorial.com/fr/git/example/3282/rebase-interactif https://delicious-insights.com/fr/articles/bien-utiliser-git-merge-et-rebase/
Un git pull revient à
git fetchgit merge
git add . # Idem mais en plus inclus des supression git add --all
- # Checkout the stable branch and find just the latest tag
- git checkout master
- git describe --abbrev=0 --tags
- git tag --sort
undo git add
git reset HEAD -- plop # ou git reset -- plop # ou git rm --cached plop #Suprimer le stagging git reset
Status
git status -s
Git log pour toutes les branches locales
git reflog git log --all
Historique des modifications pour un fichier précis.
git log --oneline -p README.md
Information sur un commit précis
git show 3717
Modifier le dernier message du commit
git commit --amend
Diff de la branche avec master
git diff origin/master
Diff entre branches
git diff --name-only dev1..dev2 git difftool -y -t vimdiff dev1 dev2 .gitlab-ci.yml
Annuler proprement un commit sans altérer l'historique des commits
git revert --no-commit 55dbdf
Une alternative
git checkout <commit hash> git checkout -b new_branch_name
Autre une alternative Normalement ne marche que dans une branche. Permet de changer l'history, de squash, effacer…
git rebase -i HEAD~3
Rejouer un commit spécifique / undo git revert
git cherry-pick 55dbdf
Effacer une branche distante
git push origin --delete branchy
Plop
git checkout master git pull origin master git checkout my-branch git merge master
submodule
Voir
git clone git@acme.fr:toto/plop.git cd plop git submodule update --init --recursive # Ou git clone --recurse-submodules git@acme.fr:toto/plop.git
Mise à jour submodule
git submodule update module/ cd module git pull origin master
Si commit par erreur d'un submodule
git submodule update --force
Affichage plus explicite de la commande git status
git config --global status.submoduleSummary true
Mise à jour - faire pointer le submodule sur la branche master
git submodule foreach git pull origin master
Avec Gitlab CI Voir : https://docs.gitlab.com/ee/ci/git_submodules.html
.gitlab-ci.yml
variables: GIT_SUBMODULE_STRATEGY: recursive
Diagnostique
export GIT_TRACE=2 export GIT_CURL_VERBOSE=2 export GIT_TRACE_PERFORMANCE=2 export GIT_TRACE_PACK_ACCESS=2 export GIT_TRACE_PACKET=2 export GIT_TRACE_PACKFILE=2 export GIT_TRACE_SETUP=2 export GIT_TRACE_SHALLOW=2
Autres
Lol / Lola
git config --global alias.lol "log --graph --decorate --pretty=oneline --abbrev-commit" git config --global alias.lola "log --graph --decorate --pretty=oneline --abbrev-commit --all"
clone --depth 1 $URL fetch --unshallow $URL
Python
Voir aussi :
- pygit2
reuirements.txt
GitPython
#! /usr/bin/python3 import os import urllib.parse from git import Repo mdp=urllib.parse.quote('P@ssw0rd!', safe='') if os.path.isdir('/tmp/clone'): repo = Repo('/tmp/clone') repo.remotes.origin.pull() else: repo = Repo.clone_from(f'https://user1:{mdp}@git.acme.local/user1/test01.git', '/tmp/clone', depth=1) repo.index.add('plop.txt') repo.index.commit('commit msg') #origin = repo.remotes[0] #origin = repo.remotes['origin'] origin = repo.remotes.origin origin.push()
Pb
pb git reset --hard ne fonctionne pas
Solution
Utiliser git checkout HEAD
#git reset --hard vars/phy-deb9-fr.var git checkout HEAD vars/phy-deb9-fr.var
Err: unknown revision or path not in the working tree.
$ git reset preseed/kvm-deb10.cfg vars/netinst-deb8-11.var fatal: ambiguous argument 'preseed/kvm-deb10.cfg': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<yourcode>...]'
Solution
git checkout HEAD -- vars/kvm-deb10.var preseed/kvm-deb10.cfg
Pb git diff et git difftool ne fonctionne pas
Solution
Utiliser l'option --cached
git difftool --cached
Ou encore
git difftool HEAD
Notes git Trac
-
- Renommer un compte
- Création d'un admin pour la gestion de compte (ACCTMGR_USER_ADMIN) différent de TRAC_ADMIN
Voir plugins :
Pour les tickets voir aussi :
apt-cache search trac | grep ^trac- | grep -v 'transitional dummy package'
Bugs :
Besoin :
- Groupes
- Ticket Parent / Enfant
- Notification par mail
- Traduction complète en français
- Traduction Workflow
Install
Dépendance
# pysqlite setuptools Genshi babel docutils Pygments pytz
sudo apt-get install python-pysqlite2 apache2-utils sqlite3 python-setuptools easy_install --user pip export PATH=$PATH:$HOME/.local/bin pip install --user --upgrade pip pip install --user Genshi babel docutils Pygments pytz pip install --user trac trac-admin projet1 initenv cd projet1 htpasswd -c .htpasswd jean trac-admin /home/jean/trac/projet1 permission add jean TRAC_ADMIN
Lancement
tracd -p 8000 --pidfile=/var/run/z_trac-8000.pid --basic-auth="projet1,projet1/.htpasswd,acme.fr" --protocol=http -s ~/projet1
trac.ini
[trac] repository_type = git repository_dir = /home/jean/trac/repo/.git [components] tracopt.versioncontrol.git.* = enabled [logging] log_level = WARN
On efface les pages Wiki par défaut
trac-admin ~/trac/projet1 'wiki remove *'
Config compte utilisateur Jean
trac-admin ~/trac/projet1 'session set email jean jean@acme.fr' trac-admin ~/trac/projet1 'session set name jean "Prenom NOM"'
Un peu de français
trac-admin ~/trac/projet1 'ticket_type change task Tâche' trac-admin ~/trac/projet1 'ticket_type change defect Incident' trac-admin ~/trac/projet1 'ticket_type change enhancement Amélioration' trac-admin ~/trac/projet1 'priority change blocker Bloquant' trac-admin ~/trac/projet1 'priority change critical Critique' trac-admin ~/trac/projet1 'priority change major Majeur' trac-admin ~/trac/projet1 'priority change minor Mineur' trac-admin ~/trac/projet1 'resolution change fixed Résolut' trac-admin ~/trac/projet1 'resolution change wontfix Rejeté' trac-admin ~/trac/projet1 'resolution change duplicate Doublon'
Racine du site sur Wiki, ou Ticket ou autre
trac.ini
[trac] #default_handler = TicketModule default_handler = WikiModule
Changement des droits par défauts
trac-admin trac/projet1 'permission remove anonymous BROWSER_VIEW' trac-admin trac/projet1 'permission remove anonymous CHANGESET_VIEW' trac-admin trac/projet1 'permission remove anonymous FILE_VIEW' trac-admin trac/projet1 'permission remove anonymous LOG_VIEW' trac-admin trac/projet1 'permission remove anonymous MILESTONE_VIEW' trac-admin trac/projet1 'permission remove anonymous REPORT_SQL_VIEW' trac-admin trac/projet1 'permission remove anonymous REPORT_VIEW' trac-admin trac/projet1 'permission remove anonymous ROADMAP_VIEW' trac-admin trac/projet1 'permission remove anonymous SEARCH_VIEW' trac-admin trac/projet1 'permission remove anonymous TICKET_VIEW' trac-admin trac/projet1 'permission remove anonymous TIMELINE_VIEW' #trac-admin trac/projet1 'permission remove anonymous WIKI_VIEW' trac-admin trac/projet1 'permission add authenticated TICKET_VIEW' #trac-admin trac/projet1 'permission add authenticated WIKI_VIEW' trac-admin trac/projet1 'permission add jean BROWSER_VIEW' trac-admin trac/projet1 'permission add jean CHANGESET_VIEW' trac-admin trac/projet1 'permission add jean FILE_VIEW' trac-admin trac/projet1 'permission add jean LOG_VIEW' trac-admin trac/projet1 'permission add jean MILESTONE_VIEW' trac-admin trac/projet1 'permission add jean REPORT_SQL_VIEW' trac-admin trac/projet1 'permission add jean REPORT_VIEW' trac-admin trac/projet1 'permission add jean ROADMAP_VIEW' trac-admin trac/projet1 'permission add jean SEARCH_VIEW' trac-admin trac/projet1 'permission add jean TICKET_VIEW' trac-admin trac/projet1 'permission add jean TIMELINE_VIEW' # Autoriser tous les utilisateurs authentifié à changer le champ Description des tickets trac-admin ~/trac/projet1 'permission add authenticated TICKET_EDIT_DESCRIPTION' # Autoriser l'utilisateur jean à modifier les commentaires des tickets trac-admin ~/trac/projet1 'permission add jean TICKET_EDIT_COMMENT'
Gestion plus fine des droits
Installation PrivateTicketsPlugin
easy_install -Z -U --user https://trac-hacks.org/svn/privateticketsplugin/
trac.ini
[privatetickets] group_blacklist = anonymous, authenticated, labusers [components] privatetickets.* = enabled [trac] permission_policies = PrivateTicketsPolicy, DefaultPermissionPolicy, LegacyAttachmentPolicy
# Il faut garder TICKET_VIEW ! # permission remove authenticated TICKET_VIEW # Il faut aussi garder TICKET_MODIFY si l'utilisateur doit pouvoir éditer ses tickets # permission remove authenticated TICKET_MODIFY trac-admin trac/projet1 'permission add authenticated TICKET_VIEW_OWNER' trac-admin trac/projet1 'permission add authenticated TICKET_VIEW_SELF'
Logo
Placer logo.png dans projet1/htdocs/logo.png
trac.ini
[header_logo] alt = ACME logo height = 53 link = /report/8 src = site/logo.png width = 393
Thème
Cacher les liens vers le guide d'utilisation.
Ne pas montrer les différents liens vers les pages d'aide. Ceci permet de réduire la verbosité des pages.
Hide help links. Don't show the various help links. This reduces the verbosity of the pages.
Config derrière Nginx en proxy
Voir :
Bloquons le port depuis extérieure
iptables -A INPUT -i venet0 -p tcp -m tcp --dport 8000 -j REJECT
Pour rendre les règles persistantes
apt-get install iptables-persistent
/etc/nginx/sites-available/trac
upstream trac_backend { server 127.0.0.1:8000; #server 127.0.0.1:8001; #server 127.0.0.1:8002; } server { listen 80; server_name trac.acme.fr ; access_log /var/log/nginx/trac-acme.log ; error_log /var/log/nginx/trac-acme-error.log info; location / { rewrite ^/(.*)$ https://trac.acme.fr/$1 redirect; } } server { listen 443; server_name trac.acme.fr; access_log /var/log/nginx/trac-acme-ssl.log ; error_log /var/log/nginx/trac-acme-ssl-error.log info; client_max_body_size 4M; ssl on; ssl_certificate /etc/ssl/private/wiki.acme.fr.crt; ssl_certificate_key /etc/ssl/private/wiki.acme.fr.key; ssl_session_timeout 5m; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!aNULL:!eNULL:!LOW:!EXP:!RC4:!3DES:+HIGH:+MEDIUM; ssl_dhparam /etc/ssl/private/dh2048.pem; add_header Strict-Transport-Security max-age=2678400; add_header Front-End-Https on; location / { proxy_pass http://trac_backend; include /etc/nginx/proxy_params; # my system doesn't have the proxy.conf file so I needed to add the following two lines to get redirects working: # proxy_set_header Host $host; } }
ln -s /etc/nginx/sites-available/trac /etc/nginx/sites-enabled/
Config des modules / extensions
TestManager
http://sourceforge.net/projects/testman4trac/
Voir https://www.youtube.com/watch?v=BIi3QMT0rT4
Ordre d'installation des extensions
- TracGenericClass
- TracGenericWorkflow
- TestManager
Gestion de plusieurs clients
# Comme le plugin est sur un dépôt SVN nous avons besoin du /usr/bin/svn sudo apt-get install subversion # Dépendance de ce plugin sudo apt-get install python-lxml easy_install -Z -U --user https://trac-hacks.org/svn/clientsplugin/trunk/
Désactivation création de liens camelCase
trac.ini
[wiki] ignore_missing_pages = true
Création d'une date d'échéance (deadline)
Voir :
Création de champ personalisé
Ce plugin est intégré dans la nouvelle version de Trac
easy_install -U -Z --user https://trac-hacks.org/svn/customfieldadminplugin/0.11
trac.ini
[components] customfieldadmin.* = enabled
Ajout d'un type Date
https://trac-hacks.org/wiki/DateFieldPlugin
easy_install -U -Z --user https://trac-hacks.org/svn/datefieldplugin/1.0/
trac.ini
[components] datefield.* = enabled [ticket-custom] due_date = text due_date.date = true due_date.label = Echéance # special value <now> works with 1.0 branch only #due_date.value = <now> due_date.value = due_date.date_empty = true
Menu de navigation
Désactiver une rubrique
trac.ini
[metanav] help = disabled about = disabled # Cache API link (XmlRpcPlugin) rpc = disabled [mainnav] roadmap = disabled
Rubrique principale / Racine du site
trac.ini
[trac] #default_handler = WikiModule default_handler = TicketModule
Clients en ligne de commande
Cartman
https://tamentis.com/projects/cartman/
pip install --user git+https://github.com/tamentis/cartman ~/.local/bin/cm help
Tracshell
Voir :
easy_install --user pyyaml
Droits en écriture requis sur /usr/local/bin
pip install --user git+https://github.com/stefanv/tracshell-fixes
Programmation API
Perl
Python 3
import xmlrpc.client server = xmlrpc.client.ServerProxy("https://user:P@ssw0rd@trac.acme.fr/login/xmlrpc") multicall = xmlrpc.client.MultiCall(server) print( server.ticket.query('max=0') ) for t in server.ticket.query('max=0&status!=closed,format=count'): print(t); server.ticket.get(5) server.system.listMethods() print(server.system.methodHelp('ticket.query'))
Cloner un ticket
import xmlrpc.client s = xmlrpc.client.ServerProxy("https://user:P@ssw0rd@trac.acme.fr/login/xmlrpc") ticket=s.ticket.get(30) summary=ticket[3]["summary"] description=ticket[3]["description"] del ticket[3]["summary"] del ticket[3]["description"] del ticket[3]["_ts"] del ticket[3]["time"] del ticket[3]["changetime"] s.ticket.create(summary, description, ticket[3], False, datetime.datetime.now() )
Obtenir la liste des tickets ayant une échéance
#! /usr/bin/env python3 import datetime from operator import itemgetter, attrgetter import xmlrpc.client s = xmlrpc.client.ServerProxy("https://user:pass@trac.acme.fr/login/xmlrpc") Tickets = [] for num in s.ticket.query('max=0&due_date!=&status!=closed'): ticket=s.ticket.get(num); if 'due_date' in ticket[3].keys(): due_date=ticket[3]["due_date"] due_date=datetime.datetime.strptime(due_date, "%d/%m/%Y").strftime("%Y-%m-%d") else: due_date='' summary=ticket[3]["summary"] summary=summary.replace('\'', '') summary=summary.replace('"', '') summary=summary.replace(';', '') Tickets.append([num, due_date, summary]) for num, date, summary in sorted(Tickets, key=itemgetter(1), reverse=False): print(num, date, summary)
AWS Cloud S3FS
Voir :
S3 Alternatives
Voir :
- MinIO
- Scality-s3
- riakcs
- Zenko (multi-cloud)
- Garage S3
Voir aussi :
- Ceph
- IPFS
/etc/systemd/system/mnt-shared.mount
[Unit] Description=Partage S3 [Mount] What=bucketname Where=/mnt/shared Type=fuse.s3fs Options=_netdev,noatime,noexec,nosuid,nodev,allow_other,iam_role=auto,umask=0000,endpoint=eu-central-1,url=http://s3-eu-central-1.amazonaws.com Environment= "http_proxy=" "https_proxy=" # If supported by the version of systemd. Really necessary ? #LazyUnmount=True [Install] WantedBy=multi-user.target
Voir aussi : `use_xattr`
/etc/systemd/system/mnt-shared.automount
[Unit] Description=Automount Partage S3 Requires=network-online.target After=network-online.service [Automount] Where=/mnt/shared TimeoutIdleSec=10 [Install] WantedBy=multi-user.target
systemctl daemon-reload
systemctl disable mnt-shared.mount
systemctl enable mnt-shared.automount
Debug
systemctl status /mnt/shared journalctl -u /mnt/shared
killall s3fs killall -9 s3fs umount -l /mnt/shared systemctl stop mnt-shared.mount systemctl stop mnt-shared.automount s3fs bucketname /mnt/s3 -o endpoint=eu-central-1 -o url=http://s3-eu-central-1.amazonaws.com -o iam_role=auto -o dbglevel=info -o curldbg -d -f
Autres
Client S3
Voir :
- s3cmd
- s5cmd
- s3ql
Ansible
- name: service mount systemd: daemon_reload=yes name=mnt-shared.mount - name: service automount systemd: enabled=yes daemon_reload=yes name=mnt-shared.mount.automount
Scality-S3
MinIO
Config Firefox
Proxy
Downthemall Adblock Noscript Scriptish Unplug
userscript : http://userscripts.org/scripts/review/84291
search engine : yandex youtube seeks.fr
xpinstall.enabled;false dom.allow_scripts_to_close_windows;false pref.advanced.javascript.disable_button.advanced;false services.sync.prefs.sync.pref.advanced.javascript.disable_button.advanced;false privacy.donottrackheader.enabled;true network.http.sendRefererHeader;0 geo.enabled;false network.dns.disableIPv6;true browser.safebrowsing.enabled;false browser.safebrowsing.malware.enabled;false media.autoplay.enabled;false
social.activation.whitelist; social.active;false social.enabled;false social.manifest.facebook; social.sidebar.open;false social.toast-notifications.enabled;false
network.http.pipelining;true network.http.pipelining.ssl;true network.http.proxy.pipelining;true
full-screen-api.approval-required;false
media.autoplay.enabled;false
- GIF animées
image.animation_mode none
- KDE
- ui.allow_platform_file_picker;false
- Pb redirection www.localhost.com
browser.fixup.alternate.enabled:false
Installer des modules non-signé xpinstall.signatures.required;false
change in about:config
browser.download.manager.scanWhenDone = false browser.send_pings = false dom.disable_window_open_feature.menubar = true dom.disable_window_open_feature.scrollbars = true intl.accept_charsets;utf-8 intl.accept_languages;en intl.charset.default;utf-8 intl.charsetmenu.browser.cache;UTF-8 keyword.enabled = false layout.css.visited_links_enabled = false network.http.sendRefererHeader;0 network.http.accept.default;*/* network.prefetch-next = false network.proxy.socks_remote_dns = true
- #
add to about:config (for faking the user agent)
new - string: general.useragent.override - value: Mozilla/5.0 (en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2
- #
change settings (in firefox 3.5 and higher first choose “user default” to change some settings)
javascript:disabled java: disabled history: disabled chronicle: disabled save data: disabled cookies: disabled clear private data: enabled (all) remember passwords: disabled offline storage: 0 mb cache
- #
search engines
delete / disable all
- #
add network settings
set manual proxy configuration to freenet-default http-proxy 127.0.0.1 port 8888 use this proxy server for all protocols You should put these changes in a separate profile and use this profile exclusively for …
Estimation du nom de domaine
https://support.mozilla.org/t5/Learn-the-Basics-get-started/Rechercher-sur-Internet-depuis-la-barre-d-adresse/ta-p/16797 browser.fixup.alternate.enabled = False
Désactiver la recherche sur le Web dans la barre d'adresse keyword.enabled= false
Auto-complétion de l'URL browser.urlbar.autoFill = True (default)
Notes git svn
Voir :
Config
Source : http://labs.excilys.com/2012/04/30/git-svn/
git svn init -s http://subversion-server/monprojet/
Changer
.git/config
[svn-remote "svn"] url = svn://serveur-svn:3690 fetch = monprojet/trunk:refs/remotes/origin/trunk branches = monprojet/branches/*:refs/remotes/origin/* tags = monprojet/tags/*:refs/remotes/origin/tags/*
En
.git/config
[svn-remote "svn"] url = svn://serveur-svn:3690/monprojet fetch = trunk:refs/remotes/svn/trunk branches = branches/*:refs/remotes/svn/branches/* tags = tags/*:refs/remotes/svn/tags/*
Récupération
git svn fetch
Utilisation
Commande locales normales (add, commit)
git commit -a -m "* test"
Push sur SVN
git svn fetch git svn rebase --dry-run git svn rebase git svn dcommit
Push sur git (si utilisation en parallèle d'un dépôt git)
git pull git push
Exemple - fichier .git/config
.git/config
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [svn-remote "svn"] url = svn://serveur-svn:3690/monprojet fetch = trunk:refs/remotes/svn/trunk branches = branches/*:refs/remotes/svn/branches/* tags = tags/*:refs/remotes/svn/tags/* [remote "origin"] url = ssh://git@git.acme.fr:443/ACME/monprojet fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
Migration
Voir https://git-scm.com/book/fr/v1/Git-et-les-autres-syst%C3%A8mes-Migrer-sur-Git
Clone du dépôt subversion
git svn clone svn://serveur-svn:3690/monprojet
The code will be available as a git repository. You can do your work there and make local commits as you please. There is a command line option to get a “shallow” checkout rather than the entire repository which is often useful. I forget what it is.
Anytime, you want to run the equivalent of
svn update, do a git svn rebase
. This will fetch new commits which were checked into SVN after you last synchronised and then rebase your changes onto the new tip.
When you're ready with your commits, do a git svn dcommit. This will send all your new commits to svn one by one. You can also squash your local commits into a single one and send it by first doing a local rebase and then an svn dcommit. This should be done on the initial branch (usually master).
The very fact that you're checking out from subversion and then working locally in git means that there is “interaction” between them so your last statement is not valid.
