====== Git Notes ======
I was using Git to backup "panelDrive." This is located at c:\users\dan\git. Issuing "git remote -v" will show that these are connected to remote repository "ssh://git@stopstogo.com/home/git/repo.git".
3/5/2019
==== YouTube Videos ====
* https://www.youtube.com/watch?v=GZILYABgAoo
===== Command Line Client =====
* ''git config --global user.email "youremail@somewhere.com"''
* Sets up email to be used each time pushing/committing
* ''git config --global user.name "yourusername"''
* Sets up the user name to be used each time pushing/committing, so it won't be prompted every time.
* ''git init''
* Be inside of a directory that you want to set up as a local Git repository. Creates a *.git* directory with information in it
* ''git status''
* lists any files that are changed/not included in local Git repository
* ''git add''
* Adds files to local Git repository. By name or wild card
* ''git commit -m "some message"''
* Commits file changes to local Git repository. Adds revision message.
* ''git remote add origin ssh://git@stopstogo.com/home/git/repo.git''
* Adds a remote Git repository to current local Git repository
* ''git remote -v''
* Shows remotes for current repository
* ''git push -u origin master''
* Pushes files from "master" branch of local Git repository to remote repository
* ''git log''
* ''git --help''
* ''git config --bool core.bare true'' Make a bare remote repository so source can be re-pushed to it.
===== How to create new branch =====
* ''git branch "branch name"'' - Create new branch in local repository
* ''git checkout "branch name"'' - Local content becomes this branch
===== How to merge branch back to "master =====
* First checkout "master", then ''git merge "branch name"''
* ''git push -u origin "master"'' - push merged content to remote
* No longer need the branch, so we delete it
* ''git branch -d "branch name"''
* Delete from remote also
* ''git push origin --delete "branch name"''
===== Git TAGs =====
Tagging in Git refers to creating specific points in history for your repository/data.
- To Mark release points for your code/data (stable release point)
- To create historic restore points
* Checkout the branch where you want to create the tag
* ''git checkout "branch name"''
* Create tag with some name
* ''git tag "Version 1.0"'' - Lightweight tag
* ''git tag -a "v1.1" -m "tag for release version 1.1"'' - Stored as complete object
* ''git show v1.0''
* ''git tag -l "v1.*"''
* Push tags to remote
* GitHub shows "releases" for tags"
* ''git push origin v1.0''
* ''git push --tags'' - push all tags
* ''git tag --delete v1.0''
* ''git push origin -d v1.0'' - delete this tag from remote
* Checkout tags in git
* We cannot checkout tags in git
* We can create a branch from a tag and checkout the branch
* ''git checkout -b "branch name" "tag name"''
* Create a tag from some past commit
* ''git tag "tag name" "reference of commit"'' - the checksum or just a part of it.
* ''git push --tags'' - pushes all tags to remote repository
====== Add Github project to eclipse ======
https://www.youtube.com/watch?v=LPT7v69guVY
* Goto Perspective -> Git Respositories and click on "Get Repositories"
* Supply URL to remote and accept defaults
* Create project in Eclipse.
* Right click the project, Team -> Share Project -> (Add to git repository)
* Select repository that was used.
* Find files mentioned in "Unstaged Changes", drag to "Staged Changes"
* Type message in "Commit Message"
* Click "Commit and Push" to send the project to the repo