Practicing Git Without Panicking ⭐
- Due Aug 2, 2019 by 11:59pm
- Points 3
- Submitting a text entry box or a website url
- Available after Jul 18, 2019 at 12am
This assignment is designed to help everyone get started with git and github. Please follow these directions step-by-step and turn in the requested a) link and b) paragraph when you've finished.
Assignment:
0) https://try.github.io Links to an external site.
- Follow along with this excellent interactive tutorial from github. It will teach you the basic mechanics of how to use the git command line interface
1) Install git locally Links to an external site.
- Mac OSX and Linux systems should already have it installed
- Windows users should use git bash Links to an external site., which emulates a *NIX terminal
2) Start a local test project and do the following tasks:
- i) Initialize a repository
- ii) Add some content (Can be code, doesn’t have to be.)
iii) Commit that content
- iv) Branch and commit some more content
- v) Merge that branch back into master
- vi) Make a new branch and intentionally cause a merge conflict
vii) Resolve that conflict
3) Make a GitHub Links to an external site. account.
- This is a professional account, choose a sensible / presentable user name.
- If you register with your UCSC email Links to an external site. you can get a nice amount of free hosting and other trial offers, including unlimited private repositories on GitHub.
4) Make a remote repository on GitHub
- Upload your test repository from Step 2.
- Play around. Make some changes, try uploading branches other than master. Try making a change through the Github website and pulling it down to your local machine.
5) Look up an open source project.
- https://github.com/showcases Links to an external site.
- Check out their game engines, web games or .js game engines sections
- https://github.com/trending Links to an external site.
- https://github.com/photonstorm/phaser Links to an external site.
- Check out the project’s current issues. How do they resolve pull requests? Can you get a sense of how contributions are evaluated in this community? How is the community organized? How is the repository/project organized?
Turn in:
- A link to your test repository. It should have some small piece of content, at least one new branch, and several commits.
- A short (~1 paragraph) write up of question 5, profiling some open source project.
References:
https://git-scm.com/ Links to an external site.
- Official website. Extensive documentation, including an open access book
- Another tutorial on how to use git. Stackoverflow has many other answers for resolving common git problems.
- Printable pdf cheatsheet
http://ndpsoftware.com/git-cheatsheet.html Links to an external site.
- Cool interactive cheat sheet. On github Links to an external site. if you’re curious how it was built.
http://nvie.com/posts/a-successful-git-branching-model/ Links to an external site.
- Blog post explaining git-flow
Rubric
Criteria | Ratings | Pts |
---|---|---|
Test repository link
threshold:
pts
|
pts
--
|
|
One or more new branches
threshold:
pts
|
pts
--
|
|
Multiple test commits w/ messages
threshold:
pts
|
pts
--
|
|
1 paragraph open source project profile
threshold:
pts
|
pts
--
|