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
0014デフォルトの名無しさん (ワッチョイ 8ecf-IHZD)
垢版 |
2022/04/23(土) 17:04:59.81ID:pT174lS40
スクリプトからhttps urlをgit cloneしたいんだけど、この条件を満たせるパスワードの渡し方ってないのかな?

- 実行時にユーザー入力を求めない
- コマンドラインにパスワードが見えてしまわない
- ユーザー側の credential.helper 等の設定は変えない
0023デフォルトの名無しさん (ワッチョイ 30e4-E6ke)
垢版 |
2022/04/24(日) 12:12:10.16ID:ShaTWktX0
>>22
環境変数あたりに設定できないのかと思って調べたら無くて、その代わりにGIT_ASKPASSという環境変数の存在を知って
これ使えば環境変数に設定した情報でログインできるんじゃなね?と思って調べたらこんなのが有った
https://stackoverflow.com/questions/68344358/git-askpass-with-user-and-password
ホントに使えるかどうかは試していない
0031デフォルトの名無しさん (テテンテンテン MM34-6JeH)
垢版 |
2022/04/24(日) 14:05:13.87ID:vTJ9qYnsM
コミットしておけばよかった、しなければよかった
これがなくなる
迷わずコミット等をすぐ実行すればいい
訂正したくなったらなんでも軌道修正できる
gitの中心的価値だと思う
0032デフォルトの名無しさん (ワッチョイ 8ecf-IHZD)
垢版 |
2022/04/24(日) 14:27:53.64ID:dUeEO36o0
>>23
これだ!ありがとう。
でもGIT_ASKPASSに設定できるのはファイルだけでコマンドラインはダメなのか。
windows/linux両対応させようとするとちょっと面倒だな。

>>25
sh組み込みコマンドのechoを使う分には大丈夫そう。
仮にもし見えていたとしても一瞬なので問題はなさそうです。
0034デフォルトの名無しさん (ワッチョイ 30e4-E6ke)
垢版 |
2022/04/24(日) 15:52:21.96ID:ShaTWktX0
>>32
用途によってはこの辺も注意する必要ありそう
https://qiita.com/magicant/items/5c8346ce4781f0fe7dce
> Git のコンフィグで credential.helper が設定されていると GIT_ASKPASS 環境変数よりもそちらが優先される。
ユーザに使わせるのなら、ユーザがグローバルにcredential.helperを設定している可能性があるから、リポジトリ単位でcredential.helperを無効にするとかの必要があるかも
0035デフォルトの名無しさん (ワッチョイ 8ecf-IHZD)
垢版 |
2022/04/24(日) 16:13:17.46ID:dUeEO36o0
>>34
credential.helperの設定がcacheの状態で試して問題なかったから、たぶんhelperの設定で
パスワードが要求されない場合はGIT_ASKPASSが使われないということじゃないかと思う。
とりあえずうちの使い方では問題なさそうだった。
0036デフォルトの名無しさん (ブーイモ MMed-pyRw)
垢版 |
2022/04/24(日) 18:06:18.83ID:LCzRo7rmM
mergeの代わりにrebaseするのは現実のワーキングツリーに存在したことのない状態のコミットを作り出すという点で最悪の詐称行為
push前に連続した自分のコミットをまとめる目的だけに使うならセーフ
0043デフォルトの名無しさん (ワッチョイ 8cbb-ocNI)
垢版 |
2022/04/24(日) 22:19:43.05ID:SoZvFYPL0
普段からやってる作業手順
1) 個人リポジトリに作業ブランチを切って試行錯誤。がんがんコミットする。
2) 完成したら機能ブランチを切って rebase
差分を統合したり分割したり順番を入れ替えたりゴミ履歴を取り除いたりコミット・メッセージを分かりやすく直したりする。
後から履歴を確認した時に何のため差分か分かるようにするのが最重要。
3) 綺麗になった機能ブランチを公開(push)して他の人にも確認・テストしてもらう。
4) 問題無さそうなら機能ブランチを現在の master の先頭に rebase して最終テスト
5) 機能ブランチを master に fast forward でマージ。

