X



Git 18

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 9ce4-E6ke)
垢版 |
2022/04/23(土) 03:25:45.27ID:HOOXt/T30
ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。

Git - Fast Version Control System
http://git-scm.com/

◆関連サイト
Pro Git - Table of Contents
http://git-scm.com/book/ja
Git入門
http://www8.atwiki.jp/git_jp/

◆前スレ
Git 16©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1502726047/
Git 17
https://mevius.5ch.net/test/read.cgi/tech/1599016710/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
0504デフォルトの名無しさん (オイコラミネオ MMb5-mw2C)
垢版 |
2022/09/10(土) 17:37:58.38ID:EVlNSVx0M
.gitattributesで.rcファイルをUTF-16LE-BOMに指定してから、git cloneした時にエラーが発生するようになりました
書き方が間違ってるのでしょうか?
>error: failed to encode 'resource.rc' from UTF-8 to UTF-16LE-BOM

.editorconfig
------------------
root = true

[*]
end_of_line = crlf
charset = utf-8
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = false

[*.rc]
charset = utf-16
------------------

.gitattributes
------------------
*.rc working-tree-encoding=UTF-16LE-BOM eol=CRLF
0511デフォルトの名無しさん (ワッチョイ a95f-Mjbb)
垢版 |
2022/09/10(土) 20:25:06.14ID:1BX46xrY0
とあるブランチで開発を進めていて、pushまで完了していつでもブランチ切り替えできる状態ではあるけど
新しくブランチ切ったからそこで作業してと言われた瞬間パニックになる ブランチ切り替えすると作業フォルダの中身変わるの緊張するわ
0512デフォルトの名無しさん (ブーイモ MM81-f1GR)
垢版 |
2022/09/10(土) 20:40:06.16ID:amn8zzJ5M
慣れないうちはコミットログやブランチ同士の関係をグラフ表示できるGitクライアントに頼ったほうがいいよ
ミスっても所詮は手元だけだから、適宜リモートにプッシュしてさえいれば操作は大胆にやればいい
ただしプッシュ前のチェックだけは入念に
0516デフォルトの名無しさん (ワッチョイ 6aad-nSDm)
垢版 |
2022/09/11(日) 08:17:11.62ID:p8irpA6n0
>>510
頭が良い悪いは関係なくて、単に慣れの問題だと思うよ
心配しなくても、そのうち慣れる
0523デフォルトの名無しさん (ワッチョイ 136e-r4yT)
垢版 |
2022/09/27(火) 03:57:55.82ID:x8Dmf6Id0
c:\gittest\server\proj01
c:\gittest\client\proj01

というフォルダ作って上から下にcloneはできて下のフォルダで完結する操作はできたんだけど
下から上にpushしようとすると失敗する

To c:\gittest\server\proj01
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'c:\gittest\server\proj01'

こういう学習のためのテスト環境ってローカル同士じゃダメなんですか?
0527デフォルトの名無しさん (ワッチョイ 527c-tX/F)
垢版 |
2022/09/27(火) 11:33:58.99ID:vJTIC1iI0
そもそもどこからcloneしてきたのか不明だし、こういう質問する奴って情報が不足し過ぎてるような
githubとかにあるようなのをcloneしてpushして失敗しましたとかなら草だがw
0528デフォルトの名無しさん (ワッチョイ 7fe4-Nf8B)
垢版 |
2022/09/27(火) 13:09:21.05ID:+d371Z/C0
別にどこからcloneしてきたとか関係ないよ
デフォルト設定だとbareでないレポジトリへpushできないことがあるのは仕様
bareにするとかdenyCurrentBranchは危ないよとかググれば日本語の情報もいっぱいある
0530デフォルトの名無しさん (ワッチョイ 136e-r4yT)
垢版 |
2022/09/28(水) 11:25:13.07ID:bhRVKQK10
server側をベアで作り直したらうまくいきました
ありがとうございます

