Git 20

2024/02/15(木) 09:50:09.07ID:En27mXas0

ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。

Git
http://git-scm.com/

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

◆前スレ
Git 17
https://mevius.5ch.net/test/read.cgi/tech/1599016710/
Git 18
http://mevius.5ch.net/test/read.cgi/tech/1650651945/
Git 19
https://mevius.5ch.net/test/read.cgi/tech/1667720427/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2025/11/18(火) 08:50:56.32ID:85wp5LLm0
>>565
用語を誤解してるのかな?
「マージ」というのはリポジトリのブランチに対して「新しいコミット」をつなげる作業なのでリポジトリに入れていないワーキングツリー上のみの変化は対象外
矛盾が出る場合は警告が出て失敗する

現在の変更作業中のものをコミットせずに pull したい場合にはいったん stash に退避して pull した後に stash pop でワーキングツリーに再反映させるのが基本
567デフォルトの名無しさん (ワッチョイ 02dc-A2v6)
垢版 |
2025/11/18(火) 09:45:22.80ID:9r4MKRAe0
マジ卍
2025/11/18(火) 11:21:49.31ID:z0Auw9920
>>565
先にコミットしないといけない理由はプルで競合したりミスを後悔したり後から気づいたときに変更が混ざってうまく戻せなくて詰むから
わざわざコミットが必要なのかと感じたならその考えが古い
Gitのコミットはプッシュするまでは単なるセーブポイントみたいなものでしかないのでコミット後に切ったり貼ったり戻したり自在にコントロールできる
リスクのある面倒事はセーブしてからやろうねという親切設計
569デフォルトの名無しさん (ワッチョイ 2227-43h0)
垢版 |
2025/11/18(火) 12:43:24.98ID:ZK0HcEny0
分かるんだけど聞きたかったのは多分そういうことじゃないと思うよw
570デフォルトの名無しさん (スフッ Sd22-A2v6)
垢版 |
2025/11/19(水) 10:20:49.06ID:f7ODeNAzd
commit して push する前に merge すれば医院で内科医
571デフォルトの名無しさん (オッペケ Sr51-R7md)
垢版 |
2025/11/19(水) 14:59:07.00ID:zgSjVINCr
mergeでcommitする5秒前
2025/11/20(木) 00:40:42.89ID:MoDak8nW0
ステージング機能マジで有り難いな
及第点のコードを一旦ステージングで確保してからさらにcopilotに書いてもらって、壊れちゃったら破棄、みたいなことが何度もできる
2025/11/21(金) 18:29:40.27ID:tFz3/Mbz0
TortoiseGit使ってる方いますか?
2.18.0になってから、特定の日本語フォルダ(「その他」とか「あああ」とか)の下にクローンしてくると、
TortoiseGitから何かを行うだけで落ちて、drdump.comに報告が送られるのだけど、
これって作者の方たちには伝わっているということですか?
2025/11/21(金) 21:33:57.40ID:HzbMl8Uk0
質問は伝わってるかどうかなんだw
2025/11/22(土) 00:17:06.76ID:IiU0oFBnr
>>573
伝わってますよ
いい結果になることをじっと(Git)待ちましょう
2025/11/22(土) 11:22:51.10ID:EPAp5+Sl0
>>574-575
言語特有の問題っぽいし、日本人開発者のサイトも見当たらないし、
落ちてる関数などが伝わっているのならあとは待つしかないかと思いました。
ちなみにこれ、他の方の環境でも起きますよね?
2025/11/22(土) 19:00:06.30ID:sia+Gyha0
>>576
英語できないヘボなんか知らんが今時AIでなんとでもなるやろがい
このページぐらい自力で見つけて読め
https://tortoisegit.org/support/
2025/11/23(日) 14:38:29.81ID:GShv9qMR0
>>576
↓日本語とWindowsで思い当たるならこれかな
git config --global core.longpaths true
git config --global core.quotepath false

これでダメなら自分でissue投げたらいいんじゃないかな?
https://gitlab.com/tortoisegit/tortoisegit/-/issues

ただTortoiseGitはGitの機能フルに使えるわけじゃなくアジア圏でユーザーがほとんどいないんじゃ?
Windowsなら、ほぼSourceTree一択な気が。
2025/11/23(日) 18:39:23.92ID:GUrCm1R20
>>568
ソースコードを混ぜたいんですが、
commit後にpullすればいいんですかね?

