Difference between revisions of "IT-SDK-Git"
Jump to navigation
Jump to search
(→Reset) |
(→Resource) |
||
| Line 2: | Line 2: | ||
* https://help.github.com/en/github/using-git | * https://help.github.com/en/github/using-git | ||
* https://www.atlassian.com/git/tutorials/setting-up-a-repository | * https://www.atlassian.com/git/tutorials/setting-up-a-repository | ||
| + | * https://fedoraproject.org/wiki/Git_quick_reference | ||
| + | |||
=ssh= | =ssh= | ||
<pre class="code"> | <pre class="code"> | ||
Revision as of 15:03, 6 February 2020
Contents
Resource
- https://help.github.com/en/github/using-git
- https://www.atlassian.com/git/tutorials/setting-up-a-repository
- https://fedoraproject.org/wiki/Git_quick_reference
ssh
type %userprofile%\.ssh\id_rsa.pub | clip cat %userprofile%\.ssh\id_rsa.pub | clip
Settings
git config --global user.name "Samer Hijazi" git config --global user.email "samer.hijazi@samerhijazi.net" ... git config http.receivepack true git update-server-info
Credential Storage
- default: no cache at all
- cache: keeps credentials in memory for a certain period of time.
- store: saves the credentials to a plain-text file on disk.
- Mac-Chain: in Mac caches credentials in the secure keychain "osxkeychain".
- Windows-Chain: in Windows caches credentials in the secure keychain.
git config --global credential.helper cache git config --global credential.helper 'store --file ~/.my-credentials' git config --global credential.helper manager git config --global credential.helper wincred git config --global --edit ... git credential-manager version
init
git init --bare # Initial Repo for remote git init # Initial Repo for local ... git remote add origin https://samerhijazi@gitlab.com/samerhijazi/public.git
Workflow
git clone ssh://ssh-w0000000@servername.com/www/htdocs/w0000000/repository/git/projectname.git git pull git add README.md git commit -m "First commit" git push -u origin master
Branching
git branch -m feature1 feature2 # To rename a local Git branch git push -u origin feature2:feature3 # To rename a remote Git branch
Taging
$ git tag -d $(git tag -l) # Delete All local tags. (Optional Recommended) $ git fetch # Fetch remote All tags. (Optional Recommended) $ git push origin --delete $(git tag -l) # Delete All remote tags. Pushing once should be faster than multiple times $ git tag -d $(git tag -l) # Delete All local tags.
Remove
$ git checkout master $ git rm -r $FILE_NAME $ git commit -m "My Massage" $ git push origin master
Reset
# fetch from the default remote, origin git fetch # reset your current branch (master) to origin's master git reset --hard origin/master
Workflow
- Source: Source: https://nvie.com/posts/a-successful-git-branching-model/
- Hauptbraches: master & develop
- Arbeitbraches: feature, release, hotfixes
########### Feature ######################### $ git checkout -b myfeature develop ... $ git checkout develop $ git merge --no-ff myfeature $ git branch -d myfeature ... $ git push origin develop ########### Release ######################### $ git checkout -b release-1.2 develop $ git commit -a -m "Bumped version number to 1.2" ... $ git checkout master $ git merge --no-ff release-1.2 $ git tag -a 1.2 ... $ git checkout develop $ git merge --no-ff release-1.2 $ git branch -d release-1.2 ########### Hotfix ######################### $ git checkout -b hotfix-1.2.1 master $ git commit -a -m "Bumped version number to 1.2.1" ... $ git checkout master $ git merge --no-ff hotfix-1.2.1 $ git tag -a 1.2.1 ... $ git checkout develop $ git merge --no-ff hotfix-1.2.1 $ git branch -d hotfix-1.2.1