なぜ入門書はここら辺を説明してくれずに
まずGitHubのアカウントを作ります。とか言い出してしまうのか
0531デフォルトの名無しさん (ワッチョイ 7fe4-Nf8B)
垢版 |
2022/09/28(水) 11:44:27.73ID:MP/YhhuJ0
選び方が悪いね
そういう方向性の入門書ならプロジェクトリーダー濱野氏の入門Gitだ
5章「2か所で使う」でバックアップリポジトリをbareで作って云々を解説してる
githubには一切触れていない(と思う)
git clone /pub/repositories/~ みたいなローカルマシン内でのcloneを解説してる本は他にあるのかな
0532デフォルトの名無しさん (ワッチョイ ff55-vqPj)
垢版 |
2022/10/01(土) 10:02:20.72ID:DVLayUHe0
Gitをインストールした記憶がないのに、なぜかインストール済みでした。
Git Bashを起動すると、プロンプトが変だし、フォントが小さいし、色付けもされません。
プロンプトは「~>」です。

これはどういうことでしょうか?
0534デフォルトの名無しさん (ワッチョイ c31d-755I)
垢版 |
2022/10/02(日) 17:48:34.37ID:6kxI91N30
コミットメッセージについてです
テキストエディタを使って複数行書く方法と、コマンドライン上で1行書く方法が
あるみたいですが、基本的にはどっちを使うべきなんでしょうか?
0535デフォルトの名無しさん (ブーイモ MMff-HD9v)
垢版 |
2022/10/02(日) 18:05:40.19ID:dk1cJbbAM
仕事や既存OSSならチームのルールがあるだろうから先輩に聞け
個人ならどっちでも自分が楽な方でいい
ぶっちゃけコミットメッセージなんか誰も見ないから実際どうでもいいし、
そのうちチームに入ってから空気読めばいいだけの話なんで学習中の身のうちから意識して鍛えておかなければならないほど大した話ではない
0538534 (ワッチョイ c31d-755I)
垢版 |
2022/10/02(日) 19:05:01.56ID:6kxI91N30
>>537
そうなんですね
インプレスの本ではVSCodeを使いなさいと書いてあったのでそうしました
0539デフォルトの名無しさん (ワッチョイ cfbb-fxWw)
垢版 |
2022/10/02(日) 19:10:39.82ID:uPDZdRB50
コミットメッセージちゃんと書けるやつが本物のプログラマ。書けないやつはゴミグラマー。
自分で試行錯誤しているローカルリポジトリはコマンドラインで適当に入れても良いけど、他人に見せるやつはエディタで丁寧に時間をかけて書く。
コードを書いている時間よりコミットメッセージ書いている時間の方が長いくらいで普通。
0541デフォルトの名無しさん (ブーイモ MMff-HD9v)
垢版 |
2022/10/02(日) 19:28:14.51ID:Sn8H/WH4M
>>539
まあチーム次第だから君が間違っていると言うつもりはないが、一般的に言って流石にコーディングより時間をかけるのは時間の無駄
コミットメッセージは見つけづらくて無駄だから、そんな時間があったらドキュメントでも書いてくれ
0542デフォルトの名無しさん (ワッチョイ 435f-pIDl)
垢版 |
2022/10/02(日) 20:42:06.76ID:t7yq2oGI0
https://git-scm.com/docs/SubmittingPatches#describe-changes
> The log message that explains your changes is just as important as the changes themselves. Your code may be clearly written with in-code comment to sufficiently explain how it works with the surrounding code, but those who need to fix or enhance your code in the future will need to know why your code does what it does, for a few reasons:
...
0547デフォルトの名無しさん (スッップ Sd1f-HD9v)
垢版 |
2022/10/02(日) 23:56:46.78ID:Yp4OiWZtd
今時Tortoiseはないでしょ
GitはSVNなんかと違ってフォルダベースじゃないからファイルエクスプローラ上で操作するのは非合理で、
SourceTreeのようなワーキングツリーの差分をフラットに扱うクライアントのほうが圧倒的に使いやすい
普通に開発を進める分にはVSCodeやVS等のエディタ付属のGit機能で十分だしな
0549デフォルトの名無しさん (ワッチョイ c31d-755I)
垢版 |
2022/10/03(月) 11:24:33.95ID:KjjssmK/0
以前GitHubへSSH認証で接続したことがあったので、
GitBashでssh -T git@github.comと入力してみたのですが、
Permission denied (publickey).と表示され、接続を拒否されてしまいました
どう対処すればよいでしょうか?
0554デフォルトの名無しさん (ワッチョイ 53c8-H9hz)
垢版 |
2022/10/03(月) 23:39:02.11ID:HIJT7OgS0
>>547
ワーキングツリーの差分をフラットに扱う、について詳しく教えてもらえませんか。
fetchするときだけSourceTree使ってるんですが、いい点があるなら知りたいです
差分の見た目はgitkと同じだと感じてまして。
0557デフォルトの名無しさん (ワッチョイ cfbb-Vwkg)
垢版 |
2022/10/04(火) 11:25:30.61ID:00cm+2sC0
TortoiseGitのオーバーレイって別に全OFFでもいいんだよな
もっさり感とかのマイナスイメージの原因でもある
コンソールを開いてないときに全体がダーティかどうかが見えるか程度のメリット
0560デフォルトの名無しさん (アウアウウー Sa27-3IWS)
垢版 |
2022/10/05(水) 08:43:21.48ID:sfonbe+Ea
GUIクライアントならForkおすすめ
0561デフォルトの名無しさん (ワッチョイ 53c8-H9hz)
垢版 |
2022/10/05(水) 22:35:11.78ID:UUeH3vvk0
そうなんだ、fork使ってみようかな
windowsしか知らないけど、sourcetreeだとdiffの横スクロールが使いづらい。
hunkごとに子scrollviewで表示するんだけど、親のscrollviewを下にスクロールしてからじゃないと、子の横スクロールバーが出てこない。
あとダブルクリックでExternal diffできないのも辛い。
さらにコミット画面が、履歴と別の画面なのが個人的にはイヤ。
履歴表示で、コミットをつなぐ線にヒット判定がないのも見ずらい。
0563デフォルトの名無しさん (ワッチョイ ff55-vqPj)
垢版 |
2022/10/06(木) 18:28:48.47ID:N59THtE80
女性二人が書いた売れ筋の入門書を読んでいてもGitについて、どういうものなのかハッキリしないのですが、
分かりやすく解説している本またはサイトを教えてください。
0565デフォルトの名無しさん (ワッチョイ d314-pIDl)
垢版 |
2022/10/06(木) 19:20:02.27ID:zjAiMCMB0
なんでGitが必要なのでしょうか?
シェルスクリプトでcpしてdiffを使って差分を見ればいいのではないでしょうか?
バイナリ形式で保存されていて将来データが取り出せなるので困ります。
0568デフォルトの名無しさん (ワッチョイ cfbb-fxWw)
垢版 |
2022/10/06(木) 19:41:25.37ID:DBe4OZi40
>>565
お前はいつ、誰が、何のために変更したか全部覚えておけるの?
どの変更とどの変更が一緒の組でどれが独立した修正か、差分見ただけですぐに区別できる?
多数の変更案の中から必要なものだけをすぐに組み合わせられる?
開発人数が多くなっても同じことができる?
1万回修正したとして、その差分を全部コピーで持っておくの?
その無数のコピーの中から必要なコピーを見つけるのはどうやってやるの?
0570デフォルトの名無しさん (ワッチョイ d314-pIDl)
垢版 |
2022/10/06(木) 19:50:54.65ID:zjAiMCMB0
>>569
実際に教えていますが何か?
https://richlab.org/coterie/lpf.html

