Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.22 KB | None | 0 0
  1. # Оглавление:
  2. 1) [Создание локального репозитория](#создание-локального-репозитория)
  3. 2) [Подготовка к работе](#подготовка-к-работе)
  4. 3) [Выполнение лабораторной работы](#выполнение-лабораторной-работы)
  5.  
  6.  
  7.  
  8. ## Создание локального репозитория
  9.  
  10. 0) Запустил msys
  11. 1) Создал папку work
  12. ```
  13. mkdir work
  14. ```
  15. В папке C:\msys64\home\student\ появилась папка work
  16.  
  17. ![image](uploads/7e8e209cbe1a143afa5238b74381d345/image.png)
  18.  
  19. 2) Перешёл в папку work
  20. ```
  21. cd work
  22. ```
  23. `user-lab01@LAB-01-48 MINGW32 ~/work`
  24.  
  25. 3) Создал локальный репозиторий
  26. ```
  27. git init
  28. ```
  29. C:\msys64\home\student\work появилась папка .git
  30.  
  31. ![image](uploads/d53df8f0bd486734106ec1de9a179206/image.png)
  32.  
  33.  
  34. ## Подготовка к работе
  35. 1) Задал имя и e-mail для git
  36. ```
  37. git config user.Kolosov Denis
  38.  
  39. git config user.email kdv.levart@gmail.com
  40. ```
  41.  
  42. ```
  43. git config --list
  44. ```
  45.  
  46. user.email=kdv.levart@gmail.com
  47.  
  48. user.name=Kolosov_Denis
  49.  
  50.  
  51. ![image](uploads/15af36f8ad357421465964a8f27f9375/image.png)
  52.  
  53. 2) Переместил исходный код программы в папку work - C:\msys64\home\student\work добавлены файлы main.py and iarray.py
  54.  
  55. ![image](uploads/929c7ea632fa01b362cae3b1e42d74ab/image.png)
  56.  
  57. 3) Через msys создал файл .gitignore (touch .gitignore) - C:\msys64\home\student\work создан файл .gitignore
  58. 4) Отредактировал файл .gitignore (Через Sublime Text добавил строку ``**/__pycache__/**``)
  59. 5) Проверил статус git `git status` - `.gitignore iarray.py main.py`
  60.  
  61. Добавил в гит файл .gitignore `git add .gitignore`
  62.  
  63. 6) Опять проверил статус git `git status`
  64.  
  65. ```
  66. новый файл: .gitignore;
  67. ```
  68.  
  69. ![image](uploads/c4b7efec7aa154a2c1230243fd595acb/image.png)
  70.  
  71. Зафиксировал изменение `git commit -m ".gitignore was added."`
  72.  
  73. ![image](uploads/7ad0a4fb150212b506925b37e660d3d1/image.png)
  74.  
  75. 7) Добавил под версионный контроль саму программу
  76. ```
  77. git add iarray.py main.py
  78. ```
  79.  
  80. 8) Проверил статус git `git status`
  81. новый файл: iarray.py \n новый файл: main.py
  82. ![image](uploads/2e42fff3aa75455e5347686c45ce7122/image.png)
  83.  
  84. 9) Зафиксировал изменения
  85. ```
  86. git commit -m "Initial version of program was added."
  87. ```
  88.  
  89.  
  90. ## Выполнение лабораторной работы
  91. 1) Данная программа подсчитывает количество элементов массива, равных максимальному элементу данного массива
  92. ```
  93. def main() - Основная функция программы
  94. def Test1() - Заполнение исходного массива Arr. Возвращает сам массив и количество элементов в нём
  95. def GetMaxCount(Arr, N) - Функция "проходит" по всем элементам массива, возвращает количество элементов,
  96. равных максимальному элементу массива
  97. ```
  98.  
  99. 2) Нашёл тест, при котором программа выдаёт неверное значение:
  100. ```python
  101. def Test2():
  102. Arr = list()
  103. Arr.append(1)
  104. Arr.append(1)
  105. Arr.append(1)
  106. Arr.append(2)
  107. Arr.append(2)
  108. return Arr, 5
  109.  
  110. ```
  111.  
  112. Программа выдаёт: Maximal value is found `4` times.
  113.  
  114. А должна: Maximal value is found `2` times.
  115.  
  116.  
  117. ```
  118. $ git diff
  119. diff --git a/main.py b/main.py
  120. index 788e6b3..dd6cd13 100644
  121. --- a/main.py
  122. +++ b/main.py
  123. @@ -11,9 +11,20 @@ def Test1():
  124.  
  125. return Arr, 5
  126.  
  127. +def Test2():^M
  128. + Arr = list()^M
  129. +^M
  130. + Arr.append(1)^M
  131. + Arr.append(1)^M
  132. + Arr.append(1)^M
  133. + Arr.append(2)^M
  134. + Arr.append(2)^M
  135. + ^M
  136. + return Arr, 5^M
  137. +^M
  138.  
  139. def main():
  140. - Arr, N = Test1()
  141. + Arr, N = Test2()^M
  142.  
  143. ```
  144.  
  145. Команда выдала различия, между `сохранённой` и `текущей` версиями, а именно: Указала строки, в которых произошли изменения и непосредственно их преобразования: удаление старых и добавление новых.
  146.  
  147.  
  148. Фиксация изменений:
  149. ```
  150. git commit -a -m "Test, leading to the wrong output was added"
  151. ```
  152. Ревизия 3.
  153.  
  154. Создал отчёт об ошибке в `issue`
  155.  
  156. 3) см. `issue`
  157.  
  158. 4)
  159. ```
  160. $ git log
  161.  
  162. commit 7d2ddc3c799dbf3dc62c2459bfad399655e78eb1 (HEAD -> master)
  163. Author: Kolosov_Denis <kdv.levart@gmail.com>
  164. Date: Sun Feb 17 01:19:35 2019 +0300
  165.  
  166. Issue was solved!
  167.  
  168. commit c055cb949049ca3ac6efc44a12eb051d985266ce
  169. Author: Kolosov_Denis <kdv.levart@gmail.com>
  170. Date: Sun Feb 17 00:36:28 2019 +0300
  171.  
  172. Test, leading to the wrong output was added
  173.  
  174. commit ac9c9b611685edd4424ad9796c845ade131019ff
  175. Author: Kolosov_Denis <kdv.levart@gmail.com>
  176. Date: Sat Feb 16 22:06:17 2019 +0300
  177.  
  178. Initial version of program was added.
  179.  
  180. commit 3026237a36b875e8512539b9959a7b7c6c17dff9
  181. Author: Kolosov_Denis <kdv.levart@gmail.com>
  182. Date: Sat Feb 16 22:04:09 2019 +0300
  183.  
  184. .gitignore was added.
  185. ```
  186. Команда показала всю историю изменения версий: дату, автора и комментарий
  187.  
  188.  
  189. ```
  190. $ git log --name-status
  191. commit 7d2ddc3c799dbf3dc62c2459bfad399655e78eb1 (HEAD -> master)
  192. Author: Kolosov_Denis <kdv.levart@gmail.com>
  193. Date: Sun Feb 17 01:19:35 2019 +0300
  194.  
  195. Issue was solved!
  196.  
  197. M iarray.py
  198.  
  199. commit c055cb949049ca3ac6efc44a12eb051d985266ce
  200. Author: Kolosov_Denis <kdv.levart@gmail.com>
  201. Date: Sun Feb 17 00:36:28 2019 +0300
  202.  
  203. Test, leading to the wrong output was added
  204.  
  205. M main.py
  206.  
  207. commit ac9c9b611685edd4424ad9796c845ade131019ff
  208. Author: Kolosov_Denis <kdv.levart@gmail.com>
  209. Date: Sat Feb 16 22:06:17 2019 +0300
  210.  
  211. Initial version of program was added.
  212.  
  213. A iarray.py
  214. A main.py
  215.  
  216. commit 3026237a36b875e8512539b9959a7b7c6c17dff9
  217. Author: Kolosov_Denis <kdv.levart@gmail.com>
  218. Date: Sat Feb 16 22:04:09 2019 +0300
  219.  
  220. .gitignore was added.
  221.  
  222. A .gitignore
  223. ```
  224.  
  225. При добавлении параметра `--name-status` под каждым коммитом стали показывать имена файлов, изменённых при создании этого коммита.
  226.  
  227. *Анализировать версии между двумя ревизиями можно по следующей команде*:
  228.  
  229. `git log %Хэш начальной ревизии%..%Хэш конечной ревизии%`
  230.  
  231. Вот пример:
  232.  
  233. ```
  234. $ git log 3026237a36b875e8512539b9959a7b7c6c17dff9..c055cb949049ca3ac6efc44a12eb051d985266ce
  235. commit c055cb949049ca3ac6efc44a12eb051d985266ce
  236. Author: Kolosov_Denis <kdv.levart@gmail.com>
  237. Date: Sun Feb 17 00:36:28 2019 +0300
  238.  
  239. Test, leading to the wrong output was added
  240.  
  241. commit ac9c9b611685edd4424ad9796c845ade131019ff
  242. Author: Kolosov_Denis <kdv.levart@gmail.com>
  243. Date: Sat Feb 16 22:06:17 2019 +0300
  244.  
  245. Initial version of program was added.
  246.  
  247. ```
  248. Сравнить две версии одного и того же файла можно так же с помощью `git diff`
  249.  
  250. `git diff %Хэш старой ревизии%..%Хэш новой ревизии%` filename.py
  251.  
  252. Вот пример:
  253. ```
  254. User@Denis MINGW64 ~/work
  255. $ git diff ac9c9b611685edd4424ad9796c845ade131019ff.. 7d2ddc3c799dbf3dc62c2459bfad399655e78eb1 iarray.py
  256. diff --git a/iarray.py b/iarray.py
  257. index bfe46b8..fc9017f 100644
  258. --- a/iarray.py
  259. +++ b/iarray.py
  260. @@ -5,6 +5,7 @@ def GetMaxCount(Arr, N):
  261. I = 1
  262. while (I < N):
  263. if (Arr[I] > Max):
  264. + Count = 1^M
  265. Max = Arr[I]
  266. else:
  267. if (Max == Arr[I]):
  268.  
  269. ```
  270.  
  271. # Задания из файла
  272.  
  273. ### 1) Добавить картинку можно несколькими способами: Самый простой - нажать `Attach a file` в правом нижнем углу окна content, также можно указать URL картинки, например
  274.  
  275. `![image](https://i.gyazo.com/d8d5d5a751819a6a4575479b77334bb8.png)`
  276.  
  277. ![image](https://i.gyazo.com/d8d5d5a751819a6a4575479b77334bb8.png)
  278.  
  279. ### 2) Оглавление можно делать с помощью специальной конструкции:
  280.  
  281. ```
  282. [Что видит пользователь](#ссылка-на-заголовок-нижним-регистром)
  283.  
  284. ## Ссылка На Заголовок Нижним Регистром
  285. ```
  286.  
  287. Оглавление использовано в самом начале статьи
  288.  
  289. ### 3) Переход по wiki
  290.  
  291. Переход по страницам wiki можно осуществить с помощью следующей формы
  292. `[Текст ссылки](Название ссылки в wiki)`
  293.  
  294. [Домашняя страница](Home)
  295.  
  296. ### 4) Комментарии
  297.  
  298. Комментарий можно добавить с помощью формы `[comment_name]: # (И здесь писать сам комментарий)`
  299.  
  300. [is_it]: # (Just a couple of words and nothing more)
  301.  
  302. ### 5) Стиль оформления таблицы
  303.  
  304. ```
  305. | Первый столбец| Второй столбец | Третий столбец|
  306. |:------------- |:---------------:| -------------:|
  307. | text |text | text |
  308. | text | or maeby not | text |
  309. | text | text | text |
  310. ```
  311.  
  312. | Первый столбец| Второй столбец |Последний столбец|
  313. |:------------- |:---------------:| -------------:|
  314. | Тут всё | Немного | Просто |
  315. |Будет выровнено|**Жирный** |~~Правый~~ |
  316. | слева | текст | Столбец|
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement