Gitのはじめのいっぽ
3月 25日 @ 10:00 ~ 11:00 主催者: ねこめし
資料
スライド
音声
こちら (googledriveの音声再生は早送りとかできないので、DL推奨かも)
講演
@y7a / ねこめし
身の回りのファイル
config,.html,.c,tex,txtなど
前と後でど差分があるか分からない
ファイルを管理しよう
- よくある例
-
日付をつける(FILE_yyyy-mm-dd.txt) どこかのファイルにまとめられる
ファイル数が膨大になる
日付だけだと、目grepで探すのはめんどくさい -
ファイルにコメント // comment // ファイルの見通しが悪くなってしまう(有効なコメントなのか分からない)
-
changelog 本当に更新された?管理されている?
メンテナンスするファイルが増えてしまう
エクセルだと・・・
-
ホントにほしいもの
一目で変更箇所がわかる どこを変更したか 余計なファイルがない
Gitってなあに?
ファイルに履歴が残せていく(gitが管理する。ファイルがではない。)
履歴にタグがつけられる
歴史を巻き戻すことが出来る
複数の履歴のツリーを管理することが出来る
gitはconsoleやguiで操作できる
WindowsでもMacでもLinuxでも使用可能
githubを使うことで他者とshareできる(OSS)
実際に使ってみる
- 環境
git for windows
VSCode
- 管理する場所を作る
$ cd <管理するフォルダ> $ git init
gitで履歴を管理する単位?(リポジトリ)
- ファイルを追加(ステージング)しよう
$ git add <追加するファイル>
- 一段落 作業履歴を残そう(コミット)
$ git commit -m <作成したファイル>
履歴にはコメントをつけることもできる
コミットするとステージングからは消える
- 何したっけ? コミットの確認
$ git log
Gitのログを見る
VScodeだと拡張機能を追加しないといけない→Git History をインストール
- ファイルを変更しよう ちょっと待って!git add を打つ前に
$ git status
$ git add <変更したファイル>
履歴を更新する
$ git commit -m <~~変更した~~ファイル>
- 今までのを確認する
$ git log
Gitにはまだまだ機能があります
- 複数の歴史の管理(ブランチ機能)
- PushやPull
- Fetch 等々・・・
参加者の声
-
非gitでの管理について
- 間違って最新のファイルではなく過去のファイルを更新してしまうこともありますよね
- 手動でdiffとってました
- バージョン管理しているのに日付のファイルが管理されていたり、日付のコメントある闇は見たことある
- version上なのに更新日が過去だったり...
-
亀さん使ってます。亀さんで困ったことは、今のとこないです...
-
VisualStudioCode のダウンロード先
-
GUI上からも git initは可能
-
svn にはない概念ですね>ステージング
-
VSCode
- VSCodeの至れり尽くせり感が凄いな
- VSCodeインストールなう。
-
次の commit で反映される変更を表示 だそうです。
git diff --cached
Q & A
-
Q.GitHubはGitのクラウドバージョン?
- A.Gitを利用したホスティングサービスです。
- PullRequest、issueなど開発を支援する拡張があります
-
Q.今書いているコードは言語は何でもいいのか?
- A.テキストベースのコードなら言語なんでもOK
-
Q.ファイルサーバにファイルを保存すれば変更内容が他人と共有されるのでしょうか
- A.リポジトリを複数人でシェアすることはあまりないです。共有する専用の場所を用意して各員で管理してプッシュするのが正しいです。
- 共有フォルダにファイルを置くのは危険な香りがします。
-
Q.確認するときに行番号って表示できる?
- A.
git diff HEAD
で確認可能。 git diff -cached
で次のcommitで反映される変更
- A.
-
Q.バイナリファイルは扱えますか
- A.出来ないことは無いが、仕組み的に推奨はされない。
-
Q. VScodeのgit系おすすめプラグインはあるか?
- A.
-
Q. コメントに日本語使用可能?
- A.文字化けする可能性がある。慣れるまでは日本語をつかってみるのもいいかも
-
Q.履歴を破棄するべきではない理由? - A.gitのポリシーにもとづいてなるべく履歴は残すべき - 打ち消すコミットを基本的には使うべき