uchan-nos / os-from-zero

『ゼロからのOS自作入門』(内田公太著、マイナビ出版)のサポートサイトです
https://zero.osdev.jp/
250 stars 10 forks source link

root@DESKTOP-ASS1I0C:~/workspace# git checkout osbook_day02a を実行するとこのようなメッセージがでるんですが,本来は,git checkout osbook_day02aのソースコードがダウンロードされるということでしょうか? なぜかソースコードがダウンロードされません. fatal: not a git repository (or any of the parent directories): .git #145

Open yuzu-krs opened 1 year ago

yuzu-krs commented 1 year ago

image

ponochi commented 1 year ago

勘違いされている箇所が何箇所かあります。 手順は本紙のP.722の付録B『MikanOSの入手』を見ていただければ良いと思うのですが、念の為、説明しておきます。

MikanOSのソースコードがダウンロードできていない原因ですが、最後の方で

$ mkdir mikanos

でディレクトリを作成されていますが、これは必要ないです。 git cloneすると、gitのリポジトリと同じ名前のディレクトリが自動で作成され、その中にソースコード一式がダウンロードされます。 ちなみに、git cloneするときに同名のディレクトリが存在した場合、エラーでソースコードがダウンロードされないので、まずは作成したmikanosのディレクトリを

$ cd ~/workspace
$ rm -rf mikanos

で削除してください。

そして、その状態で

$ git clone https://github.com/uchan-nos/mikanos.git

で、リポジトリをクローン(ダウンロード)してください。

上手くダウンロード出来ていれば以下のように表示されるはずです。 数字部分に関してはその時のgitリポジトリの状態などによって変わるので、数字が違っていても気にされなくて良いですよ。

$ git clone https://github.com/uchan-nos/mikanos.git
Cloning into 'mikanos'...
remote: Enumerating objects: 11511, done.
remote: Counting objects: 100% (4078/4078), done.
remote: Compressing objects: 100% (305/305), done.
remote: Total 11511 (delta 3864), reused 3773 (delta 3773), pack-reused 7433
Receiving objects: 100% (11511/11511), 6.17 MiB | 9.13 MiB/s, done.
Resolving deltas: 100% (7991/7991), done.

一応書いておくと、git checkout は git cloneした後で使うコマンドなので、まずはgit cloneしましょう。

ぱっと見た感じなのですが、gitがどのようなものか、またどのような仕組みで動いているかが理解できていなさそうなので、一度、入門書などでgitについて学習されたほうが良いかもしれませんね。 gitのコマンドについては、ややこしかったり、たまにしか使わないので覚えるのが大変なものもあったりしますが、全部を完璧に覚える必要はないと思います。 まずは普段よく使うものだけ覚えて、あとは必要に応じてネットなどで調べる、で良いでしょう。 仕事や趣味などでの開発でバリバリ使うようになれば、嫌でも覚えますので、まずは基礎知識を頭に入れておくだけで随分違うと思いますよ。 gitに限った話ではないのですが、開発していると覚えることが膨大で覚えきれないと思います。

大切なのは 1.わからないことを言語化できること 2.わからないことに対し、調べる能力 3.必要な情報について、どこを見れば(検索などすれば)解説してあるか知っている ですかね。 もう少しわかり易い言い方をすると、頭の中に辞書のインデックス(索引)をつくるイメージです。

と、長々と書いてしまいましたが、開発ってとても大変だけど、とてもクリエイティブでワクワクするので、困ったときは人に頼っても良いので、いろいろトライしていくと良いと思いますよ!

ponochi commented 1 year ago

あ、それからもうひとつアドバイスです。

root@DESKTOP-ASS1I0C

の部分に関してはユーザ名@コンピュータ名ですが、ネットに公開してしまうとそれを基にクラッカー(=悪いハッカー ※)がPCを攻撃してウィルスやマルウェアに感染させられたり、個人情報を抜き取られる原因にもなるので、ネットに画面コピーをアップするときはウィンドウズのペイントアプリなどで塗りつぶしておくほうが良いと思いますよ。

※)余談ですが、ハッカーは本来、コンピュータの達人という意味の言葉なので、最近では善いハッカーのことをホワイトハッカーという呼び方をして、クラッカーと使い分けようという動きもあるようです。