|
| https://realpython.com/ |
| Start Here | https://realpython.com/start-here/ |
|
Learn Python
| https://realpython.com/courses/python-git-github-intro/discussion/ |
| Python Tutorials →In-depth articles and video courses | https://realpython.com/search?kind=article&kind=course&order=newest |
| Learning Paths →Guided study plans for accelerated learning | https://realpython.com/learning-paths/ |
| Quizzes & Exercises →Check your learning progress | https://realpython.com/quizzes/ |
| Browse Topics →Focus on a specific area or skill level | https://realpython.com/tutorials/all/ |
| Community Chat →Learn with other Pythonistas | https://realpython.com/community/ |
| Office Hours →Live Q&A calls with Python experts | https://realpython.com/office-hours/ |
| Podcast →Hear what’s new in the world of Python | https://realpython.com/podcasts/rpp/ |
| Books →Round out your knowledge and learn offline | https://realpython.com/products/books/ |
| Reference →Concise definitions for common Python terms | https://realpython.com/ref/ |
| Code Mentor →BetaPersonalized code assistance & learning tools | https://realpython.com/mentor/ |
| Unlock All Content → | https://realpython.com/account/join/ |
|
More
| https://realpython.com/courses/python-git-github-intro/discussion/ |
| Learner Stories | https://realpython.com/learner-stories/ |
| Python Newsletter | https://realpython.com/newsletter/ |
| Python Job Board | https://www.pythonjobshq.com |
| Meet the Team | https://realpython.com/team/ |
| Become a Tutorial Writer | https://realpython.com/write-for-us/ |
| Become a Video Instructor | https://realpython.com/become-an-instructor/ |
| Search | https://realpython.com/search |
| https://realpython.com/search |
| Join | https://realpython.com/account/join/ |
| Sign‑In | https://realpython.com/account/login/?next=%2Fvideos%2Fwhat-version-control-system-vcs%2F |
| https://realpython.com/courses/python-git-github-intro/#team |
| Introduction to Git and GitHub for Python | https://realpython.com/courses/python-git-github-intro/ |
| Paul Mealus | https://realpython.com/courses/python-git-github-intro/#team |
| Recommended Tutorial | https://realpython.com/python-git-github-intro/ |
| Ask a Question | https://realpython.com/courses/python-git-github-intro/discussion/#discussion |
| https://realpython.com/feedback/survey/course/python-git-github-intro/liked/?from=lesson-title |
| https://realpython.com/feedback/survey/course/python-git-github-intro/disliked/?from=lesson-title |
| Contents | https://realpython.com/courses/python-git-github-intro/discussion/#description |
| Transcript | https://realpython.com/courses/python-git-github-intro/discussion/#transcript |
| Discussion (1) | https://realpython.com/courses/python-git-github-intro/discussion/#discussion |
| 00:00 | https://realpython.com/courses/python-git-github-intro/discussion/#t=0.42 |
| Hey there! Welcome to the introduction to Git and GitHub. In this course, | https://realpython.com/courses/python-git-github-intro/discussion/#t=0.42 |
| we’ll cover the basics of working with Git, one of the most widely-used version | https://realpython.com/courses/python-git-github-intro/discussion/#t=5.43 |
| control systems in the world. When we’re done, you’ll know at a high level | https://realpython.com/courses/python-git-github-intro/discussion/#t=10.35 |
| how Git and GitHub work, you’ll be able to set up your own local and remote | https://realpython.com/courses/python-git-github-intro/discussion/#t=14.58 |
| Git repositories, and you’ll even be ready to start contributing to projects. | https://realpython.com/courses/python-git-github-intro/discussion/#t=19.05 |
| 00:24 | https://realpython.com/courses/python-git-github-intro/discussion/#t=24.12 |
| So, let’s get started with What is a Version Control System. | https://realpython.com/courses/python-git-github-intro/discussion/#t=24.12 |
| 00:28 | https://realpython.com/courses/python-git-github-intro/discussion/#t=28.41 |
| What Git and GitHub— | https://realpython.com/courses/python-git-github-intro/discussion/#t=28.41 |
| or, really, any VCS—are going to give you is peace of mind. | https://realpython.com/courses/python-git-github-intro/discussion/#t=30.27 |
| Whether you want to work in a company, as a freelancer, or build the next big app | https://realpython.com/courses/python-git-github-intro/discussion/#t=33.69 |
| on your own, you will need to use a version control system. | https://realpython.com/courses/python-git-github-intro/discussion/#t=38.67 |
| 00:42 | https://realpython.com/courses/python-git-github-intro/discussion/#t=42.36 |
| Using a version control system lets you code with confidence | https://realpython.com/courses/python-git-github-intro/discussion/#t=42.36 |
| as you can move forwards and backwards in the timeline of your project, | https://realpython.com/courses/python-git-github-intro/discussion/#t=46.05 |
| you can hunt the origin of bugs, prevent losing or writing over files, | https://realpython.com/courses/python-git-github-intro/discussion/#t=50.94 |
| and you can collaborate with everybody on your project. | https://realpython.com/courses/python-git-github-intro/discussion/#t=55.86 |
| 00:59 | https://realpython.com/courses/python-git-github-intro/discussion/#t=59.82 |
| So, what are the basics of a version control system? | https://realpython.com/courses/python-git-github-intro/discussion/#t=59.82 |
| Have you ever named an important file Version1, 2, 3, and so on? | https://realpython.com/courses/python-git-github-intro/discussion/#t=63.84 |
| This is a very simple form of version control. | https://realpython.com/courses/python-git-github-intro/discussion/#t=69.27 |
| 01:12 | https://realpython.com/courses/python-git-github-intro/discussion/#t=72.33 |
| You want the ability to go back and get info out of those files and revert to | https://realpython.com/courses/python-git-github-intro/discussion/#t=72.33 |
| or see the changes over time, but simply renaming them | https://realpython.com/courses/python-git-github-intro/discussion/#t=77.46 |
| Version1 to infinity can get unmanageable pretty quickly. | https://realpython.com/courses/python-git-github-intro/discussion/#t=81.54 |
| 01:25 | https://realpython.com/courses/python-git-github-intro/discussion/#t=85.86 |
| This is where version control systems can save the day. | https://realpython.com/courses/python-git-github-intro/discussion/#t=85.86 |
| A version control system will track the history of your files for you. | https://realpython.com/courses/python-git-github-intro/discussion/#t=89.31 |
| You can save the state of your file or files at any point. | https://realpython.com/courses/python-git-github-intro/discussion/#t=93.84 |
| 01:38 | https://realpython.com/courses/python-git-github-intro/discussion/#t=98.76 |
| You can freely edit the files and keep working on them in that modified state | https://realpython.com/courses/python-git-github-intro/discussion/#t=98.76 |
| until you are ready to save those changes and thus bring into the world a new | https://realpython.com/courses/python-git-github-intro/discussion/#t=103.71 |
| version of your file. | https://realpython.com/courses/python-git-github-intro/discussion/#t=108.51 |
| 01:50 | https://realpython.com/courses/python-git-github-intro/discussion/#t=110.16 |
| You can even recall old versions of the file or files if you’d like. | https://realpython.com/courses/python-git-github-intro/discussion/#t=110.16 |
| So, let’s take a quick stroll through the history of version control. | https://realpython.com/courses/python-git-github-intro/discussion/#t=115.95 |
| As I mentioned earlier, | https://realpython.com/courses/python-git-github-intro/discussion/#t=119.4 |
| the first way of version control is to simply rename files or directories on | https://realpython.com/courses/python-git-github-intro/discussion/#t=120.57 |
| your local computer and use version numbers. | https://realpython.com/courses/python-git-github-intro/discussion/#t=124.8 |
| 02:07 | https://realpython.com/courses/python-git-github-intro/discussion/#t=127.92 |
| This, of course, is error-prone because what happens when your kids delete a file | https://realpython.com/courses/python-git-github-intro/discussion/#t=127.92 |
| or you write over the wrong file or delete a directory? | https://realpython.com/courses/python-git-github-intro/discussion/#t=132.45 |
| Big time bummer. So to combat these types of events, | https://realpython.com/courses/python-git-github-intro/discussion/#t=136.5 |
| early version control systems | https://realpython.com/courses/python-git-github-intro/discussion/#t=140.97 |
| housed a database on your local computer that kept track of changes on files | https://realpython.com/courses/python-git-github-intro/discussion/#t=142.71 |
| under revision control. | https://realpython.com/courses/python-git-github-intro/discussion/#t=148.08 |
| 02:29 | https://realpython.com/courses/python-git-github-intro/discussion/#t=149.52 |
| This is also known as tracking. This local version control kept track of the | https://realpython.com/courses/python-git-github-intro/discussion/#t=149.52 |
| changes between files. This is commonly called deltas. | https://realpython.com/courses/python-git-github-intro/discussion/#t=154.83 |
| The next problem that needed to be solved was collaborating with multiple | https://realpython.com/courses/python-git-github-intro/discussion/#t=158.55 |
| developers, and this led to centralized version control. | https://realpython.com/courses/python-git-github-intro/discussion/#t=161.64 |
| 02:46 | https://realpython.com/courses/python-git-github-intro/discussion/#t=166.41 |
| This is where the database was housed on a server that all clients could access | https://realpython.com/courses/python-git-github-intro/discussion/#t=166.41 |
| and check out the latest snapshot of files and directories. | https://realpython.com/courses/python-git-github-intro/discussion/#t=171.39 |
| Both of those methods work fine, | https://realpython.com/courses/python-git-github-intro/discussion/#t=175.77 |
| but you’ve probably already figured out—because you’re smart— | https://realpython.com/courses/python-git-github-intro/discussion/#t=177.87 |
| there’s a potential fatal flaw. | https://realpython.com/courses/python-git-github-intro/discussion/#t=180.94 |
| 03:03 | https://realpython.com/courses/python-git-github-intro/discussion/#t=183.76 |
| If you lose the database because, say, the server crashes or the disks go bad, | https://realpython.com/courses/python-git-github-intro/discussion/#t=183.76 |
| 03:09 | https://realpython.com/courses/python-git-github-intro/discussion/#t=189.94 |
| all that work is probably unrecoverable. Distributed version control systems were | https://realpython.com/courses/python-git-github-intro/discussion/#t=189.94 |
| then created to mitigate that risk of losing everything. In a distributed version | https://realpython.com/courses/python-git-github-intro/discussion/#t=195.04 |
| control system—we’ll now call them VCSs— | https://realpython.com/courses/python-git-github-intro/discussion/#t=200.44 |
| each client checks out a local copy of the repository, | https://realpython.com/courses/python-git-github-intro/discussion/#t=203.86 |
| including the changes. | https://realpython.com/courses/python-git-github-intro/discussion/#t=207.82 |
| 03:29 | https://realpython.com/courses/python-git-github-intro/discussion/#t=209.95 |
| Every clone is really a full backup, | https://realpython.com/courses/python-git-github-intro/discussion/#t=209.95 |
| so in the event of a server crash, | https://realpython.com/courses/python-git-github-intro/discussion/#t=213.19 |
| the client repositories can be pushed back up and restore the server. | https://realpython.com/courses/python-git-github-intro/discussion/#t=215.86 |
| In this onscreen example, we see just two computers, or nodes, | https://realpython.com/courses/python-git-github-intro/discussion/#t=220.21 |
| but there could be tens, hundreds, | https://realpython.com/courses/python-git-github-intro/discussion/#t=223.81 |
| even thousands in a distributed version control system. Git itself is a | https://realpython.com/courses/python-git-github-intro/discussion/#t=225.61 |
| distributed version control system. | https://realpython.com/courses/python-git-github-intro/discussion/#t=230.65 |
| May 12, 2020 | https://realpython.com/courses/python-git-github-intro/discussion/#comment-62d4f186-c748-4261-9424-bc06e6c3eecf |
| Become a Member | https://realpython.com/account/join/ |
| Overview | https://realpython.com/courses/python-git-github-intro/ |
| https://realpython.com/videos/git-version-control-basics/ |
|
What is a Version Control System (VCS)? 03:52
| https://realpython.com/videos/what-version-control-system-vcs/ |
|
Git Version Control Basics 06:54
| https://realpython.com/videos/git-version-control-basics/ |
|
The .gitignore File 04:25
| https://realpython.com/videos/gitignore-file/ |
|
The "git log" Command 01:29
| https://realpython.com/lessons/git-log-command/ |
|
Git Checkout and Intro to Branches 04:48
| https://realpython.com/lessons/git-checkout-and-intro-branches/ |
|
Working With Git Branches 04:10
| https://realpython.com/lessons/working-git-branches/ |
|
Merging and Rebasing 03:31
| https://realpython.com/lessons/merging-and-rebasing/ |
|
Remote Git Repositories and GitHub 07:02
| https://realpython.com/lessons/remote-git-repositories-and-github/ |
|
An Example Git Development Workflow 01:22
| https://realpython.com/lessons/example-git-development-workflow/ |
| Privacy Policy | https://realpython.com/privacy-policy/ |
Viewport: width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover