vrijdag 27 oktober 2017

Git

Extract van : https://git-scm.com/book/en/v2


# Welke files zijn veranderd
$ git status

# Informatie over remote url en branches
$ git remote show origin

# Branch maken en de changes meenemen in de nieuwe branch:
$ git checkout -b feature/product-feature


# Toevoegen van alle modified/untracked bestanden
$ git add .

# Commit
$ git commit -m "comment"

# Eventueel naar de server brengen
$ git push

# Develop weer inladen
$ git checkout develop

# Laatste versie binnenhalen
$ git pull

# Mergen van product-feature naar develop toe
$ git merge feature/product-feature

# Naar de server brengen
$ git push

# Verwijder oude branch
$ git branch -d feature/product-feature

# Verwijderen van een remote branch:
$ git push origin --delete feature/branchname

# Verwijderen van een deleted remote:
$ git fetch -p origin

# Git repo binnenhalen
$ git clone https://github.com/libgit2/libgit2 mylibgit

# Gebruikersinformatie

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

$ git config --system core.longpaths true

# Create tag
$ git tag <tag-name>

# Push tags
$ git push origin --tags

# Delete tag
$ git tag -d 0.7.9.0
$ git push --delete origin 0.7.9.0

# Aanpassingen tijdelijk stallen
$ git stash
$ git stash list
$ git stash drop
$ git stash pop


# Welke branches zijn er:
$ git remote show origin

# Welke branches zijn er:
$ git branch -a

# Verwijderen van een locale branch:
$ git branch -d hotfix

# Verwijderen van een remote branch:
$ git push origin --delete feature/branchname

# Verwijderen van stale branches uit local:
$ git remote prune origin


HULP BIJ PROBLEMEN:

# Een merge gedaan die je nog niet gepushed hebt. Teruggaan naar de laatste status voor de merge:
$ git reset --hard origin/master

# Krijg je de error: your local changes to the following files would be overwritten by merge, dan kun je de genoemde bestanden opnieuw uitchecken.
$ git checkout dir/dir/dir/file.txt
Vervolgens zie je bij een "git status" dat de file van de lijst af is.

# Een bestand opzettelijk niet willen meenemen
$ git update-index --assume-unchanged README.textile
$ git update-index --no-assume-unchanged README.textile

# Remove untracked files from the working directory
$ git clean -fxd

# Resets the index and working tree. Any changes to tracked files in the working tree since <commit> are discarded.
$ git reset --hard


BRANCH NIEUW NEERZETTEN:

# Create Orphan Branch – Create a new orphan branch in git repository. The newly created branch will not show in ‘git branch’ command.
$ git checkout --orphan temp_branch

# Add Files to Branch – Now add all files to newly created branch and commit them using following commands.
$ git add -A
$ git commit -am "the first commit"

# Delete master Branch – Now you can delete the master branch from your git repository.
$ git branch -D master

# Rename Current Branch – After deleting the master branch, let’s rename newly created branch name to master.
$ git branch -m master

# Push Changes – You have completed the changes to your local git repository. Finally, push your changes to remote (Github) repository forcefully.
$ git push -f origin master

DEVELOP NAAR MASTER KOPIEEREN:
$ git checkout develop
$ git merge -s ours master
$ git checkout master
$ git merge develop

MERGEN VANUIT ANDERE REPRO
$ git remote -v
$ git remote add upstream ssh://.....repro.git
$ git fetch upstream
$ git branch -va
$ git merge upstream/develop