For Thinkful Austin's Git & GitHub Workshop!!!!!!
Git is a version-control system that tracks changes made to files and allows for easier collaboration among multiple people hello world
- What is Git?
- GitHub is the most popular site for remotely saving our code and collaborating with other developers on open source projects
- Local & Remote Branches
- Local - branch stored on your personal computer
- Remote - branch stored in a separate repository, like GitHub, Bitbucket, GitLab, etc
- Branching Strategies
- Git Init
- Command that initializes our file directory into a new Git repo
- Status / Add & Commit
- Status - shows us which files we have changed in our repo, and which files we are currently tracking
- Add - add files to the staging area
- Which files do we want to include in our next commit?
- Commit - saving a snapshot of our recently changed files
- Commit often and frequently
- Usually want to commit whenever we’ve made an incremental change or improvement to one or more files
- Infrequent commits can make it difficult to know where exactly our project broke / what needs to be corrected
- Commit often and frequently
- Git Push
- Rolling Back a Commit
- Git Clone
- Copying a project and downloading it to your local machine from a remote repo
- Forking
- Copying a project and creating your own branch, allowing you to hack away without fear of altering repo you forked from
- Merging / Pull Requests
- Merge - combining separate branches of your project, typically to add a new feature while ensuring you don’t break any existing functionality of your project
- Pull Requests - typically a more formal process where you’re asking an assigned person to merge your code into their repo, while explaining the changes you made and why they should be merged
- Merge Conflicts - errors that may arise when trying to merge branches - can sometimes be ignored, but should always be carefully looked at to avoid any breaking changes that may arise from merging the two branches
Git is our coding time machine. Mistakes and errors in our code are inevitable. Git allows us to roll back to when our code was still working and avoid making the same mistake twice. Git is our coding safety net. It will also allow you in the future to collaborate with others.