https://github.com/marek128b/git-cheat-sheet
https://github.com/marek128b/git-cheat-sheet
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/marek128b/git-cheat-sheet
- Owner: Marek128b
- Created: 2022-12-13T13:04:46.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-12-13T13:47:09.000Z (over 2 years ago)
- Last Synced: 2025-02-14T06:46:34.317Z (4 months ago)
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Git Cheat Sheet
**table of content**
- [Git Cheat Sheet](#git-cheat-sheet)
- [Git configuration](#git-configuration)
- [Starting A Project](#starting-a-project)
- [Day-To-Day Work](#day-to-day-work)
- [Synchronizing repositories](#synchronizing-repositories)
- [Git branching model](#git-branching-model)
- [Tagging known commits](#tagging-known-commits)
- [Reverting changes](#reverting-changes)
- [My Strategy](#my-strategy)## Git configuration
`$ git config --global user.name “Your Name”`
Set the name that will be attached to your commits and tags.
`$ git config --global user.email “[email protected]”`
Set the e-mail address that will be attached to your commits and tags.## Starting A Project
`$ git init [project name]`
Create a new local repository. If **project name** is provided, Git will
create a new directory name **project name** and will initialize a
repository inside it. If **project name** is not provided, then a new
repository is initialized in the current directory.
`$ git clone [project url]`
Downloads a project with the entire history from the remote repository.## Day-To-Day Work
`$ git status`
Displays the status of your working directory. Options include new,
staged, and modified files. It will retrieve branch name, current commit
identifier, and changes pending commit.
`$ git add [file]`
Add a **file** to the staging area. Use in place of the full file path to add all
changed files from the current directory down into the directory tree.
`$ git commit -m "[message]"`
Create a new commit from changes added to the staging area.
The commit must have a **message**!## Synchronizing repositories
`$ git fetch [remote]`
Fetch changes from the **remote**, but not update tracking branches.
`$ git pull [remote]`
Fetch changes from the **remote** and merge current branch with its
upstream.
`$ git push [--tags] [remote]`
ush local changes to the **remote**. Use **--tags** to push tags.
`$ git push -u [remote] [branch]`
Push local **branch** to **remote** repository. Set its copy as an upstream.## Git branching model
`$ git branch [-a]`
List all local branches in repository. With **-a**: show all branches
(with remote).
`$ git branch [branch_name]`
Create new branch, referencing the current HEAD.
`$ git checkout [-b][branch_name]`
Switch working directory to the specified branch. With **-b**: Git will
create the specified branch if it does not exist.
`$ git merge [from name]`
oin specified `[from name]` branch into your current branch (the one
you are on currently).
`$ git branch -d [name]`
Remove selected branch, if it is already merged into any other.
-D instead of -d forces deletion.## Tagging known commits
`$ git tag`
List all tags.
`$ git tag [name] [commit sha]`
Create a tag reference named **name** for current commit. `[Add commit
sha]` to tag a specific commit instead of current one.
`$ git tag -a [name] [commit sha`
Create a tag object named **name** for current commit.## Reverting changes
`$ git reset [--hard] [target reference]`
Switches the current branch to the **target reference**, leaving
a difference as an uncommitted change. When **--hard** is used,
all changes are discarded.
`$ git revert [commit sha]`
Create a new commit, reverting changes from the specified commit.
It generates an inversion of changes.## My Strategy
