1
00:00:00,000 --> 00:00:04,408
[МУЗЫКА]

2
00:00:04,408 --> 00:00:08,754
Давайте теперь исследуем некоторые основные команды Git, которые очень полезны для

3
00:00:08,754 --> 00:00:10,660
нас в этой специализации.

4
00:00:11,670 --> 00:00:15,760
Есть гораздо больше, чем то, что мы освещаем в этом упражнении.

5
00:00:18,167 --> 00:00:23,407
Для начала перейдите в удобное место на компьютере и

6
00:00:23,407 --> 00:00:26,745
затем создайте папку с именем git-test.

7
00:00:30,340 --> 00:00:34,600
Затем откройте эту папку в вашем любимом редакторе.

8
00:00:38,190 --> 00:00:43,170
Здесь у меня есть папка git-test, которую мы только что создали, открывая

9
00:00:43,170 --> 00:00:45,390
в моем коде VIsual Studio.

10
00:00:45,390 --> 00:00:49,257
Позвольте мне добавить файл в эту

11
00:00:49,257 --> 00:00:54,148
папку с именем index.html.

12
00:00:54,148 --> 00:00:59,990
Теперь вы можете видеть, что я добавил в некоторый HTML-код в этот индекс к HTML5.

13
00:00:59,990 --> 00:01:02,580
Давайте сохраним изменения.

14
00:01:02,580 --> 00:01:05,240
Теперь давайте переключимся на нашу командную строку.

15
00:01:06,740 --> 00:01:11,320
В командной строке перейдите в папку git-test и

16
00:01:11,320 --> 00:01:15,860
давайте инициализируем эту папку в репозиторий git.

17
00:01:15,860 --> 00:01:19,800
Поэтому для этого в командной строке введите git init.

18
00:01:21,620 --> 00:01:26,020
Теперь эта папка была инициализирована как репозиторий git.

19
00:01:27,170 --> 00:01:32,650
Это наша первая команда git, которую мы узнали, git init.

20
00:01:32,650 --> 00:01:36,320
Это инициализирует текущую папку как репозиторий git и

21
00:01:36,320 --> 00:01:42,380
, когда она инициализирует папку, она помечает эту папку как мастер.

22
00:01:42,380 --> 00:01:45,690
Это главная ветка для моего git.

23
00:01:45,690 --> 00:01:48,210
Теперь давайте не будем беспокоиться о ветках и так далее.

24
00:01:48,210 --> 00:01:51,000
Мы не будем заниматься этим в этом курсе.

25
00:01:51,000 --> 00:01:56,240
Мы будем работать только с мастером филиалом в этой конкретной специализации.

26
00:01:56,240 --> 00:01:58,500
Так что это будет помечено как мастер.

27
00:01:58,500 --> 00:02:02,060
Теперь это начальная точка нашего репозитория.

28
00:02:03,770 --> 00:02:08,410
Следующая команда, которую мы собираемся посмотреть, это статус git.

29
00:02:08,410 --> 00:02:10,510
Если вы введете git status в командной строке,

30
00:02:10,510 --> 00:02:13,740
он сообщит вам текущее состояние папки.

31
00:02:13,740 --> 00:02:17,460
Так что давайте сделаем это в командной строке и посмотрим, что это показывает.

32
00:02:19,470 --> 00:02:23,395
В командной строке введите git status и

33
00:02:23,395 --> 00:02:28,945
прочитайте информацию, которая отслеживается в окне команд.

34
00:02:28,945 --> 00:02:31,235
Вы видите, что написано на ветке мастера.

35
00:02:31,235 --> 00:02:35,200
Итак, это главная ветка, на которой мы находимся, и она говорит,

36
00:02:35,200 --> 00:02:40,690
неотслеживаемые файлы, а затем показывает index.html красным цветом.

37
00:02:40,690 --> 00:02:43,790
На вашем конкретном компьютере он может использовать разные цвета или

38
00:02:43,790 --> 00:02:49,040
представляет это по-разному, но это то, что он показывает на моем Mac.

39
00:02:49,040 --> 00:02:53,775
Итак, теперь этот файл index.html, который мы только что создали в этой папке

40
00:02:53,775 --> 00:02:58,100
, теперь не добавлен в наш репозиторий git.

