<<

and GitHub Working Dir/Staging, Local/Remote, Clone, Push, Pull, Branch/, , GitHub Desktop Source code is by far the most important asset any Even if not using GitHub for their own source, app software company owns. It is more valuable than developers still need to get familiar with it as most of buildings, brand names, computer hardware, furniture today’s popular open source projects are using it and or anything else a software company has. Source code app developers will invariably need to use these. needs to be valued and treated like the very important company asset that it is. Hence the need for a robust This course covers both and helps developers gain source code management system. hands-on experience in how to incorporate both into their development workflow. Many Git-related terms Git is the most popular source code management have entered the developer lexicon – push, pull request, system; GitHub.com is the most popular Git cloud cloning, forking, promoting, repo – and this course hosting solution. Either Git alone or Git and GitHub can helps attendees understand each concept and mentally be used to comprehensively manage and protect source. tie everything together to see how they work in unison. Contents of One-Day Training Course Distributed Command Line Tooling Using what you might already know Porcelain vs. plumbing Adding distributed influence Beyond the basics - more complete look at Organizing teams via Git advanced command line tools for Git Strategies for managing source trees Managing as part of Toolchain Target Audience Terminology - push / pull, clone, fork, Git as part of toolchain Software engineers and fetch, branching and merging Use with other tools architects wishing to Lifecycle of a single line of code Call via scripting (automated test runs, correctly manage valuable Getting Started With Git linting, Continuous Integration/Continuous source trees Installing and configuration Delivery - CI/CD) Simple usage What to do with generated info We explore where source can be stored Monorepo (local and remote) Each project need not exist in separate repo Promoting from working dir to staging Multiple projects can be placed in a single and beyond repository – known as a monorepo What happens during a Practical ideas for using monorepos Prerequisites Working Locally GitHub Programming knowledge Init vs. clone Source repositories in the cloud and some previous File system layout Public (free hosting) & private (fee-paying) hands-on experience of The .gitignore file Organizations and teams any source control system. Creating, modifying and deleting locally Interacting with open source projects Cancel changes (revert) (issues, releases, changelog, pull requests) For the GitHub part of the Logging/history/status GitHub Desktop course, each attendee will Branching / Merging Enhanced (Electron-based) GUI to need their own (free) Creating and listing branches comprehensively manage Git repositories GitHub login to complete Merging a branch Easy to set up and use the lab work. Change tracking / / Rebase Git Internals Feature branches vs. development The source code for Git itself is an Remote interesting read: https://github.com/git/git Remote protocols What can we learn from exploring it? Connecting to remote repo servers Project Push and pull commands Organizing a large source tree using Git Fetch command Deciding on project and repo layout