Skip to content

Commit a9f3220

Browse files
committed
Add Git challenges
1 parent 69c0e17 commit a9f3220

File tree

1 file changed

+120
-1
lines changed

1 file changed

+120
-1
lines changed

index.qmd

Lines changed: 120 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,71 @@ pnas_sub/ pnas_final/ original/
356356
:::
357357
::::
358358

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+
359424
# Git
360425

361426
## なぜGitを使うのか?
@@ -365,6 +430,60 @@ pnas_sub/ pnas_final/ original/
365430
- コードが「壊れた」時に巻き戻せます。
366431
- コードの共有や共同作業を簡単にします。
367432

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+
368487
## チャレンジ:埋もれたファイルを無視する
369488

370489
以下のようなディレクトリ構造があるとします:
@@ -376,7 +495,7 @@ results/plots
376495

377496
`results/data`ではなく、`results/plots`のみを無視するにはどうすればよいでしょう?
378497

379-
## チャレンジ:ログファイル {.smaller}
498+
## チャレンジ: ログファイル {.smaller}
380499

381500
仮に `log_01``log_02``log_03`といった中間ログファイルを作成するスクリプトを書いたとします。 これらのログファイルは保存しておきたいものの、gitで追跡したくありません。
382501

0 commit comments

Comments
 (0)