41
00:02:58,100 --> 00:03:01,680
Итак, давайте продолжим и добавим этот файл в репозиторий git.

42
00:03:01,680 --> 00:03:06,740
Поэтому для этого мы говорим git add, и вы можете просто сказать

43
00:03:06,740 --> 00:03:12,350
dot, что означает, что все файлы в текущем каталоге будут добавлены в

44
00:03:12,350 --> 00:03:17,680
, что называется промежуточной областью моего репозитория git.

45
00:03:17,680 --> 00:03:21,740
Так что теперь, если я снова напечатаю статус git,

46
00:03:21,740 --> 00:03:27,780
вы увидите, что файл index.html помечен зеленым цветом.

47
00:03:27,780 --> 00:03:35,130
И он говорит, что изменения должны быть зафиксированы там, а затем показывает имя файла.

48
00:03:35,130 --> 00:03:39,000
И тогда, это означает, что этот файл готов быть зафиксирован в моем репозитории

49
00:03:39,000 --> 00:03:39,830
git.

50
00:03:41,700 --> 00:03:46,100
Таким образом, следующая команда, которую мы видели, была git add,

51
00:03:46,100 --> 00:03:51,190
с помощью git add вы можете добавить файл или папки в эту промежуточную область.

52
00:03:51,190 --> 00:03:57,250
Поэтому, как только вы добавите его в промежуточную область, вы можете зафиксировать этот снимок

53
00:03:57,250 --> 00:04:03,100
статуса нашей папки в наш репозиторий git.

54
00:04:03,100 --> 00:04:06,460
Так что это означает, что когда вы делаете это git commit.

55
00:04:08,130 --> 00:04:12,610
Что эта команда будет делать, это зафиксировать текущее состояние

56
00:04:12,610 --> 00:04:17,200
наших папок в нашем репозитории git.

57
00:04:17,200 --> 00:04:20,380
Таким образом, все файлы, как они существуют на данный момент,

58
00:04:20,380 --> 00:04:24,570
, как только они были этапами с использованием git add, тогда они будут зафиксированы в

59
00:04:24,570 --> 00:04:29,510
нашем репозитории git, когда мы выполняем папку команды git.

60
00:04:29,510 --> 00:04:34,650
Итак, на этом этапе, когда мы выполняем команду git, то наше начальное состояние

61
00:04:34,650 --> 00:04:40,750
теперь будет изменено на первую фиксацию в репозитории git.

62
00:04:40,750 --> 00:04:42,650
Так что давай продолжим и сделаем это.

63
00:04:45,470 --> 00:04:49,460
Вернитесь в командную строку, давайте напечатаем

64
00:04:49,460 --> 00:04:54,880
git commit, а затем мы можем когда-либо добавить сообщение в нашу фиксацию.

65
00:04:54,880 --> 00:05:00,520
Поэтому я собираюсь сказать git commit -m first commit,

66
00:05:00,520 --> 00:05:04,160
, потому что это наша первая фиксация в нашем репозитории git.

67
00:05:04,160 --> 00:05:10,630
Итак, когда я это делаю, он говорит, что хорошо, один файл был добавлен в репозиторий git, и

68
00:05:10,630 --> 00:05:15,300
какая-то другая информация будет набрана в это окно команд.

69
00:05:15,300 --> 00:05:20,440
Итак, давайте теперь снова проверим статус git.

70
00:05:20,440 --> 00:05:26,220
И теперь вы видите, что он ничего не говорит о фиксации, рабочий каталог чист.

71
00:05:26,220 --> 00:05:31,230
Итак, это означает, что текущее состояние моего рабочего каталога или рабочей папки

72
00:05:31,230 --> 00:05:35,860
было зафиксировано в репозитории git.

73
00:05:35,860 --> 00:05:39,330
Таким образом, снимок был зафиксирован в моем репозитории git.

74
00:05:39,330 --> 00:05:46,851
Теперь я могу ввести следующую команду, называемую git log —oneline.

75
00:05:46,851 --> 00:05:53,020
И посмотрите, что он показывает число там, восьмизначное число там.

76
00:05:53,020 --> 00:05:57,850
А затем также показывает сообщение, которое мы вкладываем в нашу фиксацию, говоря сначала фиксацию.

