1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

情報系大学院生なのにGithubが使えない男の備忘録 #1

Last updated at Posted at 2025-09-28

はじめに

こんにちわ、情報系大学院性なのにGithubが使えない男です。触れる機会は何回かあったんですが、pullとか云々とちょっと難しいそうだーと思って逃げてました。しかし、ちょっと志望で高めの企業のインターンとかで必要(必須?)になってきそうだったので、これを機に勉強しようと思いました。ただ本読んで終わりだと頭から抜けちゃうので、Qiitaで備忘録として残しておこうと思って書いてます。
(人のために書くというよりかは、自分のために書くので、ちょっと文章が雑かも、ごめんなさい)

さて、早速やっていきますかね〜

勉強教材

今回は、横田紋奈さんと宇賀神みずきさんが執筆された『 いちばんやさしいGit&GitHubの教本 第3版 人気講師が教えるバージョン管理&共有入門 「いちばんやさしい教本」 』で勉強させていただきます。
(理由は、、、優しそうな感じがしたから、、、以上)
image.png

Githubとは?

初っ端なんで「Githubとは?」から入ります。自分のイメージとしては、ファイルのバージョン管理が可能であり、人と一緒に作業する時とかに便利?(よう知らん)という感じです💦

[chapter1を読んだ後]

そもそもGitGithubを同一に思ってしまっていた、、、ooh
なるほど、Gitが各時点でのファイルの中身・状態を記録して、記録した中身・状態にいつでも戻すようにできる仕組みなのね。
そんで、Githubが、Gitを利用してインターネット上で他社と共同作業できるようしたwebサービスなんね。なる。

名前だけ聞いた「コミット」とは?

人に言われるままに1回やったことがある「コミット」とはなんぞ?

コミットとは、任意のタイミングでファイルの状態を記録する操作のことを指す、、、らしいです。

なので、記録 = コミットという認識で問題なさそう。そうか私はあの時、ファイルの状態を記録していたのか〜
あと、単にファイルの中身を記録するのではなくて、いつ?誰が?何を変えた?についても記録してくれるらしい。そんで、あの時に戻りたい!となったら、コミット(記録)を選んで、戻ることができるということ。ふむふむ

あー、コミットは自動ではされないのねー、コミットするタイミングは任意と

コミットはハッシュ値(SHA-1)で指定可能

はてさて「リポジトリ」って?

リポジトリ*とは、コミットを貯めておく場所を指すとのこと。コミットをどこに溜めるのかなぁと思ったが、リポジトリにためるのねー、理解。また、既存のリポジトリを手元に持ってくる(コピーする)ことを「クローン」という。

ほう、種類とな?

リポジトリには、2種類に分類されるとのこと。
大きく、「ローカルリポジトリ」と「リモートリポジトリ」に分けられる。ローカルリポジトリが自パソコン内にあるリポジトリで、リモートリポジトリがインタネット上にあるリポジトリっと。
そんで、リモートリポジトリ用のサーバは自前で用意することも可能、あとGithubのようなサービスを使うことも可能。

リモートとローカルを使って、複数人で作業を行なっていく流れで、各自ローカルリポジトリで作業して、リモートリポジトリに反映させる。そんで、別の人はリモートリポジトリをローカルに反映させることで共同作業ができるということかー。

ローカルでの操作イメージ?

ふむふむ、Gitは フォルダー単位 で指定可能とのこと。なので、「Gitで管理するぞー」と決めたら対象のフォルダー内の全てのファイルが管理対象になる。そして、コミット対象のファイルをコミットすると、ローカルリポジトリに保持されるのねー

ふむ、ローカルリポジトリに保持されるまでに「ワークツリー」「ステージングエリア」「Gitディレクトリ」の3つを場所を使うらしい。
流れとしては、
1、ワークツリー内でファイルの編集
2、コミットしたいファイルをステージングエリアに登録
3、登録されたファイルをコミットするとGitディレクトリに保持される

ということー、あくまで大まかな流れ

ワークツリー

ワークツリー(別名,ワーキングツリー,作業ディレクトリ) は、編集の開始地点となる場所。
編集する場所という認識で大丈そ。

ファイルの状態を示す状態名として「unmodified」「modified」があり、名前通り編集したかどうかを意味する。そして、「untracked」は新しく追加されたファイルの状態、つまりGitの管理下にないファイルとのこと。

ステージングエリア

ステージングエリア (別名,インデックス)は、コミットするファイルを登録する場所。
コミットしたいものを、ワークツリーからステージングエリアに登録するっと。するとファイルの状態が「staged」に移るとのこと。そんで、untraced状態のファイルも直後はstaged状態になる。

・modified => staged
・untraced => staged

Gitディレクトリ

Gitディレクトリはコミットを保持する場所。
基本的にGitディレクトリにあるものは変更&削除できないっと。

コミットが無事に終わると、ファイルはunmodifed状態に戻る。そんで、編集すると、modifide・・・と続いていくのねー

リモートリポジトリの操作イメージ

ローカルにあるコミットした内容は、任意でリモートリポジトリに反映可能。(modifiedおよびstagedのものは反映されない)
リモートにあるコミットした内容も、いつでも自分のローカルに反映させることが可能とのこと。

おわり

読みながら雑ではありますが、書いてみました。
概ね自分なりに理解して飲み込めたかなと思います。知らんけど
さて次は、Chapter3(実践)へ行きます!!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?