Git Internals #memo #git

text
阅读 50 收藏 0 点赞 0 评论 0

Git Internals
https://togetter.com/li/590568

alias deflate="perl -MCompress::Zlib -e 'undef $/; print uncompress(<>)'"


--
echo "Hello World" | git hash-object -w --stdin
git update-index --add --cacheinfo 0644 557... hello.tx

git rev-parse [commit hash]

git help glossary : git関連の用語の意味がわからなくなったときのおすすめコマンド

blob にはファイルの中身のみ、tree にはコミット時のファイル構造を記録してる。

同一内容のファイルを複数コミットすると同じblobが利用され、tree上で複数の名前が1つのblobを指す構造になるそうだ。効率的だね!

git log --pretty=raw おぉ、commitの圧縮ファイルを展開したのと同じ情報がでてきた。わろす。

git merge a1 a2 a3 a4... で一気に複数mergeできるの初めてしった… 

複数ブランチをまとめてコミットするメリットについての説明。関連するブランチをまとめてマージすることで、アトミックに関連ブランチの管理が出来るようになる(切り戻しとかも簡単)。これはとても納得

git show ‘:/word’ だとコミットメッセージに word が含まれるものを検索することができる

複数のブランチを一度にチェックアウトすることはできないけど、git show で別のブランチのファイルを表示することはできる

git show ref:filename で任意のコミットの任意のファイルの状態がとれる

:0:FILE で staging の FILE を指すのか。 $ echo hogehoge > hoge して $ git add hoge して $ git show :0:hoge したら中身表示された。

コミット範囲指定(..)とか^と~の違い,:<n>:<path>の意味などは git help revisions 見ると良いです

https://t.co/rzyEuZXVwb

https://t.co/DFGQlqN6BB

https://t.co/8ay7YqYl1r

Hashからオブジェクトの種類を識別する方法はないが、別のコマンドはある

git cat-file -t commitish

git cat-file -t HASH"でハッシュのオブジェクトの種類を表示する

git cat-file -t HASH"でハッシュのオブジェクトの種類を表示する

gitプロトコルが使えない会社様は git config --global url."https://".insteadOf git:// をしておくといいと思います。

评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号