@@ -356,6 +356,71 @@ pnas_sub/ pnas_final/ original/
356
356
:::
357
357
::::
358
358
359
+ ## チャレンジ: ファイルの移動 {.smaller}
360
+
361
+ 以下のコマンドシーケンスで、最後のlsコマンドの出力はどうなりますか?
362
+
363
+ ``` bash
364
+ $ pwd
365
+ ```
366
+
367
+ ```
368
+ /Users/jamie/data
369
+ ```
370
+
371
+ ``` bash
372
+ $ ls
373
+ ```
374
+
375
+ ```
376
+ proteins.dat
377
+ ```
378
+
379
+ ``` bash
380
+ $ mkdir recombined
381
+ $ mv proteins.dat recombined/
382
+ $ cp recombined/proteins.dat ../proteins-saved.dat
383
+ $ ls
384
+ ```
385
+
386
+ 1 . ` proteins-saved.dat ` ` recombined `
387
+
388
+ 1 . ` recombined `
389
+
390
+ 1 . ` proteins.dat ` ` recombined `
391
+
392
+ 1 . ` proteins-saved.dat `
393
+
394
+ ## チャレンジ: ファイルの整理 {.smaller}
395
+
396
+ Jamieはプロジェクトに取り組んでいますが、ファイルがあまり整理されていないことに気づきました:
397
+
398
+ ``` bash
399
+ $ ls -F
400
+ ```
401
+
402
+ ```
403
+ analyzed/ fructose.dat raw/ sucrose.dat
404
+ ```
405
+
406
+ ` fructose.dat ` と` sucrose.dat ` のファイルはデータ解析の出力を含んでいます。 以下のコマンドが示す出力を得るために、Jamieはどのコマンドを実行する必要がありますか?
407
+
408
+ ``` bash
409
+ $ ls -F
410
+ ```
411
+
412
+ ```
413
+ analyzed/ raw/
414
+ ```
415
+
416
+ ``` bash
417
+ $ ls analyzed
418
+ ```
419
+
420
+ ```
421
+ fructose.dat sucrose.dat
422
+ ```
423
+
359
424
# Git
360
425
361
426
## なぜGitを使うのか?
@@ -365,6 +430,60 @@ pnas_sub/ pnas_final/ original/
365
430
- コードが「壊れた」時に巻き戻せます。
366
431
- コードの共有や共同作業を簡単にします。
367
432
433
+ ## ストーリー
434
+
435
+ ![ ] ( https://swcarpentry-ja.github.io/git-novice/fig/motivatingexample.png )
436
+
437
+ ## チャレンジ: コミットメッセージを決める
438
+
439
+ 以下のコミットメッセージの内、最後の ` mars.txt ` のコミットに最適なメッセージはどれでしょう?
440
+
441
+ 1 . “Changes”
442
+ 1 . “Added line ‘But the Mummy will appreciate the lack of humidity’ to mars.txt”
443
+ 1 . “Discuss effects of Mars’ climate on the Mummy”
444
+
445
+ ## チャレンジ: ` bio ` リポジトリ
446
+
447
+ - ` bio ` という Git リポジトリ新しく作りましょう。
448
+ - ` me.txt ` というファイルに自分について3文書いて、変更点をコミットしてください。
449
+ - すでに書いた文章の内、ひとつだけ編集して、更にもう一文加えてください。
450
+ - 編集した後の状態とその前の違いを表示してください。
451
+
452
+ ## チャレンジ: 変更点をコミットする {.smaller}
453
+
454
+ 以下の内、` myfile.txt ` を Git リポジトリに保存するためのコマンドはどれでしょう?
455
+
456
+ 1 . ``` bash
457
+ $ git commit -m " my recent changes"
458
+ ```
459
+ 2 . ``` bash
460
+ $ git init myfile.txt
461
+ $ git commit -m " my recent changes"
462
+ ```
463
+ 3 . ``` bash
464
+ $ git add myfile.txt
465
+ $ git commit -m " my recent changes"
466
+ ```
467
+ 4 . ``` bash
468
+ $ git commit -m myfile.txt " my recent changes"
469
+ ```
470
+
471
+ ## チャレンジ: ファイルの復元 {.smaller}
472
+
473
+ ジェニファーは、数週間取り組んできたPythonスクリプトに変更を加えました。そして今朝行った変更により、スクリプトが "壊れ"、動作しなくなりました。 彼女はそれを修正しようとして約1時間費やしましたが、うまく機能しません...
474
+
475
+ 幸い、彼女はGitを使用してプロジェクトのバージョンを追跡していました! 以下のどのコマンドで、` data_cruncher.py ` と呼ばれるPythonスクリプトの最後にコミットされたバージョンを復元できるでしょうか?
476
+
477
+ 1 . ` $ git restore `
478
+
479
+ 2 . ` $ git restore data_cruncher.py `
480
+
481
+ 3 . ` $ git restore -s HEAD~1 data_cruncher.py `
482
+
483
+ 4 . ` $ git restore -s <最後のコミットのID> data_cruncher.py `
484
+
485
+ 5 . 2番と4番の両方
486
+
368
487
## チャレンジ:埋もれたファイルを無視する
369
488
370
489
以下のようなディレクトリ構造があるとします:
@@ -376,7 +495,7 @@ results/plots
376
495
377
496
` results/data ` ではなく、` results/plots ` のみを無視するにはどうすればよいでしょう?
378
497
379
- ## チャレンジ:ログファイル {.smaller}
498
+ ## チャレンジ: ログファイル {.smaller}
380
499
381
500
仮に ` log_01 ` 、` log_02 ` 、` log_03 ` といった中間ログファイルを作成するスクリプトを書いたとします。 これらのログファイルは保存しておきたいものの、gitで追跡したくありません。
382
501
0 commit comments