あと、stagingした後、変更してcommitしたとき、
その変更はcommitされないんですかね?
2025/11/23(日) 19:07:48.40ID:GShv9qMR0
コード混ぜたいなら、stash利用するか、今編集してるのとは別のフォルダにcloneしてから、winmergeなんかで
手動でマージすりゃいいんじゃないの?
2025/11/23(日) 22:26:15.51ID:TE4qfcZq0
>>578
TortoiseGitはあくまでエクスプローラー拡張として入れてるな
メインはVSCode+拡張機能が一番使いやすいと思う
2025/11/26(水) 12:25:25.04ID:WJRKl4qv0
>>578
GitLabのアカウントを持っていないので保留してたけど、誰かが同じ問題を投げたみたいで、
マルチバイト文字のフォルダで落ちるというIssueが増えてました
SourceTreeも試したことあるけど、個人的には使いにくかったです
2025/11/28(金) 06:06:01.80ID:g9MKEh7I0
>>582
投げた人ですが修正がcommitされてcloseされたでって通知が。
日本語コード領域だけの現象とか謎過ぎ。
2025/11/28(金) 09:25:15.69ID:/la2v63b0
>>583
ありがとうございます。
「ああああ」などの偶数文字数は大丈夫で、「あああ」などの奇数文字数だと落ちるとか、
よくわからない現象でした。
585デフォルトの名無しさん (ワッチョイ 5fd9-fKkV)
垢版 |
2025/11/28(金) 17:55:15.74ID:v2b4o16u0
おまいらどうやって鍛えた?
2025/12/01(月) 21:05:40.66ID:8j3f8TNR0
会社で使ってますが、
commitしないで、ソースコードをGitHubから落としてマージできないんですかね?

commit履歴は残したくないので…
2025/12/01(月) 22:00:34.57ID:4rjwV7G/0
>>586
マージはコミットの一種なので、言葉通りに解釈するなら不可能
お前が何故そんなことをしたいのか、目的を教えてくれたら適切なアドバイスができる可能性はある
2025/12/02(火) 00:28:36.40ID:BqvG31/40
多分無能やろな
2025/12/02(火) 02:17:51.61ID:ojcImH+V0
>>586
変更したファイル(仮にA.txt)を別名ファイル(仮にA_20251202編集中.txt)でどこかに移動
git checkoutで変更前に戻す
ソースコードをGitHubから落とす
WinMergeでA.txtとA_20251202編集中.txtを比較して手動で変更点を取り込む

素晴らしい
誰にでもできる
2025/12/02(火) 06:13:08.87ID:/zay1Des0
>>589
そんな古いやり方はけしからん!
git checkoutではなくgit restoreを使う
これで完璧だろ♪
2025/12/02(火) 06:52:09.73ID:9XpM41KX0
>>587
目的は、
余計なコミットを増やしたくないので
2025/12/02(火) 06:52:37.60ID:9XpM41KX0
>>589
まあ、
これは原始的なやり方ですね…
2025/12/02(火) 06:53:49.44ID:9XpM41KX0
>>590
まあ、
結果としては同じでしょ?
2025/12/02(火) 06:55:06.22ID:9XpM41KX0
>>589

これを素早くやりたい
ファイルが100個とかある場合
2025/12/02(火) 07:36:35.04ID:9u7xFIG40
>>594
git pull —rebase
2025/12/02(火) 08:00:27.10ID:zomdYY830
一回コミットを作成してコピーを取ってコミットを消せばいいんじゃないの?
別ブランチにしとけば良いだけなのに、何ためにコミットを残したくないのかわからないけど、コミットなんて自由に消せるだろ

