-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the git-cheat-sheet wiki!
Git as course:
- What is Git?
- Theoretical Git.
- How to install Git on your machine?
- Start using Git: Make a new project, create on file, then init a git repo. Then add it and commit it.
Creating Branches and switch between them.
Git log: to see and check all commits and Heads
Head: is the last commit in a branch.
Detached Head: is when you switch to one commit. this commit will be the detached head
Git ls-files: show all files in staging area
When you delete a file from working area, it still in staging area, you have also to delete it from the staging area.
To delete a file from the staging area, you have two ways:
-
git addthat will add all existing files to the staging area (under the hood will delete the deleted file) -
git rm <file_name>that will remove the delete file from the staging area
To delete the unstaged changes: git checkout/restore <file_name> // to delete unstaged changes in certain file git checkout/restore . to go back to last head.
To delete unstaged files: git clean -dn to see what would deleted. git clean -df to delete this file
Removing added chenges: there is two ways:
- old one: with two commands:
git reset <added_file_name>and thengit checkout <added_file_name> - new way: with two commands:
git restore --staged <added_file_name>and thengit checkout <added_file_name>
Removing commited changes:
- Soft remove: by running:
git reset --soft HEAD~<NUM OF steps back>// Soft means that all files will stay in staging area.
Example: If we have a release Branch, ad you forget to create a new feature branch, and committed your changes to release branch, what will you do in this case?
First you go back to the last commit in release branch by ranning: git reset --soft HEAD~1/<last_commit_id>. Now the HEAD is pointed to the last commit, and your changes are in the staging area. So next to do is creating a new feature branch and then commit the changes to this branch and then merge it to release branch.
Delete Branch:
-
git branch -d <Branch_name>: delete just merged branches. -
git branch -D <Branch_name>: Force to delete any branch.
Adding changes to an old commit (Detached HEAD): When you checkout to another old commit and then do changes th this commit and commit all changes, you have then to create a new branch and connect this changes to this branch by running: git branch <new-branch-name> <commit_id>
-
git --version: Check installed Git Version -
git init: create empty repository -
git status: Check working directory & staging area status -
git add <file_name> / .: Add single file or all files to staging area -
git commit -m "message": Create a new commit -
git checkout <commit_id>: Checkout commit (detached head) -
git branch / switch <branch_name>: Create a new branch without go to the new branch -
git checkout -b / switch -c <branch_name>: Create new branch and direct go to it -
git checkout <branch_name>: Go to branch -
git merge <other_branch>: merge branch with the other branch -
git rm <file_name>: delete a file from staging area -
git branch -D <branch_name>: Delete branch
-
git checkout .: Revert changes to the last state (Just for tracked files) -
git restore <file_name> / .: Revert changes to the last state (Just for tracked files) -
git clean -df: Revert changes to the last state (Just for untracked files)
-
git reset <file_name> / . & git checkout / restore <file_name> / .: Removing files from staging area -
git restore --staged <file_name> / . & git checkout / restore <file_name> / .: Removing files from staging area
-
git reset --soft HEAD~1: Undo the latest(~1) commit.