Gitの勉強 –紹介編-
Gitは使ってなんぼ
What:Gitってなんですか?
• ファイルのバージョンを管理するもの
– バージョンを管理?
– ファイルの書き換えに対して,任意の状態(任意のバージョン)に戻せる/を作れる
– ソースを書き換えたらコンパイルできないよ!→前の状態に戻そう
Ver.1.0.0 Ver.1.1.0 Ver.2.0.0
好きな時に好きな状態に戻れる
What:Gitってなんですか?
• ファイルのバージョンを管理するもの
– バージョンを管理?
– ファイルの書き換えに対して,任意の状態(任意のバージョン)に戻せる/を作れる
– 新しい部分を追加したいけど全体の整合性はOK?→メインの流れに影響しない流れ(ブランチ)を
作ってテスト.テスト後にメインに戻したり,やっぱりなかったことにしたり.
メイン
新機能追加
論文校正用の変更
What:Gitってなんですか?
• ファイルのバージョンを管理するもの
– ファイルはなんでもいいの?
– いいんです.テキストファイルがメインだけど,一応なんでもOK.
– プログラムのソースコードや論文のTeX (テキストファイル)
– PDFの文書ファイル,パワポ,画像ファイル,...etc.
– 出来る,けれども効率的な管理にはなんない,けど,出来る!
Why:なんでGit?
• 便利だから!
– どう便利かは,色々なサイト等で説明があるのでそちらに.
– 宗教戦争に近いところも無きにしも非ずなところもあったりなかったり寿限無寿限無.
• 必要だから!
– 業務等にてGitを使うことが前提となっていることもある.
– ROSを使う時にはモジュールがGit経由で配布されるので.
– 所属している研究室ではGitを使うようにと「神」が宣うので.
Where:Gitはどこで使う?
Gitホスティングサービス
GitHub
BitBucket
GitLab
…
ローカルPC
インターネット
ローカルでファイル管理
サーバ使ってファイル管理
Gitのコマンドでファイル管理サーバ独自の機能が
あったりなかったり
• ローカルPCで使う
How:どのように管理?
ローカルPC
“.git/”ディレクトリによる管理
リポジトリ
過去の状態
管理対象の
ファイル群
プロジェクト
Gitのコマンドによる
状態の管理
ファイルの
現状態
git init / add / commit
git clone / push / pull
リポジトリのやりとり
• リポジトリでプロジェクトを管理
– プロジェクトA≒ディレクトリA
– ディレクトリAの中に”.git/”がある
溜めたり
戻したり
Who:だれが使う?
• 一人でも
Who:だれが使う?
• 複数人ででも
– チーム開発
– 情報共有
– 他人の力を拝借
when:いつGitをはじめる?
• まあ,おもいたったら?
• まあ,必要になったら?
では,使おう
• インストール
– Unix, Windows, Macいろいろある
– UnixではDebian系, RedHat系, Slackware系などいろいろある
– 説明しきらんし,自分のPC用のインストール方法はぐぐれば出てくる
– 割愛!
• CUI? GUI?
– GUIの分かりやすいソフトもCUIのコマンドがもとになっているので,とりあえずコマンドベースで
覚えておけばよい

Gitの勉強 紹介編-