77
00:05:57,850 --> 00:06:03,340
Так что это журнал всех коммитов, которые были помещены в мой репозиторий данных.

78
00:06:05,120 --> 00:06:13,832
Итак, возвращаясь к нашей следующей команде git, мы увидели, что git log - oneline мы увидим и

79
00:06:13,832 --> 00:06:18,540
он показывает нам краткий журнал всех коммитов.

80
00:06:18,540 --> 00:06:23,920
Если вы просто набираете git log, он отображает гораздо более подробную информацию о

81
00:06:23,920 --> 00:06:26,220
всех коммитах.

82
00:06:26,220 --> 00:06:30,850
Но этого достаточно для получения необходимой нам информации.

83
00:06:33,350 --> 00:06:40,820
Давайте теперь вернемся к нашему редактору здесь, в коде Visual Studio.

84
00:06:40,820 --> 00:06:44,940
Поэтому я собираюсь добавить больше изменений в мой файл index.html.

85
00:06:44,940 --> 00:06:45,945
Так что я добавлю.

86
00:06:54,298 --> 00:06:57,790
Поэтому я изменил свой файл index.html.

87
00:06:57,790 --> 00:07:01,750
Теперь позвольте мне добавить еще одну папку в папку GIT-TEST.

88
00:07:01,750 --> 00:07:07,220
Поэтому я создаю подпапку здесь с именем templates, и

89
00:07:07,220 --> 00:07:13,450
внутри этой папки шаблонов, я собираюсь создать другой файл с именем test.html.

90
00:07:13,450 --> 00:07:17,180
Это просто для того, чтобы показать вам, как git может зафиксировать

91
00:07:17,180 --> 00:07:21,120
всю иерархию папок в своем репозитории.

92
00:07:21,120 --> 00:07:24,754
Так что с test.html теперь есть,

93
00:07:24,754 --> 00:07:31,185
Я просто собираюсь скопировать все из моего index.html

94
00:07:31,185 --> 00:07:36,374
в мой test.html и сохранить изменения.

95
00:07:39,447 --> 00:07:41,484
Возвращаясь к командной строке,

96
00:07:41,484 --> 00:07:45,943
давайте теперь проверим статус нашего репозитория git и этой папки.

97
00:07:45,943 --> 00:07:52,880
Таким образом, ввод git status показывает, что файл index.html

98
00:07:52,880 --> 00:07:57,370
, который мы уже добавили ранее в репозиторий, теперь был изменен.

99
00:07:57,370 --> 00:08:00,207
Поэтому, если есть новая версия файла index.html.

100
00:08:00,207 --> 00:08:04,011
Также он показывает, что есть некоторые неотслеживаемые файлы в

101
00:08:04,011 --> 00:08:06,408
этой папке под названием templates.

102
00:08:06,408 --> 00:08:11,530
Добавим все эти изменения в наш репозиторий, в промежуточную область.

103
00:08:11,530 --> 00:08:16,640
Поэтому снова введите git add dot, а затем все эти

104
00:08:16,640 --> 00:08:21,620
файлы будут добавлены в промежуточную область.

105
00:08:21,620 --> 00:08:23,940
Опять же, проверяя статус,

106
00:08:23,940 --> 00:08:29,490
вы теперь видите, что изменения, которые я был добавлен в промежуточную область.

107
00:08:29,490 --> 00:08:32,850
Таким образом, все эти файлы были добавлены в промежуточную область.

108
00:08:32,850 --> 00:08:34,560
Давайте сделаем еще одну фиксацию.

109
00:08:34,560 --> 00:08:38,381
Так что я бы сказал git commit -m.

110
00:08:40,218 --> 00:08:47,234
Вторая фиксация, а затем давайте проверим журнал.

111
00:08:50,828 --> 00:08:57,480
Если вы проверите журнал, вы теперь увидите, что в моем репозитории git есть две коммиты.

112
00:08:57,480 --> 00:08:59,130
Первый и второй фиксации и

113
00:08:59,130 --> 00:09:03,040
отмечают, что каждому из них присваивается разное число.

114
00:09:03,040 --> 00:09:09,830
Если вы хотите увидеть полную информацию журнала, вы можете просто ввести git log и

