generated at
gitの難しさ
増井俊之
gitが難しい理由はいろいろあるが、普通のファイルをUnixコマンドで扱えないのは辛いと思う
昔のファイルにアクセスするのがとても難しい
1週間前にどんなファイルを使ってたか、とか簡単に見ることができない
find を使ってファイルを探すこともできない
古いファイルにアクセスするには、データベース操作コマンドが必要である
コマンドラインからSQLを叩いているようなものである
データベース操作コマンドが難しいし
富豪的gitがあればどうだろう
貧民的でも各時刻ごとのファイルがあるように仮想ファイルシステムで見せかけることができるのではbsahd
実際は差分のみ保存し、時刻付きファイル名でアクセスがあればその時点での内容を差分から計算する
このようにアクセスできる
cat ./history/202408181554/branch/path/to/example.txt
相対的日付指定でシンポジックリンクができる
cat ./history/before_1w/branch/path/to/example.txt
findは差分をソースにした検索機能があればよさそう

こういうのは気にならないのだろうか?
増井俊之 はこういうのが気になります
古いファイルにアクセスする機会がまだないので気になっていませんtakker
古いファイルをどうしてもみたいときはGitHubでリンクをポチポチ押してみてます
趣味でしかcode書いていないのもあるかも
使うコマンドがgit addgit add -pgit commitgit pushgit pullgit loggit switchgit branchくらいしかない
昔のファイル構成とか知りたくなりませんか? 増井俊之
頻繁に使うと知りたくなるかもしれませんtakker
実際、よく作っているUserScriptとかは、少し前のversionがどう動いていたかを知りたくなる
しかし上書き更新しているので前のversionを簡単に使えないという……
GitHub(など)で見ればいいや、と思ってますodiak基素
エディターがGitを駆使してこういう表示をする機能がある基素

つらすぎるdnin
過去のコミットを検索して、checkoutしてファイル見るとか
儀式が多すぎ
おそらくコマンドワンライナーを覚えると簡単に使えるようになるんだと思う。覚えられればだけど()takker

sta
本質的に難しいってのは常々感じる
プログラマのプログラマによるプログラマのためのガチツールなので、「初心者のためのわかりやすいメタファー」みたいなのは度外視で、とにかく「こういう概念があったら便利だよね」「こういう概念も必要だね」とプログラマブルに体系化されてつくられていると感じる
その分、gitの仕組みを学ぶことは技術者としては非常に面白い(面白そう(僕はまだ踏み込んだことない(よほど暇になれば手を出してみたい
非常に面白いkuuote
基本構造がよくできていると感じる
ちなみに基本構造を知るのがgitの難しさを緩和するのに一番効くと思っていますkuuote
うまく表現できない
一人利用する分には(慣れれば)さほど難しくない
upload, downloadくらいに帰着できる
エイリアスとかラッパーを書いてそんな感じの使い心地にすればいい
履歴操作や複数人連携(mergeやらrevertやら)については何度やっても忘れる
がっつり使っている間はさすがに慣れてくるが、ちょっと離れたらもう忘れる
コマンドのメモやノートがどんどん膨れ上がっていくぅ。。。
今は「とりあえずとにかく全員git使う!」になってる風潮(?)があるので、もうちょっと簡単な手段用意してもらえるとありがたいなってのがある
けどGitHubが強すぎるので当面は厳しいか
VSCode(他エディタ)の拡張機能とかを使うと、(個人利用の範囲では)何となくでいけるyosider
なお理解は進まない
GUIはTortoise Git以外使ったことがないのでもっと頼ってもいいかもsta
VSCodeさん、使いやすそうですね(gitはいちいちコンソールに切り替えてそっちでコマンド打って使ってた)

GUIで扱えばそこまで難しくないような気がする..?blu3mo
(CUIで扱ったことはないし、今後学ぶつもりもない)
CUIのコマンドはかなり酷くて「undoコマンド必要だろ」と思ってたのだがVSCodeで普通にUndo Last Commitとかできるようになってて「これだよこれ!」という気持ちになったnishio
Diffの表示とか部分的なstagingとかブランチの表示とか、本質的にGUIでやるべきことをCUIでやったせいで難しかったのだと思う
なのでもし「GUIでやるなんて甘えだ!CUIを学ぶべき」という人がいたらぶん殴っていきたい(誇張)
Undo Last Commitとてもたすかるyosider
CUIを知っている人からすると、そのUndoはCUIでいうと git reset HEAD^ ですか?という風に考えてしまうodiak
なるほどwblu3mo
反git的主張が腑に落ちた

環境をインストールして設定入れてとかしないといけない、という導入の難しさもある
windowsの場合

独習Gitが良いらしい

VSSが生きていれば、、と思ったけどそっか、、いまはMicrosoftがgithubやってるのか。。

kyamad9
最初は結構苦労した覚えがある
慣れるのに時間かかる
半 CLI 半 GUI 勢
グラフィカルに見たいものは VSCode の一部拡張機能入れているみたいな感じ
変更履歴見るよう
誰が最後に編集したのか、とか色々見やすくなる
git add git commit とか基本的な操作は CLI でやって、グラフィカルに表示したほうが良い(差分とか)モノは GUI でやっている
意識してやってるわけではないけどそうなっている