4) の rebase は機能や履歴によっては特別な意図があって rebase せずに 3way-merge することもあるけどレアケース。
2) の rebase はほぼ必須。一発で完璧なコミット作れるような単純変更以外は常に必要。
0044デフォルトの名無しさん (ワッチョイ 8cdb-Yb1D)
垢版 |
2022/04/24(日) 22:22:11.60ID:FAumgQ8n0
個人リポジトリにブランチ切る理由ってなんなの?
その個人リポジトリでどんな失敗してもリモートにはなんの影響もなんだし
ブランチを切る理由がわからん
0046デフォルトの名無しさん (ワッチョイ 8cbb-ocNI)
垢版 |
2022/04/25(月) 00:04:59.31ID:+4yC3ym+0
えっと rebase どころか branch 使えないやつが湧いてきた件について。
一つ教えてやる。 git はブランチ切って損することはない。何か始める場合は常にブランチ切れ。
0047デフォルトの名無しさん (ブーイモ MMba-gBP2)
垢版 |
2022/04/25(月) 00:52:07.65ID:S+k+oteKM
masterブランチだけで仕事が済むのは幸せなことだよ
頭使わなくてもいい簡単なコードしか書く必要がないか、非効率にダラダラコード書いても怒られないか、もしくはすごく優秀で完璧なコードをサクッと仕上げられるとか
0048デフォルトの名無しさん (テテンテンテン MM34-JgK/)
垢版 |
2022/04/25(月) 08:24:37.40ID:iDVbbzn/M
>>44
ローカルでブランチ切って少しずつコミットすれば、部分的に失敗しても成功した部分は救えるだろ。
実装中に他の実装・機能を試してみたくなっても、新しくブランチ切れば今までのコードの開発履歴を残しておけるだろ。
0049デフォルトの名無しさん (アウアウウー Saab-mX87)
垢版 |
2022/04/26(火) 12:11:17.62ID:/fwuRjsla
>>46
強いて言えばgot branchの結果がウザくなるから定期的に消すかcloneしなきゃならんことがデメリットかな
0052デフォルトの名無しさん (ワッチョイ 8cbb-ocNI)
垢版 |
2022/04/26(火) 15:22:50.57ID:N68+EKXV0
>>49
clone するのは知らないけど、名前の付け方を工夫することで branch がたくさんになっても --sort とか <pattern> match (複雑なら grep でも) とかで何とかなるよ。
正しい名前になるように頻繁に名前変えてる。作業ブランチだと名前に日付入れたりもする。
0054デフォルトの名無しさん (ワッチョイ 328c-lPKc)
垢版 |
2022/04/26(火) 21:35:46.96ID:mJYbKkKI0
>>53
言っている意味がわからない。

お前は複数の機能を実装するとき、機能ごとに分割して開発しないのかね?
あるいは開発途中にデバッグせざるを得なくなったとき、開発を保留してデバックしないのか?
複数の機能をごちゃごちゃに開発するほうがよほどスパゲティだろ。
0056デフォルトの名無しさん (スップ Sd02-pyRw)
垢版 |
2022/04/26(火) 22:10:58.79ID:u6PysQbRd
>>54の理屈はもっともだけど、普通はそもそも複数の機能をローカルだけで一気に開発したりしないよ
それぞれブランチに分割できるんだったらその単位でpull requestを出して共有ブランチにマージしたらいい
そもそも長期間の巨大な変更をしないなら、一時的に開発途中でデバッグせざるを得ないようなケースはstashで十分
0057デフォルトの名無しさん (ワッチョイ 8ecf-IHZD)
垢版 |
2022/04/26(火) 22:27:29.73ID:CkL0lbov0
>それぞれブランチに分割できるんだったらその単位でpull requestを出して共有ブランチにマージしたらいい

仮にそれでできるとしても、人によってbranchの方が便利だと思うならそれを否定する理由もない。
0061デフォルトの名無しさん (ワッチョイ 328c-lPKc)
垢版 |
2022/04/27(水) 00:45:15.24ID:FJFRKed00
>>56
pull request依存か。何らかのツールやホスティングサービスに頼る前提?

>そもそも長期間の巨大な変更をしないなら、一時的に開発途中でデバッグせざるを得ないようなケースはstashで十分

開発途中に一切コミットしないとか信じられん……
コミットに対する考えにマリアナ海溝よりも深い溝があるみたいだ。
0064デフォルトの名無しさん (ワッチョイ 8cbb-ocNI)
垢版 |
2022/04/27(水) 01:12:33.77ID:lKrpqKJw0
branch は機能ごとに切るもののと思い込んでるやつがいるな。
ローカルの branch は作業ごとに切るものだよ。
同じ機能でも複数の実装方法がある時に両方作って性能とかを比べてみたいとかあるだろ。
複数の作業が並行して走ることなんて普通だし、思いつきで試してみたくなることもある。
コミットの整理する時に整理前の試行錯誤とかを別に残しておくとかも普通の使い方。
0065デフォルトの名無しさん (ワッチョイ 98ad-mX87)
垢版 |
2022/04/27(水) 01:44:37.10ID:EqGUmidc0
>>62
1秒おきに更新が気になるとか、病院に行った方がいい

gitの方がはるかに便利だよ
>>64みたいな使い方はsvnでは出来ない
0066デフォルトの名無しさん (ワッチョイ 8cdb-Yb1D)
垢版 |
2022/04/27(水) 01:56:20.17ID:9dk3kBsG0
>>64
思いつきで試してみたくなることなんてないよ

実際には設計が終わった時点でJOBは完了だろ

