How-To-Git-Started/README.md

111 lines
2.6 KiB
Markdown

# How to Git started
## Using a GUI
You can use any GUI for git, the ones we use are Fork and Sourcetree
You can download these at https://www.sourcetreeapp.com/ and https://git-fork.com/
For other GUIs check out https://git-scm.com/downloads/guis/
### Assignments
Assignment 1: Create a repository
1 Create your own new repository
2 Add a .gitignore file
3 Why you would like a gitignore file
4 Not pushing sensitive files
5 Not pushing environment files
6 Add a README
Assignment 2: Your first commit
Clone repository
Edit README file
Create a new file(s) and add information
Stage README and your file(s)
Commit README and your file(s)
Assignment 3: Merge conflicts
Go to the How to Git started repository
Add factorial.py and fibonacci.py to your repository
Choose a partner
Add him/her as a collaborator
Make the partner clone your repository
Let both of you edit the same line in the code file
Let one of you stage and push the changes
Solve the merge conflict
Assignment 5: Branching
Go to the How to Git started repository
Add index.html to your shared repository.
Let person A create a new branch called header
Let person B create a new branch called footer
Let person A edit the header of index.html
Let person B edit the footer of index.html
Stage and push the changes
Pull the latest changes
Track the branch of your partner
Assignment 6: Merge branches
Go to your master branch
Merge it with the header branch
Commit the merge
Merge it with the footer branch
Commit the merge
Push the changes
Delete your old branches
Assignment 7: Pull requests
Let one of you create a new repository (do not add collaborators)
Stage and commit a file
Let the other person fork the repository and clone it
Let him/her change the file and push it
Let him/her create a new pull request via the GUI
Let the other approve and merge the request
Let the other pull the latest changes
Assignment 8: Undo commit
Check the logs
## Set up git
Set up your git info
```shell
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
```
If you want to save your https credentials run
```shell
git config --global credential.helper store
Omit --global to set the identity only in this repository.
```
Or you can add an SSH key
## Saving changes
unstage by using
```shell
use "git reset HEAD <file>..." to unstage
```
Track remote branch
```shell
git checkout --track origin/<branch>
```
Delete remote branch
```shell
git push <remote_name> --delete <branch_name>
git remote prune <remote_name>
```