115
00:09:09,830 --> 00:09:15,095
, тогда вы увидите больше деталей там, то, что вас интересует.

116
00:09:15,095 --> 00:09:19,115
Поэтому обратите внимание, что oneline commit

117
00:09:19,115 --> 00:09:24,405
дает только первые несколько символов моего номера фиксации там.

118
00:09:24,405 --> 00:09:26,395
Этого достаточно для того, чтобы мы могли оперировать.

119
00:09:29,245 --> 00:09:35,502
Позвольте мне вернуться снова к моей Visual Studio и добавить еще один.

120
00:09:44,019 --> 00:09:45,890
Еще одна строка моего файла index.html.

121
00:09:47,140 --> 00:09:49,800
Итак, теперь мой файл index.html был изменен.

122
00:09:51,660 --> 00:09:53,123
И давайте сохраним изменения.

123
00:09:55,099 --> 00:09:57,871
Возвращаясь к командной строке,

124
00:09:57,871 --> 00:10:04,304
перейти в статус git показывает, что файл index.html был изменен.

125
00:10:04,304 --> 00:10:10,650
Итак, давайте добавим это в промежуточную область, а затем сделаем третью фиксацию.

126
00:10:10,650 --> 00:10:18,720
Итак, скажем, git добавить точку git статус.

127
00:10:18,720 --> 00:10:22,487
Теперь вы видите, что index.html, измененная версия была добавлена.

128
00:10:22,487 --> 00:10:26,240
Теперь мы можем сказать git commit.

129
00:10:31,176 --> 00:10:37,084
Третья фиксация.

130
00:10:37,084 --> 00:10:43,810
И git log oneline, и вы увидите, что в нашем репозитории есть три коммита.

131
00:10:43,810 --> 00:10:48,220
Итак, теперь наш репозиторий содержит снимки трех различных типов.

132
00:10:48,220 --> 00:10:51,468
В конце первого коммита, в конце второго коммита и

133
00:10:51,468 --> 00:10:52,985
в конце третьего коммита.

134
00:10:52,985 --> 00:10:56,842
Теперь мы также можем откатить изменения.

135
00:10:56,842 --> 00:11:01,590
Мы можем вернуть репозиторий к предыдущей версии.

136
00:11:01,590 --> 00:11:04,780
Мы можем вытащить файл из более старой фиксации и

137
00:11:04,780 --> 00:11:09,180
затем пульсировать этот существующий файл в нашем непосредственно из более старой фиксации.

138
00:11:09,180 --> 00:11:14,120
Итак, давайте посмотрим, как мы можем работать с этими вещами, изучив еще пару команд.

139
00:11:15,820 --> 00:11:21,450
На данном этапе наш файл index.HTML находится в текущем состоянии.

140
00:11:21,450 --> 00:11:24,795
Таким образом, вы можете заметить, что он имеет h1 и два p.

141
00:11:26,530 --> 00:11:29,365
Давайте теперь посмотрим на следующую команду git.

142
00:11:30,815 --> 00:11:36,185
Следующая команда git, о которой мы узнаем, это проверка git.

143
00:11:36,185 --> 00:11:40,300
Таким образом, эта команда checkout позволяет нам проверить файл

144
00:11:40,300 --> 00:11:44,040
из предыдущей фиксации в нашем репозитории git.

145
00:11:44,040 --> 00:11:48,050
Так что если нам не нравится текущий файл, который у нас есть в нашей папке и

146
00:11:48,050 --> 00:11:51,160
мы хотим вернуться к предыдущей версии файла,

147
00:11:51,160 --> 00:11:55,090
мы всегда можем проверить файл из предыдущей фиксации, или

148
00:11:55,090 --> 00:12:00,230
из текущей фиксации, а затем продолжить работу с этим файлом.

149
00:12:00,230 --> 00:12:07,136
Итак, давайте воспользуемся этим и посмотрим некоторые изменения папок в нашем репозитории git.

150
00:12:09,137 --> 00:12:15,346
Возвращаясь к нашей командной строке, мы помним, что между вторым и

151
00:12:15,346 --> 00:12:20,235
третьим фиксацией я внес изменения в мой файл index.html.

152
00:12:20,235 --> 00:12:25,526
Предположим, я хочу вернуться к файлу index.html из моей второй фиксации.

