awesome-cheatsheets/tools/git.txt

56 lines
2.8 KiB
Plaintext

git init >> initiates git in the current directory
git clone <address> >> creates a git repo from given address (get the address from your git-server)
===
git add file.txt >> adds(stages) file.txt to the git
git add * >> adds(stages) all new modifications, deletions, creations to the git
git reset file.txt >> Removes file.txt from the stage
git rm file.txt >> removes file.txt both from git and file system
git status >> shows the modifications and stuff that are not staged yet
===
git branch >> shows all the branches (current branch is shown with a star)
git branch my-branch >> creates my-branch
git branch -d my-branch >> deletes my-branch
git checkout my-bracnch >> switches to my-branch
git merge my-branch >> merges my-branch to current branch
===
git remote >> shows the remotes
git remote -v >> shows the remote for pull and push
git remote add my-remote <address> >> creates a remote (get the address from your git-server)
===
git log >> shows the log of commits
git commit -m 'msg' >> commit changes with a msg
git push my-remote my-branch >> pushes the commits to the my-remote in my-branch (does not push the tags)
===
git tag >> shows all the tags
git tag -a v1.0 -m 'msg' >> creates an annotated tag
git show v1.0 >> shows the description of version-1.0 tag
git tag --delete v1.0 >> deletes the tag in local directory
git push --delete my-remote v1.0 >> deletes the tag in my-remote (be carefore to not delete a branch)
git push my-remote my-branch v1.0 >> push v1.0 tag to my-remote in my-branch
git fetch --tags >> pulls the tags from remote
===
git pull my-remote my-branch >> pulls and tries to merge my-branch from my-remote to the current branch
===
git stash >> stashes the staged and unstaged changes (git status will be clean after it)
git stash -u >> stash everything including new untracked files (but not .gitignore)
git stash save 'msg' >> stash with a msg
git stash list >> list all stashes
git stash pop >> delete the recent stash and applies it
git stash stach@{2} >> delete the {2} stash and applies it
git stash show >> shows the description of stash
git stash apply >> keep the stash and applies it to the git
git stash branch my-branch stash@{1} >> creates a branch from your stash
git stash drop stash@{1} >> deletes the {1} stash
git stash clear >> clears all the stash
===
.gitignore
>> is a file including names of stuff that you don't want to be staged or tracked.
>> You usually keep your local files like database, media, and etc here.
>> You can find good resources online about ignoring specific files in your project files.
>> .gitignore is also get ignored
.git
>> is a hiiden directory in repo directory including git files. It is created after "git init".