そんな中,まさにその疑問や悩みに応えるような内容の講義
「シェルスクリプト言語論」を金沢地区の大学向けに、2016年から
開講してきました.ここまで4回(4年)開講し,内容が洗練されてきたところでついに書籍化しました.
0571デフォルトの名無しさん (ワッチョイ ff7c-pIDl)
垢版 |
2022/10/06(木) 20:19:02.29ID:tI414gt60
バイナリでも別に過去の履歴は取って来れるような
ただリポジトリは肥大化するしバイナリの管理の為に作られたものでは無いから
相性が良い訳では無いのは分かるのだが

プログラム開発の世界でバイナリと言えば大抵はエクセルなどのオフィス系のファイルだが
正直これらをgitでバージョン管理する必要は無い気はしなくもないw
(でも大抵の会社はバイナリだろうがgitで管理しているが)
0572デフォルトの名無しさん (ワッチョイ d314-pIDl)
垢版 |
2022/10/06(木) 20:45:30.79ID:zjAiMCMB0
>>571
なにか勘違いしているようだな
gitはテキストデータでも保存するときに
バイナリ形式を使っているから将来データが取り出せなくなると言っておるのだ
そのようなものは使わん
0579デフォルトの名無しさん (ワッチョイ c31d-755I)
垢版 |
2022/10/06(木) 23:17:53.55ID:jAkUbGv20
>>563
俺もその本読んだけど、何となくGitの存在意義分かったよ
例えば会議の備忘録がこんな感じで複数あるとしたら?
・備忘録_1.txt
・備忘録_2.txt
・備忘録_1改.txt
・備忘録_最新.txt
・備忘録_3.txt
どれが最も新しいかピンとこない、どの順に更新されたのかピンとこない、
誰がどのファイルにどんな更新を加えたの分からない
そんな問題を解決してくれるのがGitのようなバージョン管理ツール(って書いてある)
0584デフォルトの名無しさん (ワッチョイ d314-xADz)
垢版 |
2022/10/07(金) 10:12:43.41ID:E++rKArz0
>>583
話のわからんやつだな。この本を買え。全部書いとるわ。
https://techbookfest.org/product/5743917710442496