コーディングは設計とおりに行えば、いいだけだからコーダーは全く頭使わないのが普通
0067デフォルトの名無しさん (ワッチョイ 98ad-mX87)
垢版 |
2022/04/27(水) 01:58:06.00ID:EqGUmidc0
>>66
プロトタイプを作る仕事もあるよ
0071デフォルトの名無しさん (テテンテンテン MM34-6JeH)
垢版 |
2022/04/27(水) 11:45:16.43ID:ebpNfwy6M
またこいつだったのか
こいつの言動には一貫して理解力の低さを感じる
svnも人の更新が勝手にローカルに降りてくるわけじゃないのにまだ分かってないのか
svnを使っていたときに更新コマンドを実行していたのと同じ契機でpullすればいい
svnはログ見たら最新分かるもん!だから最新常に見えてるってことでしょ?って感覚なんだろうが、それと同じ使い勝手がほしいならエイリアスなりショートカットなりで、ログを見る前にfetchする作業フローにすればいい
0072デフォルトの名無しさん (ワッチョイ 8cdb-Yb1D)
垢版 |
2022/04/27(水) 11:57:26.73ID:9dk3kBsG0
お前の理解力の無さは神がかってんなー
その「更新コマンド」とやらを発行するのがいつかって話し

もちろん発行すれば、更新されているかどうかは分かる
svnの場合にはアイコンが変化するから、そのときが発行するタイミングだろ

gitは何時発行すればいいんだよ、
今ですか?w
0077デフォルトの名無しさん (ワッチョイ 8cbb-ocNI)
垢版 |
2022/04/27(水) 12:32:16.27ID:lKrpqKJw0
まじめな話、新しい技術が理解できないんなら、それがお前の限界なので仕事辞めればいいと思うよ。そうすればお前の嫌いな git 使う必要はなくなる。
お前の同僚もみんな辞めて欲しいと思ってるよ。
0081デフォルトの名無しさん (ワッチョイ 321e-iecr)
垢版 |
2022/04/27(水) 20:08:43.28ID:GOlM/HCO0
>>59
あれ?まじか。
おれの環境の問題だったのか
毎度masterブランチ張り替えててダルいんだが。

dcommitするとremotes/git-svnっていうリモートブランチが、同じコミット内容で作られ直されるんだよ。
コミットメッセージが置き換えられて、svnの何番のリビジョンとして作ったっていうリンク(gitkでクリックするとhtmlブラウザが開く)が先頭につく。

なんか設定変えたりしてる?
おれはデフォルト設定のままで使ってて、
気になる点といえば、trunkレイアウトじゃないことだけだな。
ちなみにsvnでcommit(=push)しても作られ直されることはない。
0089デフォルトの名無しさん (ワッチョイ c16e-HoF8)
垢版 |
2022/05/28(土) 01:30:53.48ID:1jgHE0Ej0
今初めてgitを使った共同開発してる。チームメンバーもあまり詳しい人いなくてみんなで手探り手探り
便利ではあるんだけど例えばこっちの環境では動くのにあっちでクローンしてきたら動かねぇぞとか結構細かいトラブルが頻発する
gitのベテランだとやっぱこういうトラブルって起きないもの?ばっちり運用体制整えればトラブルってなくなるのかな
0093デフォルトの名無しさん (アウアウウー Sac5-RJCN)
垢版 |
2022/05/28(土) 12:33:53.47ID:U/gq3eAna
エスパーしてみる
Git固有の話ではなくVCSはおろか集団開発のノウハウすら怪しい状況なのかも
ignoreの使い方を理解してないから個人のローカルリソースへのフルパスがリポジトリに入ってるとか
0095デフォルトの名無しさん (ワッチョイ a1d2-uX7Z)
垢版 |
2022/05/29(日) 14:17:42.75ID:XW+WDPtU0
gitに限らず開発したプロジェクト一式が他の人の開発PCでもビルドできることぐらいは確認するよな?

ソース管理に不要なファイル(下のURL)に依存してたりするとそれも事故の原因だったりする
https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
0096デフォルトの名無しさん (アウアウウー Sac5-2OYr)
垢版 |
2022/05/29(日) 15:42:28.60ID:au8Lw3/Ma
autoconf
0097デフォルトの名無しさん (ワッチョイ d933-yO3c)
垢版 |
2022/05/29(日) 21:53:37.99ID:XTpW04t60
>gitに限らず開発したプロジェクト一式が他の人の開発PCでもビルドできることぐらいは確認するよな?

>ソース管理に不要なファイル(下のURL)に依存してたりするとそれも事故の原因だったりする
>https://github.com/github/gitignore/blob/main/VisualStudio.gitignore

の関係性がよくわからんのだが
ビルドに必要なものはバージョン管理下におけっていうこと?
0100デフォルトの名無しさん (スプッッ Sdf3-uX7Z)
垢版 |
2022/05/30(月) 02:16:00.47ID:Pd7l7DYWd
ビルドに必要なものとReadmeとかの説明書は原則バージョン管理下置くことになる。
許される例外は社内で共通認識になってるライブラリぐらい

>>97
バージョン管理に必要なファイルは把握してるか?
ここに書いてるファイルはいらんのでバージョン管理から外すことになる
https://github.com/github/gitignore/blob/main/VisualStudio.gitignore

誰かが x64/Debug に必要なファイルを混ぜてないか?という話
■ このスレッドは過去ログ倉庫に格納されています

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