Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
prog:git [2024/01/19 16:06] – [bash] : remplacement de "git diff-index --name-only HEAD --" par "git update-index --refresh" root | prog:git [2024/12/28 22:06] (Version actuelle) – Ajout de "error: object file .git/objects/a3/02c397c3b0c0c8959b35778c1705a89108fdb2 is empty" root |
---|
git config --global lfs.locksverify true | git config --global lfs.locksverify true |
</code> | </code> |
| |
| [[prive:prog:git|Données privées]] |
| |
Si le dépôt demande constamment le mot de passe, il faut soit configurer l'utilisation de clés privées / publiques SSH et utiliser le protocole ''git@'', soit stocker les mots de passe (en clair sur le disque) et utiliser ''https:%%//%%'' : | Si le dépôt demande constamment le mot de passe, il faut soit configurer l'utilisation de clés privées / publiques SSH et utiliser le protocole ''git@'', soit stocker les mots de passe (en clair sur le disque) et utiliser ''https:%%//%%'' : |
</code> | </code> |
| |
Pour utiliser ''git diff-index --name-only HEAD --'', il est nécessaire d'appeler ''git update-index --refresh''. [[https://stackoverflow.com/questions/34807971/why-does-git-diff-index-head-result-change-for-touched-files-after-git-diff-or-g|Why does git diff-index HEAD result change for touched files after git diff or git status?]] {{ :prog:git:why_does_git_diff-index_head_result_change_for_touched_files_after_git_diff_or_git_status_-_stack_overflow_1_19_2024_4_04_53_pm_.html |Archive du 15/01/2016 le 19/01/2024}} | Pour utiliser ''%%git diff-index --name-only HEAD --%%'', il est nécessaire d'appeler ''%%git update-index --refresh%%''. [[https://stackoverflow.com/questions/34807971/why-does-git-diff-index-head-result-change-for-touched-files-after-git-diff-or-g|Why does git diff-index HEAD result change for touched files after git diff or git status?]] {{ :prog:git:why_does_git_diff-index_head_result_change_for_touched_files_after_git_diff_or_git_status_-_stack_overflow_1_19_2024_4_04_53_pm_.html |Archive du 15/01/2016 le 19/01/2024}} |
| |
* Si des fichiers non ignorés ont été ajoutés | * Si des fichiers non ignorés ont été ajoutés |
Checking objects: 100% (812/812), done. | Checking objects: 100% (812/812), done. |
missing tree 2a9e451f85ba5e26dbe34d742105e877b0942570 | missing tree 2a9e451f85ba5e26dbe34d742105e877b0942570 |
| </code> |
| |
| ====Savoir à quel commit appartient un blob==== |
| |
| <code bash> |
| git log --raw --all --find-object=<blob hash> |
| </code> |
| |
| et pour un objet LFS |
| |
| <code bash> |
| git log -S<SHA> |
| </code> |
| |
| ====Avoir tous les enfants d'un commit==== |
| |
| <code bash> |
| find_descendants() { |
| local sha=$1 |
| line=$(git rev-list --all --children | grep ^$sha) |
| |
| if [[ $line == *" "* ]]; then |
| children=$(echo $line | cut -d' ' -f2-) |
| for child in $children; do |
| echo $child |
| find_descendants $child |
| done |
| fi |
| } |
| |
| find_descendants $1 |
</code> | </code> |
====Suppression des dangling blobs==== | ====Suppression des dangling blobs==== |
[[https://stackoverflow.com/questions/23885449/unable-to-resolve-unable-to-get-local-issuer-certificate-using-git-on-windows|Unable to resolve "unable to get local issuer certificate" using git on Windows with self-signed certificate]] {{ :prog:git:unable_to_resolve_unable_to_get_local_issuer_certificate_using_git_on_windows_with_self-signed_certificate_-_stack_overflow_27_02_2023_16_06_21_.html |Archive du 27/05/2015 le 27/02/2023}} | [[https://stackoverflow.com/questions/23885449/unable-to-resolve-unable-to-get-local-issuer-certificate-using-git-on-windows|Unable to resolve "unable to get local issuer certificate" using git on Windows with self-signed certificate]] {{ :prog:git:unable_to_resolve_unable_to_get_local_issuer_certificate_using_git_on_windows_with_self-signed_certificate_-_stack_overflow_27_02_2023_16_06_21_.html |Archive du 27/05/2015 le 27/02/2023}} |
| |
| ====fatal: unable to access 'xxxxx.git/': error setting certificate file: xxxx\CI_SERVER_TLS_CA_FILE==== |
| |
| L'option ''credential.helper'' est configuré à ''store'' et le mot de passe défini dans le fichier ''.git-credentials'' est faux. |
| |
| ====error: object file .git/objects/a3/02c397c3b0c0c8959b35778c1705a89108fdb2 is empty==== |
| |
| Pour éviter de devoir tout cloner à nouveau et devoir tout recompiler, il faut tester : |
| |
| <code bash> |
| find .git/objects/ -size 0 -delete |
| git fetch |
| </code> |
| |
| [[https://stackoverflow.com/questions/4111728/how-do-i-deal-with-corrupted-git-object-files|How do I deal with corrupted Git object files?]] {{ :prog:git:how_do_i_deal_with_corrupted_git_object_files_-_stack_overflow_28_12_2024_22_04_15_.html |Archive du 06/11/2010 le 28/12/2024}} |
=====Windows===== | =====Windows===== |
[[https://gitforwindows.org|Site Web]], {{ :prog:git:git-2.21.0-64-bit.exe |Archive git gui 64 bit 2.21.0 (26/02/2019)}} | [[https://gitforwindows.org|Site Web]], {{ :prog:git:git-2.21.0-64-bit.exe |Archive git gui 64 bit 2.21.0 (26/02/2019)}} |