Git: Difference between revisions

From Halfface
Jump to navigation Jump to search
 
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
=setup git repository gitolite style=
dnf install gitolite3
=create new git repo=
clone giolite-admin. Then edit conf/gitolite.conf and push it.
git clone gitolite3@halfface.se:gitolite-admin
=Download a git repository=
=Download a git repository=
  git clone git@www.halfface.se:project.git
  git clone git@www.halfface.se:project.git
=clone git repository with other user and not trusted cert=
=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
  env GIT_SSL_NO_VERIFY=true git clone https://user_name:P@ssW0rd@<git_server>/<git_repo>.git
 
=clone with token=
git clone https://git:<token>@<git_server>/<repo>.git


=which changes has occured=
=which changes has occured=
Line 9: Line 19:
=commit changes=
=commit changes=
  git commit -a -m "updated ..."
  git commit -a -m "updated ..."
=change commit message=
git commit --amend


=push changes upsteam=
=push changes upsteam=
Line 25: Line 37:
=Change branch=
=Change branch=
  git branch master
  git branch master
=Delete Local Branch=
git branch -d <branch_name>
git branch -D <branch_name>
=Delete Remote Branch=
git push <remote_name> --delete <branch_name> # <remote_name> is most likely "origin"


=git pull=
=git pull=
Line 46: Line 63:
Only show name of changed files.
Only show name of changed files.
  git diff --name-only tag1 tag2
  git diff --name-only tag1 tag2
diff between master and branch
git diff master..772974_blabla_description_of_branch
diff between commit and what it was commited too.
git diff COMMIT~ COMMIT
=List all sha1 codes for all objects=
=List all sha1 codes for all objects=
  git rev-list --objects --all
  git rev-list --objects --all
=git revert local changes=
=git revert local changes=
  git reset --hard ; git clean -fd
  git reset --hard ; git clean -fd
git reset --hard origin/master ; git clean -fd
=git revert local changes=
git add .
git reset --hard
=list tags containing commit=
=list tags containing commit=
  git tag --contains ${commit}
  git tag --contains ${commit}
=list dates in iso format=
=list dates in iso format=
  git log --date=iso ./lib/IPsoft/IPdiscover/Module/Ish/ApplicationServer.pm
  git log --date=iso $file
=list log on line per entry=
git log --oneline  ansible.yml
 
=look at content of file=
=look at content of file=
  git show 123131234242411fs1fds234fds14f1s4:/git/file.java
  git show 123131234242411fs1fds234fds14f1s4:/git/file.java
Line 60: Line 90:
=git gc=
=git gc=
Compress and optimize git repository.
Compress and optimize git repository.
=git checkout master=
=Return to master=
Return to master
git checkout master
=checkout all modified files. Remove local changes=
git checkout -- .
 
=git reflog=
=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.
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=
  git stash save # which enables including temporary commit message, which will help you identify changes, among with other options
  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 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 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
  git stash apply # which redoes previously stashed changes, but keeps them on stashed lis
git stash drop 0 # remove a stash entry.
 
=rename branch=
Rename current branch
git branch -m <newname>
Rename other branch
git branch -m <oldname> <newname>
=Rename a local and remote branch=
rename local branch.
git branch -m <newname>
Delete the old-name remote branch and push the new-name local branch.
git push origin :old-name new-name
Reset the upstream branch for the new-name local branch. Switch to the branch and then:
git push origin -u new-name
=view changes since creating branch=
git diff @~..@
=git checkout specific date=
git checkout 'master@{1979-02-26 18:30:00}'
=git checkout specific version=
git checkout c5f567 -- file1/to/restore file2/to/restore
 
=git push: fatal: The current branch "*" has no upstream branch.=
To push the current branch and set the remote as upstream, use
git push --set-upstream origin Problem_updating_certificate_automatically
Fix
git config --global push.default current
 
=are there updates remotely=
git fetch --dry-run
=Update the remote-tracking branches=
The above command copies all branches from the remote refs/heads/ namespace and stores them to the local refs/remotes/origin/ namespace, unless the branch.<name>.fetch option is used to specify a non-default refspec.
git fetch origin
=Rebases current branch onto origin/master=
git rebase origin/master
 
=add file to commit=
git add $file
=remove file from commit=
git reset $file
=conflict management=
Only list branches whose tips are reachable from the specified commit (HEAD if not specified). Implies --list.
git branch --merged [<commit>]
=view commits from user=
git log --author="Kjetil"
=credentials=
Save user and password
~/.git-credentials
git config --global credential.helper store
https://<username>:<password>@inter.net
=copy git repo=
git clone --bare https://github.com/original-repo.git
cd original-repo.git
git push --mirror https://github.com/new-repo.git

Latest revision as of 14:39, 26 September 2024

setup git repository gitolite style

dnf install gitolite3

create new git repo

clone giolite-admin. Then edit conf/gitolite.conf and push it.

git clone gitolite3@halfface.se:gitolite-admin

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@<git_server>/<git_repo>.git

clone with token

git clone https://git:<token>@<git_server>/<repo>.git

which changes has occured

git status

commit changes

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

change commit message

git commit --amend

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

Delete Local Branch

git branch -d <branch_name>
git branch -D <branch_name>

Delete Remote Branch

git push <remote_name> --delete <branch_name> # <remote_name> is most likely "origin"

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

diff between master and branch

git diff master..772974_blabla_description_of_branch

diff between commit and what it was commited too.

git diff COMMIT~ COMMIT

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

git revert local changes

git add .
git reset --hard

list tags containing commit

git tag --contains ${commit}

list dates in iso format

git log --date=iso $file

list log on line per entry

git log --oneline  ansible.yml

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

checkout all modified files. Remove local changes

git checkout -- .

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
git stash drop 0 # remove a stash entry.

rename branch

Rename current branch

git branch -m <newname>

Rename other branch

git branch -m <oldname> <newname>

Rename a local and remote branch

rename local branch.

git branch -m <newname>

Delete the old-name remote branch and push the new-name local branch.

git push origin :old-name new-name

Reset the upstream branch for the new-name local branch. Switch to the branch and then:

git push origin -u new-name

view changes since creating branch

git diff @~..@

git checkout specific date

git checkout 'master@{1979-02-26 18:30:00}'

git checkout specific version

git checkout c5f567 -- file1/to/restore file2/to/restore

git push: fatal: The current branch "*" has no upstream branch.

To push the current branch and set the remote as upstream, use
git push --set-upstream origin Problem_updating_certificate_automatically

Fix

git config --global push.default current

are there updates remotely

git fetch --dry-run

Update the remote-tracking branches

The above command copies all branches from the remote refs/heads/ namespace and stores them to the local refs/remotes/origin/ namespace, unless the branch.<name>.fetch option is used to specify a non-default refspec.

git fetch origin

Rebases current branch onto origin/master

git rebase origin/master

add file to commit

git add $file

remove file from commit

git reset $file

conflict management

Only list branches whose tips are reachable from the specified commit (HEAD if not specified). Implies --list.

git branch --merged [<commit>]

view commits from user

git log --author="Kjetil"

credentials

Save user and password

~/.git-credentials
git config --global credential.helper store
https://<username>:<password>@inter.net

copy git repo

git clone --bare https://github.com/original-repo.git
cd original-repo.git
git push --mirror https://github.com/new-repo.git