153
00:12:25,526 --> 00:12:33,951
Поэтому я могу просто сказать git checkout 900cfcf.

154
00:12:33,951 --> 00:12:40,980
Таким образом, это идентификатор фиксации, номер, который идентифицирует этот конкретный комментарий.

155
00:12:40,980 --> 00:12:46,170
И тогда я могу сказать, index.html и то, что вы заметили

156
00:12:46,170 --> 00:12:53,430
, это старый файл теперь будет проверен в моем текущем рабочем каталоге.

157
00:12:55,919 --> 00:12:58,043
Переходя к моему коду Visual Studio,

158
00:12:58,043 --> 00:13:03,340
вы теперь замечаете, что мой файл index.html вернулся к предыдущей версии.

159
00:13:03,340 --> 00:13:07,936
Таким образом, изменение, которое было сделано до третьего фиксации, теперь исчезло.

160
00:13:07,936 --> 00:13:13,123
Таким образом, мой файл index.html был восстановлен до

161
00:13:13,123 --> 00:13:18,750
, это состояние в конце второго комментария.

162
00:13:18,750 --> 00:13:24,863
Теперь в командной строке, если я напечатаю статус git.

163
00:13:24,863 --> 00:13:29,140
Вы заметите, как этот файл index.html.

164
00:13:29,140 --> 00:13:33,520
Который вернулся к тому, что было в конце второго коммита.

165
00:13:33,520 --> 00:13:37,710
Теперь он уже был поставлен, поэтому с помощью git checkout

166
00:13:38,720 --> 00:13:42,930
мы вытащим старую версию файла, а затем заменим то, что

167
00:13:42,930 --> 00:13:47,670
находится в текущем каталоге, а затем он также проверит его в промежуточной области.

168
00:13:48,970 --> 00:13:53,960
Так что теперь, если я это сделаю, и тогда я понимаю, что это то, что я хочу, я могу просто

169
00:13:53,960 --> 00:13:56,450
сделать еще одну фиксацию на этом этапе.

170
00:13:56,450 --> 00:14:01,090
И тогда этот файл можно прокомментировать как четвертый коммит.

171
00:14:02,710 --> 00:14:08,035
Но предположим, что мне это не нравится, я хочу вернуться к этому файлу

172
00:14:08,035 --> 00:14:13,700
index.html в конце третьей фиксации.

173
00:14:13,700 --> 00:14:21,788
Тогда все, что я могу сделать, это сказать, что git reset HEAD и

174
00:14:21,788 --> 00:14:27,404
index.html.

175
00:14:27,404 --> 00:14:31,821
Таким образом, на данный момент происходит то, что index.html,

176
00:14:31,821 --> 00:14:36,780
измененная версия, которую я проверяю, все еще существует.

177
00:14:36,780 --> 00:14:41,275
Но этот файл не был поставлен в промежуточной области.

178
00:14:43,650 --> 00:14:49,269
Если вы вернетесь и посмотрите на index.html в своем редакторе,

179
00:14:49,269 --> 00:14:54,887
он все равно покажет сцену в конце второй фиксации

180
00:14:54,887 --> 00:15:01,250
, потому что мы вытащили этот файл, используя checout для этого.

181
00:15:01,250 --> 00:15:06,072
Теперь, если вы хотите вернуть его обратно к тому, что было в конце третьей фиксации

182
00:15:06,072 --> 00:15:09,490
, то мы делаем еще одну проверку из третьей фиксации.

183
00:15:10,540 --> 00:15:18,900
Переходя к нашему командному окну типа git status и

184
00:15:18,900 --> 00:15:24,580
вы заметите, что index.html помечен как измененный, но

185
00:15:24,580 --> 00:15:31,040
он также показывает это конкретное заявление здесь, он говорит git checkout -

186
00:15:31,040 --> 00:15:35,270
и ссылка на файл, чтобы отменить изменения в рабочем каталоге.

187
00:15:35,270 --> 00:15:38,150
Так что это один из способов отбросить изменения, которые вам

188
00:15:38,150 --> 00:15:43,095
не нужны, в определенный файл, соответствующий предыдущему фиксации.

