Some new considerations come up as we build larger projects that eventually go into production...
Discussion
Has anyone faced problems like these before?The most common industry solution is a Version Control System, which:
Typically, an organization will have one central VCS where all projects are managed.
Far and away the most popular VCS tool is Git, which is notable for its scalability and performance.
Unfortunately, it's often challenging for beginners; its interface can be overwhelming.
Other VCSes exist, and were more common until Git became dominant around 2010. You may have heard of these or even used them:
Git is generally used in tandem with a website where your code can be kept, viewed, and managed. There are several, but the most commonly used site is GitHub.
Not only does GitHub provide a good interface for viewing code, it also features:
Both of which are tightly integrated with your code -- very convenient for developer and data science teams.
GitHub offers most of its tools for free and has become the home of most popular open source projects (such as Python itself and the pandas library).
Note
There are competing services to GitHub, such as GitLab and Bitbucket, but GitHub is by far the most popular tool -- to the point that employers sometimes ask for your GitHub profile to see your portfolio.(If you already have a GitHub account, you may skip these steps. Just log into your account so we can push code to it later.)
github.com
and find the Sign Up button.You may then need to solve a Captcha-like puzzle and verify your email address. Do so.
Once the account is created, you may be asked whether to create a new project, or "repository". We'll do that, but not yet!
Demo of Profile and Repos
Next, we'll download a piece of software from GitHub that handles syncing our code with our repository: GitHub Desktop
Note: if you're already comfortable using Git from the command line, you can skip this part; just clone the repo we've created as we'll be using it for the rest of the workshop.
The last bit of direction-following!
Congrats! You've set up your first GitHub repository, and now you're ready to work in it.
Are there any questions before we move on?