Managing git with chrome¶
Chrome¶
Get in the right path, as: /home/git/siti/new_one and cast a git init:
git init --bare
Optionaly¶
Edit local description:
vim description
Remote¶
Get inside the folder that contains the repo and cast:
git init
Create a gitignore file inside .git in case something has to stay behind
vim .git/gitignore
Create a remote for chrome and set it as default:
git remote add origin git@chrome:path/name
git push -u origin master
New client¶
to clone the new repo cast:
git clone git@chrome:/home/git/siti/new_one
git clone --depth 1 git@chrome:/home/git/siti/new_one
Pubblicarlo su Zoo¶
Aggiungere dentro al .git il file:
touch git-daemon-export-ok
Per renderlo disponibile sia al Demone git che a git web:
cd /var/cache/git/
ln -s /home/git/garage/ ./
GUI¶
Come tool per vedere i diff installare kompare
, git difftool
per lanciarlo.
Come UI generale: git-cola
Esterni: gitkraken: https://www.gitkraken.com/download
apt-get install libgnome-keyring0
Ammend¶
# aggiungere al precedente commit
git commit --amend
Branches¶
# show the tre
git log --oneline --decorate --graph --all
# create
git branch -b hotfix
# delete
git branch -d hotfix
# eliminare sul server
git push origin --delete temp_branch
# non ancora merged
git branch --no-merged
# Seguire un branch presente sul remoto
# il riferimento e' visibile in git remote
git checkout -b dev origin/dev
# uguale a
git checkout --track origin/dev
git checkout dev
A
git branch -vv // vedere dove tirano e come sono messi
git fetch --all; git branch -vv
# Merge just one file from an other branch
git checkout --patch other_branch file
# Se il file non esiste nel branch di destinazione:
touch file
git add .
git checkout --patch other_branch file
Rebase¶
Si usa per aggiornare ad es. un branch di sviluppo a master in modo da poter proporre un merge lineare da master al proprio branch:
git checkout experiment
git rebase master
Dopodiche’ master potra’ fare un merge di experiment senza troppi casini.
Undo a commit¶
# go back one commit
git reset --hard HEAD^
# go back 3 commit
git reset --hard HEAD~3
# go back one commit for a file
git reset --hard HEAD^ file_name
A