リポジトリに一切変更を入れたくないのなら git diff で差分を取り出して patch コマンドとかもできるけど、git 使う意味は?
2025/12/02(火) 09:06:25.08ID:/zay1Des0
「commit履歴は残したくないので…」
理由は?
「余計なコミットを増やしたくないので」
まともな会話に期待する方が無理じゃね?
ネタだろ
マージコミットを潰しリーダーがあとでレビューとコンフリクトで苦しみ、権利関係のあやしいコミットをこっそり取り込んで上司が青くなる
2025/12/02(火) 09:32:54.59ID:72/P5RK/0
手元の作業中のブランチに対して上流からのマージコミットを残したくないという意味なら、普通にあるrebaseのユースケースでしょ
1コマンドでやりたいなら>>595で終わり
2025/12/02(火) 12:06:56.01ID:zomdYY830
>>598
用語の問題なの?
rebase でもコミットは残るだろ

merge commit じゃなければ残っても良いの?
branch 切ってそっちに commit 残すのは駄目なの?
2025/12/02(火) 12:36:20.96ID:Y+MgvJXhM
履歴残したくないって、gitが非同期分散ってのわかってないんじゃねーの?
2025/12/02(火) 16:52:38.92ID:E8vq/TQC0
後できれいに履歴を簡単に齟齬なく編集できればこんなに悩むこともないんだけどねぇ
602デフォルトの名無しさん (ワッチョイ 6610-4PCF)
垢版 |
2025/12/02(火) 17:33:10.55ID:+85U09yy0
Gitにコミットしてはいけないファイル(例えば password.txt)をコミットしてしまいました
すべての履歴から完全に削除する方法を教えてください!
2025/12/02(火) 17:49:58.41ID:BqvG31/40
git rebase -iでがんばれ
2025/12/02(火) 20:13:02.23ID:9XpM41KX0
>>595
git pull —rebase

やってみたけど、エラーが出ました…
2025/12/02(火) 20:13:50.78ID:9XpM41KX0
>>599

rebaseでも履歴は残りますね…
2025/12/02(火) 20:15:37.22ID:9XpM41KX0
>>596

結果としてはこれかな

チーム開発なので、余計な履歴は残したくないという意図です…
2025/12/02(火) 20:18:31.25ID:9XpM41KX0
>>606
pushしてpullリクエストしてる間に、ローカルで色々実装して、
リモートではその一時ブランチがマージされたけど、それをローカルに落とせない感じです…
2025/12/02(火) 23:40:44.84ID:zomdYY830
>>607
ローカルの変更はコミット前ということなら
git stash って知ってる?

例えば
git stash
git pull
git stash pop
ってやれば良いだけの話だったりしない?
2025/12/03(水) 01:46:06.58ID:+6HEmhzg0
履歴残さない方がいいってどんだけクソ開発チームだよ
愚かすぎるわ
2025/12/03(水) 01:54:14.66ID:E4d6w5C/r
>>602
それはもうPCを破壊するしかありませんね!
2025/12/03(水) 04:59:41.43ID:x6L4LY4ta
>>606
こんだけわかってない人がチームに居るとか気の毒だな
2025/12/03(水) 11:44:52.15ID:G3Cx7y7oa
>>608 が正解
は置いといて
>>602
push する前なら commit --amend するだけ
push してしまってから気付いたのが push 直後なら速やかに commit --amend して push -f
気付くのが遅れたらアキラメロン
2025/12/03(水) 20:30:47.60ID:JYtDhxXO0
>>608
それかもしれません
それでソースコードがマージされる?
試してみます

ありがとう

あと、--autostash ってのがありますね…
2025/12/03(水) 21:15:29.61ID:+6HEmhzg0
アホにアホな使い方教えるの犯罪だろ
2025/12/04(木) 00:19:41.31ID:9aFL45ol0
GitHubに「stashしてmerge」ボタンあるでしょ?
PRでレビューでガンガンに修正push/commitしても最終的には綺麗にできる
2025/12/04(木) 06:41:15.57ID:P73KDhmt0
>>615
確認してみます…

現在は、主にPRを出す側です
WIndowsかLinuxで…
2025/12/10(水) 13:54:42.18ID:59vEIu9q0
gitできない奴はチームに入れないって結構有効というか、絶妙に難易度が高くて足切りとしていいツールだよね
ライナスもそのあたり狙ってたりしてw
2025/12/10(水) 14:39:08.59ID:IKwJT4WSa
最近はGit操作はもうAI任せだなあ
Gitマウンティングはもう無理や
2025/12/10(水) 20:23:38.06ID:a/IBUoaC0
>>608
stash便利ですね

ありがとう
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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