Basics
Bare basics
semantic versioning
clone
git clone <url>clone an arbitrary repository
add
git add .add all files to stage
commit
git commit -m "some commit message"commit staged changes with inline commit message
checkout -> switch
-
switch: git-scm.com
git switch -c <branch-name>create new branch and switch to it
-
checkout:
git checkout <branch-name>checkout the branch with given namegit checkout -b <branch-name>create and checkout a new branch with given name
remotes
git pushgit fetchgit pull
log
git log
--graphshow visual graph in the terminal--alllist all branches, not only current branch
alias in ~/.gitconfig:
[alias]
lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(auto)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)'
lg = lg1
config
local
git config user.email "your_email@abc.example"
git config user.name "Example Name"
filemode
ignore filemod:
git config (--global) core.fileMode false
lineend
on linux: git config --global core.autocrlf input
on windows: git config --global core.autocrlf true
to keep LF as end of line in the repo. check git docs
store credentials
- in plaintext in
~/.git-credentialsgit config --global credential.helper store- add personal accesstoken to credetinal files:
git credential approve << EOF protocol=https host=gitlab.com username=private-token password=<<your personal access token>> EOF - content in files:
# ~/.gitconfig [user] email = myMail@mymail.com name = Me [credential] helper = store # ~/.git-credentials https://private-token:............@gitlab.com - in cache
git config credential.helper 'cache --timeout=<timeout>'- timeout in seconds (default 900 sec)


No comments to display
No comments to display