Git

From Halfface
Jump to navigation Jump to search

Download a git repository

git clone git@www.halfface.se:project.git

clone git repository with other user and not trusted cert

env GIT_SSL_NO_VERIFY=true git clone https://user_name:P@ssW0rd@rb-gitlab01.int.redbridge.se/driften/ansible.git

which changes has occured

git status

commit changes

git commit -a -m "updated ..."

push changes upsteam

git push
git push origin master

list branches

List local and remote branches.

git branch -a

list remote branches.

git branch -r

Change branch

git checkout remotes/origin/code-18500

Change branch

git branch master

git pull

sync up against git head

git pull

list files from specific branch, e.g. master

git ls-tree -r master --name-only

If you want to get a list of all files that ever existed

git log --pretty=format: --name-status | cut -f2- | sort -u

show where git repository is coming from/source

git remote show origin

git list tags

git tag -n

git diff

Difference between tags.

git diff tag1 tag2

Only show name of changed files.

git diff --name-only tag1 tag2

List all sha1 codes for all objects

git rev-list --objects --all

git revert local changes

git reset --hard ; git clean -fd
git reset --hard origin/master ; git clean -fd

list tags containing commit

git tag --contains ${commit}

list dates in iso format

git log --date=iso ./lib/IPsoft/IPdiscover/Module/Ish/ApplicationServer.pm

look at content of file

git show 123131234242411fs1fds234fds14f1s4:/git/file.java

download specific version of file

git show af5bb0fe325300844195975a2f0c1f82979a7dd6:./git/search/path/file.txt > /temp/file.txt.af5bb0fe325300844195975a2f0c1f82979a7dd6

git gc

Compress and optimize git repository.

Return to master

git checkout master

git reflog

Reference logs, or "reflogs" are a mechanism Git uses to record updates applied to tips of branches and other commit references. Reflog allows you to go back to commits even though they are not referenced by any branch or tag. After rewriting history, the reflog contains information about the old state of branches and allows you to go back to that state if necessary. Every time your branch tip is updated for any reason (by switching branches, pulling in new changes, rewriting history or simply by adding new commits), a new entry will be added to the reflog. In this section we will take a high level look at the git reflog command and explore some common uses.

git stash

git stash save  # which enables including temporary commit message, which will help you identify changes, among with other options
git stash list  # which lists all previously stashed commits (yes, there can be more) that were not poped
git stash pop   # which redoes previously stashed changes and removes them from stashed list
git stash apply # which redoes previously stashed changes, but keeps them on stashed lis

rename branch

Rename current branch

git branch -m <newname>

Rename other branch

git branch -m <oldname> <newname>