189
00:15:43,095 --> 00:15:45,595
Поэтому позвольте мне восстановить этот index.html обратно

190
00:15:45,595 --> 00:15:48,205
к тому, что он был в конце третьей фиксации.

191
00:15:48,205 --> 00:15:53,104
Так что для этого я просто скажу git

192
00:15:53,104 --> 00:15:57,647
checkout — index.html.

193
00:15:57,647 --> 00:16:04,278
И затем, если я делаю статус git, он показывает, что мой каталог чист и, в основном

194
00:16:04,278 --> 00:16:10,520
, мой каталог был восстановлен в состояние конца третьего коммита.

195
00:16:12,370 --> 00:16:17,580
Переходя к файлу в моем коде Visual Studio, я вижу, что

196
00:16:17,580 --> 00:16:21,060
файл был восстановлен обратно в то, что он был в конце третьей фиксации.

197
00:16:21,060 --> 00:16:25,840
Таким образом, это один из способов, если вы внесли изменения в файл после фиксации и

198
00:16:25,840 --> 00:16:28,700
вы хотите просто отменить эти изменения, вы можете просто

199
00:16:28,700 --> 00:16:30,880
проверить файл из последней фиксации.

200
00:16:30,880 --> 00:16:34,530
И тогда все ваши изменения, которые вы сделали после последней фиксации

201
00:16:34,530 --> 00:16:36,220
, будут отбрасываться на месте.

202
00:16:36,220 --> 00:16:40,960
Итак, это некоторые основные команды, которые очень полезны для

203
00:16:40,960 --> 00:16:44,510
вас, когда вы идете на курсы в этой специализации,

204
00:16:44,510 --> 00:16:49,160
, потому что вы можете захотеть совершить в конце каждого упражнения.

205
00:16:49,160 --> 00:16:56,220
И по мере продвижения вперед у вас все равно будет зафиксированная версия

206
00:16:56,220 --> 00:17:01,790
состояния вашей папки в конце предыдущего упражнения.

207
00:17:01,790 --> 00:17:06,920
Таким образом, если вы получаете новое упражнение и вы обнаружили, что вы

208
00:17:06,920 --> 00:17:11,803
совершили ошибки, и вы хотите вернуться к предыдущему фиксации вы

209
00:17:11,803 --> 00:17:18,010
всегда имеете способ сделать это, используя команды, которые мы только что узнали.

210
00:17:18,010 --> 00:17:24,430
Таким образом, с этим базовым пониманием этих нескольких команд git,

211
00:17:24,430 --> 00:17:29,260
мы сможем продолжить с пониманием и

212
00:17:29,260 --> 00:17:33,570
, используя git в курсах этой специализации.

213
00:17:35,560 --> 00:17:41,260
Итак, теперь мы изучили сброс git для определенного файла или git reset

214
00:17:41,260 --> 00:17:47,970
в целом, если вы просто напечатаете git reset, он вернет вас к последней фиксации.

215
00:17:47,970 --> 00:17:51,360
Таким образом, он сбрасывает промежуточную область до последней фиксации

216
00:17:51,360 --> 00:17:55,270
, не нарушая изменений, которые вы сделали в своем рабочем каталоге.

217
00:17:55,270 --> 00:17:58,390
Таким образом, как только вы сбросите, вы можете проверить

218
00:17:58,390 --> 00:18:02,140
предыдущую версию файла, который вы зафиксировали в предыдущем коммите.

219
00:18:02,140 --> 00:18:07,380
Таким образом, вы можете восстановить свою папку обратно туда, где вы были на

220
00:18:07,380 --> 00:18:10,450
начальной точке предыдущего коммита.

221
00:18:10,450 --> 00:18:15,010
Так что иногда, когда вы идете упражнения и вы понимаете, что вы ошиблись

222
00:18:15,010 --> 00:18:20,360
, у вас всегда есть способ вернуться к предыдущей версии.

223
00:18:20,360 --> 00:18:25,665
Итак, с этими командами, я думаю, вы все настроены использовать git в

224
00:18:25,665 --> 00:18:31,111
курсы этой специализации So

225
00:18:31,111 --> 00:18:34,276
в конце этого упражнения, вы Git it?

226
00:18:34,276 --> 00:18:37,459
[МУЗЫКА]