我らが一番問題だと思っているのは、リポジトリーの中身の多くが訳のわからぬバイナリーデータになって
いることだ。そのバージョン管理ソフトウェアが滅んだら復元は絶望的だ。テキストデータ形式ならば眺めれ
ば方策も見えてくるのでまだ何とかなりそうな気がするというのに。「データはテキスト形式で保存せよ」とは
UNIX 哲学でも言われてきたことだ。一体何を考えているのか。
0585デフォルトの名無しさん (ワッチョイ d314-xADz)
垢版 |
2022/10/07(金) 10:13:25.77ID:E++rKArz0
移り行くトレンド
古参のプログラマーなら、これまでどんなバージョン管理ソフトウェアが台頭してきたか振り返ってみよ。す
ぐ思いつくものだけでも、RCS、CVS、SVN、そしてGit。これらは同時期に存在して覇権を争っていたのでは
ない。それぞれが時代を担ってきたといっても過言ではない。時代によって使うものが替わり、新しいバージョ
ン管理ソフトウェアが流行り出せば、その使い方を覚え直し、時にはリポジトリーの移行を強いられてきたこと
だろう。よくまぁ、懲りもせずにといったところだが、我らはもうたくさんだ。もしかすると、諸君は「Git を
覚えれば安泰だ」などと思っているかも知れんが、あと数年、遅くとも5 年も経てばきっと次のバージョン管理
ソフトウェアが登場し、覚え直しとリポジトリーの移行を余儀なくされることだろう。
0586デフォルトの名無しさん (ワッチョイ d314-xADz)
垢版 |
2022/10/07(金) 10:13:49.81ID:E++rKArz0
目的を見失っったバージョン管理ソフト
バージョン管理ソフトウェアのそもそもの目的は何だったのか。開発を続け、バージョンアップしていくソフ
トウェアの維持管理に要するコストの抑制であったはずだ。これは、POSIX 原理主義を崇拝する我らがソフト
ウェアを5 年、10 年と生き長らえさせようとする、その根底に流れる目的そのものである。
ソフトウェアはバージョンアップする。新しいコードを加え、古いコードは切り捨て、時には依存するライブ
ラリーを付け替えもする。その変わる様をすべて見届けることがバージョン管理ソフトウェアの役割であり、そ
れができて初めてまともに維持管理コストの抑制が実現する。ゆえに、
バージョン管理ソフトウェアは、ライブラリーの類よりも遥かに長く生き長らえなければ意味がない。
ところが実際はそうなっていない。「バージョン管理ソフトウェアの維持管理」を強いられる。本末転倒もい
いところ。お前は何を言っているんだ。
0587デフォルトの名無しさん (ワッチョイ cfbb-Vwkg)
垢版 |
2022/10/07(金) 10:26:43.54ID:8xhEA9gJ0
覚え直しと移行すりゃいいじゃん
その時期がくれば便利な移行ツール(git svnコマンドのような)が出回るし、簡単なことだよ
そんなちっぽけなことを恐れて、完全無欠の理想通りじゃないからと今のベターな現実解を忌避するのはあれだ
こだわりが強すぎて社会生活に支障が出るタイプの典型的症例
0588デフォルトの名無しさん (ワッチョイ d314-xADz)
垢版 |
2022/10/07(金) 10:31:38.34ID:E++rKArz0
>>587
何度も何度も覚え直しでお前は成長してると言えるのか
シェルスクリプトだけでなんでもできる
0589デフォルトの名無しさん (ワッチョイ d314-xADz)
垢版 |
2022/10/07(金) 10:33:30.22ID:E++rKArz0
>>587
中身がわけのわからんバイナリデータなのだから壊滅的だ
データは取り出せなくなり移行なんかできん
バージョン管理ソフトウェアが滅んだら復元は絶望的だ
0590デフォルトの名無しさん (ワッチョイ cfbb-fxWw)
垢版 |
2022/10/07(金) 11:43:19.78ID:GHAO4XK10
中身がわからんのはお前が無能だからだろ。ソースも公開されてるし、中身の形式も公開されてるので読んどけ。プロプラな機密ソフトの基準で語ってんじゃねーよ。
中身が完全にわかっているという意味ではテキストと同等かフォーマットが決まってる分それ以上に効率が良い。
0592デフォルトの名無しさん (アウアウウー Sa27-G9OZ)
垢版 |
2022/10/07(金) 12:20:40.01ID:d4ub3t4La
テキストで保存した結果
e38397 e383ad e382b0 e383a9 e3839f e383b3 e382b0 e381a3 e381a6 e4bd95 efbc9f

