# Git Commands and Instructions THE USUAL COMMAND FLOW IN ORDER AFTER SETTING UP REPOSITORY: ``` git status (check whether up to date) / and git pull git add . git commit -m "message" git push / or git push origin master ``` ## Git CLI ### Logging in Set up the username: ```git git config --global user.name "your_username" ``` Set up the e-mail adress: ```git git config --global user.email "your_email_address@example.com" ``` (You can also check Settings → Emails → "Keep my email addresses private", and see your `num+username@users.noreply.github.com` address on GitHub.) ### Repository preparation Clone from online repository: ```bash git clone https://github.com/user/repository ``` Or, if you're not cloning but already have a local repository: ```git git init ``` If you want to push to `main` instead of `master`, move to the branch beforehand: ```git git branch -M main ``` Add the repository to `origin` for future actions from the console (origin is the remote repository): ```git git remote add origin https://github.com/user/repository ``` ### Pushing and Committing Ways of adding files for committing: // Add all files: ```git git add . ``` // Add one file: ```git git add specific_file.cs ``` Commit with a message: ```git git commit -m "message" ``` Push to the branch: ```git git push -u origin master ``` ### Pulling and Reverting Change Checks whether branch is up to date: ```git git status ``` You can't push to a branch on which you don't have the latest updates, so before writing any code, always pull from the repository like this: ```git git pull ``` Reverting to a previous version (locally) pushed to git is possible with `git log` and then resetting using the specific ID of the push instance: ```git git log --oneline ... b764644 File with three lines 7c709f0 File with two lines 9ef9173 File with one line ``` ```git git revert 9ef9173 ``` OR, if you just want to revert the latest commit, ```git git revert HEAD ``` (You can then push these reverted files to the repo) ### Branching Switches to branch (changes must be committed before switching): ```git git checkout some_branch ``` Pulls from master branch (if you're on it, `git pull` will do) ```git git pull origin master ``` Checks branch you're on: ```git git branch ``` Lists branches: ```git git branch --list ``` Creates and pushes new branch: ```git= git branch new_branch git push -u origin new_branch ``` Creates and switches to new branch: ```git git checkout -b new_branch ``` Deletes branch: ```git git branch -d new_branch ``` ### Merging with master Switch to the master branch: ```git git checkout master ``` Update local master branch: ```git git fetch ``` Merge some_branch with master: ```git git merge some_branch ``` <br><br> Check [this](https://training.github.com/downloads/github-git-cheat-sheet/) and [this](https://www.freecodecamp.org/news/10-important-git-commands-that-every-developer-should-know/).