diff --git a/tools/git.txt b/tools/git.txt new file mode 100644 index 0000000..eb0c1a7 --- /dev/null +++ b/tools/git.txt @@ -0,0 +1,55 @@ +git init >> initiates git in the current directory +git clone
>> 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
>> 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". + + +