Version Control with Git

بواسطة: Udacity

Overview

This course covers the essentials of using the version control system Git. You'll be able to create a new Git repo, commit changes, and review the commit history of an existing repo. You'll also learn how to keep your commits organized using tags and branches and you'll master the art of merging changes by crushing those pesky merge conflicts. Oh no! Was a mistake made along the way? Learn how to edit commits, revert changes, or even delete commits.

Syllabus

  • Purpose & Terminology
    • Learn why developers use version control and discover ways you use version control in your daily life,Get an overview of essential Git vocabulary,Configure Git using the command line
  • Create a Git Repo
    • Create your first Git repository with git init,Copy an existing Git repository with git clone,Review the current state of a repository with the powerful git status
  • Review a Repo's History
    • Review a repo's commit history git log,Customize git log's output using command line flags in order to reveal more (or less) information about each commit,Use the git show command to display just one commit
  • Add Commits to a Repo
    • Master the Git workflow and make commits to an example project,Use git diff to identify what parts of a file have been changed in a commit,Learn how to mark files as "untracked" using .gitignore
  • Tagging, Branching, and Merging
    • Organize your commits with tags and branches,Jump to particular tags and branches using git checkout,Learn how to merge together changes on different branches and crush those pesky merge conflicts
  • Undoing Changes
    • Learn how and when to edit or delete an existing commit,Use git commit's --amend flag to alter the last commit,Use git reset and git revert to undo and erase commits

Taught by

Richard Kalehoff

Version Control with Git
الذهاب الي الدورة

Version Control with Git

بواسطة: Udacity

  • Udacity
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • beginner
  • N/A
