# Git ![GitHub Logo](img/image.jpg) ## Usefull links [Git Cheat Sheet](https://education.github.com/git-cheat-sheet-education.pdf) ## Git System ![Git System](img/Git_Guide.png) ## Remote Execution ![Remote Execution](img/Remote_execution.png) ## Basic commands ================= ### Initialize an existing directory as a Git repository ```bash $ git init Initialized empty Git repository in C:/Users/Admin/Documents/Git/.git/ ``` ### Show modified files in working directory, staged for your next commit ```bash $ git status On branch master No commits yet Untracked files: (use "git add ..." to include in what will be committed) Readme.md image.jpg nothing added to commit but untracked files present (use "git add" to track) ``` ### Add a file as it looks now to your next commit (stage) ```bash $ git add Readme.md image.jpg ``` ### Commit your staged content as a new commit snapshot ```bash $ git commit -m "First Commit" [master (root-commit) 784ae2e] First Commit Committer: unknown Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 2 files changed, 61 insertions(+) create mode 100644 Readme.md create mode 100644 image.jpg ``` ### Set a name & email that is identifiable for credit when review version history ```bash $ git config --global user.name “[firstname lastname]” $ git config --global user.email “[valid-email]” ``` ### Show all commits in the current branch’s history ```bash $ git log commit 784ae2e2d10720c23eb7cebdf8386ef2157fe628 (HEAD -> master) Author: unknown Date: Thu Apr 1 12:11:34 2021 +0200 First Commit ``` ## TRACKING PATH CHANGES ### Versioning file removes and path changes ================================= Delete the file from project and stage the removal for commit >git rm [file] Change an existing file path and stage the move >git mv [existing-path] [new-path] Show all commit logs with indication of any paths that moved >git log --stat -M ## SHARE & UPDATE ### Retrieving updates from another repository and updating local repos ================================= ### History ```bash history 1 git init 2 git status 3 git add Readme.md image.jpg 4 git status 5 git commit -m "First Commit" 6 git config --global user.name vl4dd 7 git config --global user.email ticus@kraland.net 8 git commit -m "First Commit" 9 git status 10 git log 11 git commit -m "Second commit" 12 git add Readme.md 13 git commit -m "Second commit" 14 git log ``` ### Checker le satus > git status Ajouter un element dans la branche > git add Readme.md Commit les changement > git commit -m "First commit" Show all commit >git checkout Merge >git merge ## Setup ### Configuring user information used across all local repositories >git config --global user.name “[firstname lastname]” set a name that is identifiable for credit when review version history >git config --global user.email “[valid-email]” set an email address that will be associated with each history marker >git config --global color.ui auto set automatic command line coloring for Git for easy reviewing