1. Урок 1. 00:01:29
    Section 1 Introduction
  2. Урок 2. 00:05:31
    Git vs GitHub
  3. Урок 3. 00:00:43
    Section 2 Introduction
  4. Урок 4. 00:02:25
    Installing Git on MacOS
  5. Урок 5. 00:10:42
    Installing Git on Windows
  6. Урок 6. 00:08:21
    Installing Git on Linux
  7. Урок 7. 00:05:37
    Installing iTerm2 on the Mac
  8. Урок 8. 00:05:33
    Installing custom shell Z-Shell on the Mac
  9. Урок 9. 00:00:44
    Section 3 Introduction
  10. Урок 10. 00:09:39
    Shell commands - directory management
  11. Урок 11. 00:09:00
    Shell commands - file management - PART 1
  12. Урок 12. 00:08:26
    Shell commands - file management - PART 2
  13. Урок 13. 00:00:58
    Section 4 Introduction
  14. Урок 14. 00:04:13
    Initialize new Git repository
  15. Урок 15. 00:04:02
    Overview of .git folder
  16. Урок 16. 00:03:03
    Git object types
  17. Урок 17. 00:06:46
    Writing new Git object with git hash-object
  18. Урок 18. 00:03:58
    JSON vs Git database
  19. Урок 19. 00:03:53
    What is hash function
  20. Урок 20. 00:03:30
    Hash functions overview
  21. Урок 21. 00:10:19
    SHA1 Hash Function
  22. Урок 22. 00:04:10
    How many files Git could store
  23. Урок 23. 00:04:12
    Probability theory in Dice game
  24. Урок 24. 00:05:57
    Git hash collision probability
  25. Урок 25. 00:27:14
    More details on hash collision probability
  26. Урок 26. 00:05:25
    Exploring Git objects with git cat-file command
  27. Урок 27. 00:07:57
    Create new Git Blob based on the file
  28. Урок 28. 00:02:41
    Git blobs don't store filenames
  29. Урок 29. 00:10:15
    Contents of Git objects
  30. Урок 30. 00:01:57
    What we have so far
  31. Урок 31. 00:02:42
    Tree objects in Git
  32. Урок 32. 00:02:26
    Git object permissions
  33. Урок 33. 00:09:53
    Creating Git Tree object
  34. Урок 34. 00:04:53
    Examining Tree Object
  35. Урок 35. 00:01:56
    Working directory, Staging area and Git repository
  36. Урок 36. 00:03:51
    Overview of current files distribution
  37. Урок 37. 00:03:52
    Git read-tree
  38. Урок 38. 00:01:59
    Read files in the staging area using git ls-files
  39. Урок 39. 00:03:12
    Git checkout-index
  40. Урок 40. 00:02:21
    How many folders could be created for objects
  41. Урок 41. 00:04:21
    Section Summary
  42. Урок 42. 00:00:54
    Section 5 Introduction
  43. Урок 43. 00:04:00
    What is Commit
  44. Урок 44. 00:04:01
    Configure Git author name and email
  45. Урок 45. 00:05:37
    Creating first commit
  46. Урок 46. 00:05:09
    Exploring commit object
  47. Урок 47. 00:03:35
    Current project state overview
  48. Урок 48. 00:05:44
    Basic Git commands
  49. Урок 49. 00:08:38
    Adding new file to working directory
  50. Урок 50. 00:02:00
    Git files lifecycle
  51. Урок 51. 00:02:58
    Stage file
  52. Урок 52. 00:02:08
    Unstage file using git rm
  53. Урок 53. 00:07:54
    Commit changes
  54. Урок 54. 00:06:16
    Exploring changes in Git repository
  55. Урок 55. 00:03:51
    Current diagram of Git repository
  56. Урок 56. 00:01:13
    Section 6 Introduction
  57. Урок 57. 00:06:18
    Most common Git operations
  58. Урок 58. 00:01:24
    Overview of the current project state
  59. Урок 59. 00:03:37
    Installing GitHub Desktop
  60. Урок 60. 00:04:59
    GitHub Desktop Overview
  61. Урок 61. 00:06:45
    What is branch in Git
  62. Урок 62. 00:05:32
    What is HEAD in Git
  63. Урок 63. 00:05:23
    Third commit
  64. Урок 64. 00:07:13
    Git repository changes after third commit
  65. Урок 65. 00:13:50
    Checkout specific commit
  66. Урок 66. 00:10:37
    Why do we need branches
  67. Урок 67. 00:03:05
    Git branches management
  68. Урок 68. 00:07:21
    Create new branch
  69. Урок 69. 00:04:36
    Commit changes in the new branch
  70. Урок 70. 00:05:32
    Explore commit in the new branch
  71. Урок 71. 00:07:35
    Git reuses blobs with the same contents
  72. Урок 72. 00:00:56
    Section 7 Introduction
  73. Урок 73. 00:06:02
    Cloning remote repository
  74. Урок 74. 00:07:53
    Exploring contents of the cloned repository
  75. Урок 75. 00:04:07
    Unpacking Git objects
  76. Урок 76. 00:05:19
    Exploring cloned repository in GitHub Desktop
  77. Урок 77. 00:02:46
    Installing text editor Visual Studio Code
  78. Урок 78. 00:06:06
    Exploring Visual Studio Code
  79. Урок 79. 00:11:35
    Commit changes in the cloned repository
  80. Урок 80. 00:13:57
    Git diff command
  81. Урок 81. 00:03:44
    Overview of the changes
  82. Урок 82. 00:01:15
    Section 8 Introduction
  83. Урок 83. 00:03:28
    Why branches merging is needed
  84. Урок 84. 00:04:16
    Fast forward merge
  85. Урок 85. 00:01:54
    Merging process
  86. Урок 86. 00:06:58
    Fast forward merge in action
  87. Урок 87. 00:06:00
    3-way merge
  88. Урок 88. 00:12:39
    Performing 3-way merge
  89. Урок 89. 00:06:41
    Observing Git repository after 3-way merge
  90. Урок 90. 00:04:01
    Installing SourceTree
  91. Урок 91. 00:06:35
    SourceTree in action
  92. Урок 92. 00:03:06
    What is merge conflict
  93. Урок 93. 00:09:49
    Creating merge conflict
  94. Урок 94. 00:06:45
    Observing conflicts in staging area and working directory
  95. Урок 95. 00:03:01
    Resolving merge conflict in Terminal
  96. Урок 96. 00:09:01
    Resolving conflicts in VS Code
  97. Урок 97. 00:00:56
    Section 9 Introduction
  98. Урок 98. 00:03:36
    What is Git hosting service
  99. Урок 99. 00:03:33
    Creating GitHub account
  100. Урок 100. 00:11:01
    Exploring first repository at GitHub
  101. Урок 101. 00:02:57
    Creating another commit at GitHub
  102. Урок 102. 00:01:26
    Creating new branch at GitHub
  103. Урок 103. 00:04:23
    Making changes in the new branch
  104. Урок 104. 00:05:15
    Cloning remote repository
  105. Урок 105. 00:02:56
    What is remote repository
  106. Урок 106. 00:04:04
    How remote repository empowers collaboration
  107. Урок 107. 00:01:36
    Section 10 Introduction
  108. Урок 108. 00:06:16
    Overview of the push, fetch and pull Git commands
  109. Урок 109. 00:04:18
    What is origin
  110. Урок 110. 00:03:05
    List remote and local branches
  111. Урок 111. 00:05:00
    What is tracking branch
  112. Урок 112. 00:03:56
    Checkout remote branch
  113. Урок 113. 00:03:09
    Git remote show origin
  114. Урок 114. 00:06:23
    Git fetch in action
  115. Урок 115. 00:03:55
    Git pull is 2-step process
  116. Урок 116. 00:05:09
    How to perform git pull
  117. Урок 117. 00:08:25
    What is FETCH_HEAD
  118. Урок 118. 00:07:38
    Git pull with fast forward merge
  119. Урок 119. 00:09:10
    Fetch remote changes manually
  120. Урок 120. 00:06:06
    Merge FETCH_HEAD manually
  121. Урок 121. 00:11:59
    Resolving conflicts during Git pull
  122. Урок 122. 00:09:28
    Pushing to remote repository
  123. Урок 123. 00:02:43
    Commit under another author
  124. Урок 124. 00:03:35
    Remote and local branches are in sync now
  125. Урок 125. 00:08:53
    Create remote branch based on local branch
  126. Урок 126. 00:08:00
    Update tracking statuses of the branches
  127. Урок 127. 00:03:53
    Remove remote branch using local terminal
  128. Урок 128. 00:04:25
    Git show-ref
  129. Урок 129. 00:01:04
    Section 11 Introduction
  130. Урок 130. 00:04:30
    Collaboration between contributors
  131. Урок 131. 00:02:36
    What is pull request?
  132. Урок 132. 00:06:12
    Why pull request was named pull request
  133. Урок 133. 00:04:56
    Pull request or Merge request
  134. Урок 134. 00:07:50
    Pull request step-by-step
  135. Урок 135. 00:06:54
    Create new repository at GitHub
  136. Урок 136. 00:02:33
    Changing author of the last commit
  137. Урок 137. 00:05:01
    Pushing branch to remote
  138. Урок 138. 00:07:31
    Open pull request
  139. Урок 139. 00:09:25
    Adding comments and approving pull request
  140. Урок 140. 00:05:30
    Creating and publishing new branch using GitHub Desktop
  141. Урок 141. 00:01:25
    Signing in to GitHub in the GitHub Desktop
  142. Урок 142. 00:09:14
    Creating and merging pull request
  143. Урок 143. 00:03:56
    Adding new collaborator under GitHub
  144. Урок 144. 00:04:50
    Exploring own GitHub account
  145. Урок 145. 00:06:37
    Opening and merging PR by collaborator
  146. Урок 146. 00:02:24
    By default merging is allowed without approvals
  147. Урок 147. 00:04:19
    Configure protected branch rule
  148. Урок 148. 00:02:57
    Merging after required approve
  149. Урок 149. 00:05:59
    Exploring pull requests in the public repositories
  150. Урок 150. 00:11:31
    Working with issues at GitHub
  151. Урок 151. 00:00:51
    Section 12 Introduction
  152. Урок 152. 00:04:47
    Creating Fork
  153. Урок 153. 00:05:14
    How to sync changes from the parent repository
  154. Урок 154. 00:02:05
    Adding new upstream remote repository
  155. Урок 155. 00:02:27
    Fetching changes from upstream
  156. Урок 156. 00:10:56
    Synchronizing changes from upstream
  157. Урок 157. 00:02:33
    How to open pull request from the forked repository
  158. Урок 158. 00:02:00
    Plan for creating pull request from the forked repository
  159. Урок 159. 00:02:08
    Removing repository collaborator
  160. Урок 160. 00:03:01
    Forking repository
  161. Урок 161. 00:03:18
    Committing changes in the forked repository
  162. Урок 162. 00:04:32
    Open pull request from the forked repository
  163. Урок 163. 00:11:44
    Approving and merging pull request from the forked repository
  164. Урок 164. 00:00:55
    Section 13 Introduction
  165. Урок 165. 00:03:17
    Git tags overview
  166. Урок 166. 00:06:53
    Staging vs Production
  167. Урок 167. 00:11:09
    Semantic versioning
  168. Урок 168. 00:04:24
    Lightweight vs Annotated tags
  169. Урок 169. 00:09:33
    Creating lightweight tags
  170. Урок 170. 00:02:51
    Creating annotated tag
  171. Урок 171. 00:03:05
    Exploring git tag object
  172. Урок 172. 00:10:20
    Pushing tags to remote
  173. Урок 173. 00:01:27
    Section 14 Introduction
  174. Урок 174. 00:01:34
    Introduction to Rebasing
  175. Урок 175. 00:05:14
    Merging vs Rebasing
  176. Урок 176. 00:01:57
    How to perform rebasing
  177. Урок 177. 00:02:49
    Rebasing - STEP 1
  178. Урок 178. 00:02:40
    Rebasing - STEP 2
  179. Урок 179. 00:02:16
    Creating new repository
  180. Урок 180. 00:04:51
    Creating feature branch and making changes
  181. Урок 181. 00:03:06
    Rebasing feature branch on top of master branch
  182. Урок 182. 00:01:56
    Completing rebasing by performing merging
  183. Урок 183. 00:05:10
    Exploring graph and commits in SourceTree
  184. Урок 184. 00:01:39
    Deleteing feature branch and pushing to remote
  185. Урок 185. 00:01:12
    Section 15 Introduction
  186. Урок 186. 00:02:19
    Introduction go Git ignore
  187. Урок 187. 00:02:08
    Git file statuses - untracked, tracked and ignored
  188. Урок 188. 00:08:02
    Basic gitignore rules
  189. Урок 189. 00:02:37
    Pushing repository with ignored files to remote
  190. Урок 190. 00:02:54
    Committing previously ignored file
  191. Урок 191. 00:04:09
    Ignore previously committed file
  192. Урок 192. 00:05:32
    Git ignore common practices and templates
  193. Урок 193. 00:01:24
    Section 16 Introduction
  194. Урок 194. 00:04:23
    Detached HEAD state
  195. Урок 195. 00:08:28
    Making experimental commits in detached HEAD state
  196. Урок 196. 00:08:04
    Retaining changes made in the detached HEAD state
  197. Урок 197. 00:00:51
    Section 17 Introduction
  198. Урок 198. 00:03:14
    Cloning one of the public repositories
  199. Урок 199. 00:05:42
    Git log options - oneline, graph, stat
  200. Урок 200. 00:01:44
    Git shortlog
  201. Урок 201. 00:02:52
    Filtering commits by author or keyword
  202. Урок 202. 00:03:07
    Pretty formatting of git log
  203. Урок 203. 00:03:05
    Filter out merge commits in git log
  204. Урок 204. 00:10:18
    Git reset
  205. Урок 205. 00:08:33
    Git revert
  206. Урок 206. 00:03:52
    Modifying last commit using amend option
  207. Урок 207. 00:05:53
    Cherry-picking commits
  208. Урок 208. 00:07:13
    Reflog - log of all Git operations
  209. Урок 209. 00:05:26
    Stashing changes using terminal
  210. Урок 210. 00:02:25
    Stashing using GitHub Desktop
  211. Урок 211. 00:03:20
    Garbage collection
  212. Урок 212. 00:07:59
    Squashing of commits at GitHub
  213. Урок 213. 00:07:40
    Interactive rebasing with squashing in the local repository
  214. Урок 214. 00:06:20
    Git development workflow
  215. Урок 215. 00:01:33
    Section 18 Introduction
  216. Урок 216. 00:04:22
    Creating simple website using GitHub Pages
  217. Урок 217. 00:08:27
    Hosting any Repository using GitHub Pages
  218. Урок 218. 00:09:50
    Creating basic React application
  219. Урок 219. 00:08:43
    Preparing React application for publish to the GitHub Pages
  220. Урок 220. 00:10:43
    Fixing error with cached credentials by using SSH instead of HTTPS
  221. Урок 221. 00:07:27
    Verifying React GitHub Page
  222. Урок 222. 00:10:58
    Configuring custom domain for GitHub Pages
  223. Урок 223. 00:04:59
    Creating static GitHub Page using markdown
  224. Урок 224. 00:00:24
    Wrap Up