8.1.2PHP Version264msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (166ms)
    • Application (98.11ms)
    • 1 x Booting (62.66%)
      165.71ms
      1 x Application (37.1%)
      98.11ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed6.85ms
      • select * from `courses` where `slug_ar` = 'version-control-with-git' limit 1
        5.14ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. version-control-with-git
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-10 07:59:24' where `id` = 1702
        690μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-10 07:59:24
        • 1. 1702
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (125)
        410μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        230μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (6) and `providers`.`deleted_at` is null
        200μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 1693 limit 1
        180μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 1693
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        FYwZxxM269a3WWJuoPfn6KAslYJnwQ2yOXerRzPu
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/versio...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/version-control-with-git
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.144.2.213" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "92e0b461d8576189-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "x-forwarded-for" => array:1 [ 0 => "3.144.2.213" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.144.2.213" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "92e0b461d8576189-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "3.144.2.213" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "31742" "REMOTE_ADDR" => "172.69.7.196" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/version-control-with-git" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744271964.7256 "REQUEST_TIME" => 1744271964 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 10 Apr 2025 07:59:24 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkxSdU8rZ2hwK2xLeVhrQUU2NDk5dnc9PSIsInZhbHVlIjoieXJ0aFFvNHkzL0w1Q1kwa21RVEo1b25QRjlPVUNud0w2TEdQU1hCT2lsczcvZXNHd2Zsd0tYSEFLS3JFcnJYNkRhaEZrRHhZQ2c1ZS9UQjZIZW05SVQwMU92Q1lwQ0l4a1EwRzZQUWozN01OeCtNR3hORllzVmhBMzljQWRoV2UiLCJtYWMiOiJmMzMyYjIxZTAwMjA2MGY2YjJmNjk5ZWY2NDcyNTVmODc1YTFlZTdjMGM3Y2VkZDJmMDdkODY2OTVjYzYwOGIzIiwidGFnIjoiIn0%3D; expires=Thu, 10 Apr 2025 09:59:24 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IkxSdU8rZ2hwK2xLeVhrQUU2NDk5dnc9PSIsInZhbHVlIjoieXJ0aFFvNHkzL0w1Q1kwa21RVEo1b25QRjlPVUNud0w2TEdQU1hCT2lsczcvZXNHd2Zsd0tYSEFLS3JFcnJYNkRhaEZrR" 1 => "laravel_session=eyJpdiI6IkpPclp5YjZibC9hUGFwSS90WmNHZVE9PSIsInZhbHVlIjoiSmM3aU05anNjUWJObXRNTERUVVdXd0x4b0lCa1oyaXRGVWwzTUZSSjY2NTlQQ3E3NXc0aHpmZ0hSczMyR1h1L2lPNU5nUk5aN0ZMVCt6TlVnY3JxamowQXdqNXVlY0EvQWNvc3o1bVEwdE5MWG82R3I5OWhxQ21DQUFvbWxtTkIiLCJtYWMiOiJkNTIzMmM1ODliNjU3YWI3ZGUxZTMzNmU5OTFjNTllODlmNmZmODlmNjgwMWY0M2RmNDUxYjhhYjJkMjBmZGJlIiwidGFnIjoiIn0%3D; expires=Thu, 10 Apr 2025 09:59:24 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IkpPclp5YjZibC9hUGFwSS90WmNHZVE9PSIsInZhbHVlIjoiSmM3aU05anNjUWJObXRNTERUVVdXd0x4b0lCa1oyaXRGVWwzTUZSSjY2NTlQQ3E3NXc0aHpmZ0hSczMyR1h1L2lP" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkxSdU8rZ2hwK2xLeVhrQUU2NDk5dnc9PSIsInZhbHVlIjoieXJ0aFFvNHkzL0w1Q1kwa21RVEo1b25QRjlPVUNud0w2TEdQU1hCT2lsczcvZXNHd2Zsd0tYSEFLS3JFcnJYNkRhaEZrRHhZQ2c1ZS9UQjZIZW05SVQwMU92Q1lwQ0l4a1EwRzZQUWozN01OeCtNR3hORllzVmhBMzljQWRoV2UiLCJtYWMiOiJmMzMyYjIxZTAwMjA2MGY2YjJmNjk5ZWY2NDcyNTVmODc1YTFlZTdjMGM3Y2VkZDJmMDdkODY2OTVjYzYwOGIzIiwidGFnIjoiIn0%3D; expires=Thu, 10-Apr-2025 09:59:24 GMT; path=/XSRF-TOKEN=eyJpdiI6IkxSdU8rZ2hwK2xLeVhrQUU2NDk5dnc9PSIsInZhbHVlIjoieXJ0aFFvNHkzL0w1Q1kwa21RVEo1b25QRjlPVUNud0w2TEdQU1hCT2lsczcvZXNHd2Zsd0tYSEFLS3JFcnJYNkRhaEZrR" 1 => "laravel_session=eyJpdiI6IkpPclp5YjZibC9hUGFwSS90WmNHZVE9PSIsInZhbHVlIjoiSmM3aU05anNjUWJObXRNTERUVVdXd0x4b0lCa1oyaXRGVWwzTUZSSjY2NTlQQ3E3NXc0aHpmZ0hSczMyR1h1L2lPNU5nUk5aN0ZMVCt6TlVnY3JxamowQXdqNXVlY0EvQWNvc3o1bVEwdE5MWG82R3I5OWhxQ21DQUFvbWxtTkIiLCJtYWMiOiJkNTIzMmM1ODliNjU3YWI3ZGUxZTMzNmU5OTFjNTllODlmNmZmODlmNjgwMWY0M2RmNDUxYjhhYjJkMjBmZGJlIiwidGFnIjoiIn0%3D; expires=Thu, 10-Apr-2025 09:59:24 GMT; path=/; httponlylaravel_session=eyJpdiI6IkpPclp5YjZibC9hUGFwSS90WmNHZVE9PSIsInZhbHVlIjoiSmM3aU05anNjUWJObXRNTERUVVdXd0x4b0lCa1oyaXRGVWwzTUZSSjY2NTlQQ3E3NXc0aHpmZ0hSczMyR1h1L2lP" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "FYwZxxM269a3WWJuoPfn6KAslYJnwQ2yOXerRzPu" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/version-control-with-git" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]