e383 97e3 83ad e382 b0 e383 a9 e383 9fe3 83b3 e382 b0 e381 a3 e381 a6 e4bd 95ef bc

繝励Ο繧ー繝ウ繝溘Φ繧ー縺」縺ヲ菴包シ
0598デフォルトの名無しさん (ワッチョイ d39f-xADz)
垢版 |
2022/10/07(金) 15:14:19.27ID:h1ATf2/y0
ちなみにgitのリポジトリは、ブランチ、コミット履歴、データ(ファイル)の3種類を
それぞれsha1ハッシュで繋いでいるだけのシンプルな構造
リポジトリをバラしてファイルを取り出すだけのプログラムなら大体の人は1日もあれば作れるよ
0602デフォルトの名無しさん (ワッチョイ d314-xADz)
垢版 |
2022/10/07(金) 17:08:55.91ID:E++rKArz0
>>598
ならばそのsha1ハッシュをPOSIXの範囲で作ってみよ
POSIX準拠で仕様が許されてるハッシュ化コマンドはcksumのみだ
我らはbase64コマンドをawkで作ってみせた
0603デフォルトの名無しさん (ワッチョイ d314-xADz)
垢版 |
2022/10/07(金) 17:09:18.38ID:E++rKArz0
POSIX準拠で使用が許されてる
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況