X



Git 15©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/02/05(日) 05:22:15.65ID:AxwpDksc0
ソースコード管理を行う分散型バージョン管理システム、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 13
http://echo.2ch.net/test/read.cgi/tech/1439563364/
Git 14
http://echo.2ch.net/test/read.cgi/tech/1457412803/
VIPQ2_EXTDAT: default:vvv:1000:512:----: EXT was configured
2017/05/02(火) 14:01:28.44ID:icdrLzQNH
>>758
えーと、git cloneしたら、ファイルの「所有者」は自分になるとかそういうこと言いたいんでしょうか
そういうつまんない議論したくないんですが
760デフォルトの名無しさん (ブーイモ)
垢版 |
2017/05/02(火) 14:57:07.98ID:ciC4yh5PM
>>759
git log で表示されるauthorはファイルのownerでは無くて
コミットした人のconfigで設定されていたauthorが表示されますよね?
2017/05/02(火) 14:59:04.67ID:fJzwGtxI0
>>759
ファイルの所有者の話から始まっているんですよ
口をはさむなら最初から読んでください
762デフォルトの名無しさん (ブーイモ)
垢版 |
2017/05/02(火) 15:05:45.32ID:ciC4yh5PM
>>761
おまえファイルの内容の履歴の意味がわかってないだろ
763デフォルトの名無しさん (スプッッ)
垢版 |
2017/05/02(火) 15:12:56.04ID:QzQj3NgLd
>>757
git blame
してごらん
各行毎にどのコミットに由来するかが表示される

gitにとってコミットが責任の単位なんだよ
2017/05/02(火) 18:08:53.38ID:8dDxRnsR0
>>339
重い
調べたらgitkrakenっていう別ソフトがあるのでこれから試してみる
https://www.gitkraken.com
2017/05/02(火) 21:23:12.72ID:1BL9yepd0
SourceTree2.0になって軽くなったんじゃなかったっけ
2017/05/03(水) 00:02:44.72ID:/FJiuNZS0
バージョン管理で重要なのはファイルの所有者じゃなくて
コミットした内容の所有者というか修正者である。

そのソースコードを誰にあげましたとかいらない。
誰が修正しましたかが重要。しかもメールアドレス付きでね。
重要ならば署名までつけられるしすごいことだよ。

という事で話は終わりじゃね?
767デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/03(水) 01:16:42.02ID:Bt9tKgiK0
masterとリリース用って分けるのが普通?
768デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/03(水) 01:40:20.24ID:jU3FK0a/0
>>767
運用によるgit flowとかgithub flowとかでググれ
2017/05/03(水) 01:47:58.83ID:R+sft0vk0
>>764
どんな塩梅? 日本語使える?
2017/05/03(水) 02:05:05.99ID:Bh8bh08M0
>>757
好奇心ではない、適切な解決策を見つけるために理由を聞いているのだ、と明確に書いたつもりなのだけども。
所有者を保存しておきたい理由が一般的なソースコードのバージョン管理の必要性からはわからず、なぜ保存したいのかわからなければ適切な解決策が提案できないとも書いているんだけども

目的の為に手段を考えるべきで、所有者の保存というのは手段にすぎない。そしてその手段は特にソースコードのバージョン管理を行うという観点からして素直に実装できるものではない。
その目的が「人によって異なる」時点で適切な設計を定義するのが難しくなるだろ。ツールの機能として実装するには、どんな人でも大抵同じ理由でその機能が欲しい、とならなければ細部まで設計できない。
2017/05/03(水) 05:12:21.76ID:B4kcC+3m0
筋が悪いことを延々と主張する人っているんだな
2017/05/03(水) 11:28:03.91ID:xkQWxFrsd
sidやuidのことなら、それはマルチユーザー環境やファイルサーバーなんかでアクセス制御に関連して備わっているもなので、趣旨の異なるgitで保持してもゴミ情報
単なる数字列を見て何ができるんだか
773デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/03(水) 14:11:26.51ID:eMP4zE8M0
guidは糞
2017/05/03(水) 14:32:23.88ID:/FJiuNZS0
>>766
で問題解決したようですね。

バージョン管理で重要なのはファイルの所有者じゃなくて
コミットした内容の所有者というか修正者である。
2017/05/04(木) 05:57:28.02ID:sUxNesMD0
rebaseが強力すぎて、昨日は1日中コミットコメントの修正やってたわ
2017/05/04(木) 08:19:48.19ID:Pg1JSwdjp
実に素晴らしいGWの使い方ですね
2017/05/04(木) 15:10:39.35ID:CGBB8kU5M
誰がコミットしたファイルか
なんて情報は開発中にしか使わないでしょ?
デプロイ時にはパーミッションや所有者情報のほうがずっと大事だし
それらがいつよ間にか黙って消えて無くなるのは辛いことだよ
2017/05/04(木) 15:26:38.42ID:pmL645Ea0
>>777
所有者とパーミッションは設定スクリプトを書けばいい
779デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/04(木) 15:27:35.91ID:TekYC6Iv0
Unixじゃパーミッションやグループやオーナはデプロイ時に設定するのが一般的だな
特にオーナとグループはデプロイするローカルな環境に依存していてパーミッションの効果に影響するから
ソース管理でファイルが保持している情報をそのままデプロイするとかありえん
2017/05/04(木) 15:41:40.21ID:CGBB8kU5M
>>779
そのままデプロイするとかありえんって……
いつの時代の人なんですかね
781デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/04(木) 15:58:20.15ID:TekYC6Iv0
>>780
開発するときにはお前自身は書き込み可能なオーナーとパーミッションになってないと行けないけど、
それがデプロイされた環境でそのまま書き込み可能な状態になってたらクビだよお前
2017/05/04(木) 15:59:46.62ID:pmL645Ea0
正論
2017/05/04(木) 18:41:08.70ID:WxX6+QH80
そういやどうして実行権限だけ保持できるようになってるんだろう
784デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/04(木) 19:07:37.28ID:622MjM8c0
実行できなくなったら困るからじゃね
2017/05/04(木) 19:17:18.51ID:F88t7MBG0
>>783
そう言う風に作ってるから
git update-index --chmod=(+|-)x
なので指定できるのは実行権限だけ
2017/05/06(土) 00:33:44.71ID:+I3PGsM20
ほんと半端なつくりだよな・・・
787デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/06(土) 01:19:34.30ID:ev+w1J/D0
またお前か・・・
2017/05/06(土) 03:29:05.15ID:BjeRux9pp
gitに代わる最強のソースコード管理システム作ってくれてもええんやで
2017/05/06(土) 10:10:06.09ID:TwsseMKW0
Git使い方入門
https://www.amazon.co.jp/dp/4863542178/

お前らが喧嘩している間にGit入門書の決定版が発売されていたな
790デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/06(土) 12:35:49.55ID:ojKA7hlp0
もう3年早く出版してほしかった
2017/05/08(月) 11:12:58.66ID:2v3rAFCf0
>>789
今更入門書なんかいらないよ
卒業編を持ってこい
2017/05/08(月) 15:22:01.83ID:zqCx33pkH
>>789
読み物としては面白い
793デフォルトの名無しさん (ラクッペ)
垢版 |
2017/05/14(日) 11:49:06.33ID:e2rBnMzFM
ファイルの属性が無くなるのは仕様?
setuidしてたやつが動かなくなっちまったぞ
794デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/14(日) 12:05:24.56ID:J/7Z9g0V0
そう仕様
2017/05/14(日) 14:00:37.74ID:c+cCg3z4a
2.13が出たのにお前ら冷たいな
2017/05/14(日) 18:40:23.92ID:F69OObPm0
俺スゲエ、って自慢したいだけのネタさがしで本当はだれもGitなんて興味ない
2017/05/14(日) 18:50:46.97ID:pZ8yqHc90
ということにしたいんだけど、どう?うまくいったかな?
2017/05/15(月) 09:09:53.97ID:ITGYMTaF0
>>794
デフォルトの仕様ってことはわかった
設定で回避したいんだけど、どうしたらいい?
2017/05/15(月) 09:21:16.12ID:Rg+9vKeM0
どう仕様
2017/05/15(月) 10:40:45.14ID:1a1vOse20
hook でスクリプトじゃないかなあ
2017/05/15(月) 16:50:11.42ID:oS2RU2PiM
タイムスタンプはコミット時間で補完出来たけど
setuidの情報とかどこにもないから自分で保存して設定する仕組み作るしかないな
2017/05/15(月) 17:17:42.93ID:Dn3Q0/XD0
setuidはデプロイするシステム側でつけるんじゃないの?
2017/05/15(月) 17:22:44.87ID:ITGYMTaF0
>>802
テスト環境では直接gitでモリモリしてたけど良くないのか?
めったにいじらないファイルだったから気づかなかった
804デフォルトの名無しさん (スッップ)
垢版 |
2017/05/15(月) 18:06:52.29ID:VXPutR+gd
>>803
setuidの目的から考えると、gitの情報から復元するのは危険だろうね
2017/05/15(月) 18:59:30.87ID:ejKo8zg4a
>>799
仕様もない
806デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/20(土) 18:46:22.14ID:NsW7IlhH0
レスがないとは殊勝な
2017/05/21(日) 09:03:49.16ID:lI2AjJAk0
Windows上にリモートリポジトリ置いて、別PCにローカルリポジトリ(リモートのクローン)を置いたときに、
リモートへのpushができなくて困っています。
pull、fetchはできたのでパス設定は誤ってないのと思うのですが。。もし対処が分かる方いましたら教えてください。

------------------------------------------------------------------------------------
remote: error: object directory (リモートリポジトリ)/objects does not exist; check .git/objects/info/alternates.
remote: fatal: unresolved deltas left after unpacking
error: unpack failed: unpack-objects abnormal exit
To (リモートリポジトリ)
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to '(リモートリポジトリ)'
------------------------------------------------------------------------------------
2017/05/21(日) 09:26:50.23ID:lI2AjJAk0
一部解決。
別PC上のgitをバージョン上げたら、TortoiseGitからのpushに成功しました。

が、VisualStudioからのpushができない。。
809デフォルトの名無しさん (エーイモ)
垢版 |
2017/05/21(日) 11:14:10.48ID:h5RyjkDfE
修正用にブランチを作成してから他人のリポジトリにプルリクエストしたんですけど
masterじゃなければpush -fしても大丈夫ですか?
2017/05/21(日) 12:30:11.65ID:p6l6rAE/0
push -fって、他の人が折角作ったリポジトリを破壊したいのか
2017/05/21(日) 14:44:53.34ID:2E7Z41P00
>>808
firewall
2017/05/21(日) 15:02:40.82ID:KYYeGok80
>>810
push -fするのは他人のリポジトリって言ってませんよね?
自分のリポジトリの自分のブランチですよ?

まったくgit初心者ってバレバレなんだから
無理してレスするな
2017/05/21(日) 17:49:40.11ID:kNbVpIPT0
>>812
誤解されるような書き方をするほうが悪い
2017/05/21(日) 18:53:55.05ID:99kOcSi/0
>>812
ですよね
2017/05/21(日) 19:06:11.58ID:lI2AjJAk0
1日頑張ったけど解決しなかった。
わっかんねー。

>>811
Git for Windowsを許可しても、TCP9418を許可してもダメでした。
816デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/22(月) 00:24:29.43ID:rn8iG5MY0
unpack failed: unpack-objects abnormal exit
でググったが分からんな
817デフォルトの名無しさん (エーイモ)
垢版 |
2017/05/25(木) 09:56:57.92ID:gJtqScyhE
.gitignore
task.php
password.txt

これら3つのファイルのみ管理したいんですが
initial commitしてから2回目以降からはpassword.txtの変更をgit add -Aとかでaddされたりコミットしないようにしたいんですけど
どうしたらいいのでしょうか?
毎回git add task.php .gitignoreみたいに手打ちするのが面倒くさいです
818デフォルトの名無しさん (JP)
垢版 |
2017/05/25(木) 10:02:49.20ID:nE79I92lH
.gitignoreに
*して
例外に
task.php
password.txt
入れろ
819デフォルトの名無しさん (エーイモ)
垢版 |
2017/05/25(木) 13:55:40.88ID:gJtqScyhE
.gitignoreの内容をこうするんですか
*
!task.php
!password.txt

でもこうするとpassword.txtを編集した時にpassword.txtもステージングされてしまいコミット対象になってしまいます
2017/05/25(木) 14:26:06.55ID:CXNFHBlU0
.gitignoreに
password.txt
でいいんじゃないの
821デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/05/26(金) 02:46:41.58ID:eV7JVPOs0
>>817
ググりゃすぐ出てくるじゃん

https://stackoverflow.com/questions/936249/how-to-stop-tracking-and-ignore-changes-to-a-file-in-git


試してみたやつ
https://paiza.io/projects/0_6etRTmQWfQIyqckR-FfQ
2017/05/26(金) 06:00:42.82ID:OOmYkqkra
>>817
git update-index --assume-unchanged [filepath]
2017/06/02(金) 22:36:06.11ID:WKcoaBZy0
週末に自宅でプログラミングしていくつかコミット作った後で、
月曜日に会社に出社してからコミットの日付を月曜日の時間に変えたいんですがどうしたらいいですか
2017/06/02(金) 22:47:08.27ID:hTWL2ZhC0
>>823
rebase
2017/06/02(金) 23:03:12.07ID:WKcoaBZy0
rebaseしてみましたが、sourcetreeだと、日時とコミットした...の二つが表示されていて、
日時の方に最初にコミットした時間が残っていますね。。
2017/06/02(金) 23:09:14.20ID:hAX4yYWb0
http://qiita.com/itochan/items/c89a1a9b5bd073217537
この辺の話かね?
827デフォルトの名無しさん (ブーイモ)
垢版 |
2017/06/02(金) 23:11:37.47ID:md2uAZGeM
rebase --ignore-date
828デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/06/02(金) 23:31:48.02ID:ehtIP3uB0
うーん
2017/06/02(金) 23:51:32.96ID:WKcoaBZy0
コマンドじゃなくてsourcetreeで簡単にできないんすかね
2017/06/02(金) 23:55:25.15ID:xUiVlsMK0
出社してからコミットすれば?
2017/06/03(土) 01:59:29.57ID:yxu/fCGK0
週末に作ったコミットと同じ内容のコミットを手作業でコーディングしていって新しくコミット作るしかないんでしょうか
2017/06/03(土) 02:27:51.58ID:Uw5Qf9Wo0
環境がよくわからないのだけれど、別のディレクトリにgit cloneして、週末に作業した分で上書きしちゃえば良くない?
そもそも作業日時を偽装すんなって話だが
2017/06/03(土) 02:57:18.13ID:cXJEfJKU0
家からは別ブランチにプッシュしといて出社してから家でやったコミットをmasterにチェリーピックすればいいのでは
2017/06/03(土) 04:39:47.50ID:/kqtS8wt0
cherry-pick もオプション無しだと元のコミットの AuthorDate を引き継ぐね
コマンドラインからなら -n 指定してそのあとコミットすれば更新されると思うけど
それなら rebase --ignore-date HEAD^ で書き換えたほうが早い
2017/06/03(土) 07:39:06.64ID:M21V1RL00
>>831-832で思ったけど、戻りたいところまでgit reset --softで戻ってaddしてコミットし直しが一番簡単かな?
SourceTreeだけでもできるし
2017/06/03(土) 10:15:19.84ID:sCohk93mH
git rebase -i HEAD~
pick->edit
vi README.md
git add README.md
git commit --amend
git rebase --continue
2017/06/03(土) 12:12:01.42ID:yxu/fCGK0
会社のソースコードを持ち出して自宅で作業してるってバレたら嫌じゃないっすか
2017/06/03(土) 12:35:54.10ID:3br47TQ30
コミットログを改竄しないといけないなんて大変ですね
2017/06/05(月) 10:54:12.94ID:W5i+gg3V0
まさに社畜の鏡
840デフォルトの名無しさん (オッペケ)
垢版 |
2017/06/05(月) 12:21:13.89ID:zngCdN7ur
もはや何の為のソース管理なのか分からんようになっとるなw
2017/06/05(月) 13:38:52.60ID:1bSPHptQ0
gitで管理されていないソースセットがあるとします。
それをgitに取り込んでV1というタグを打ちます。
その後修正して完成します。これをV2とします。
V1とV2の差分をpatch形式で出すには
どういう方法をとると楽ですか?
2017/06/05(月) 14:30:26.22ID:yTD0hQm/H
diff
2017/06/05(月) 14:37:11.85ID:W5i+gg3V0
format-patch
2017/06/05(月) 15:13:47.30ID:1bSPHptQ0
なるほどありがとう。
一長一短感がありますが、いろいろ試してみます。
845デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/06/06(火) 23:15:50.80ID:3B7gGeju0
v2.13.1
846デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/06/07(水) 01:47:24.44ID:MW2os+Jx0
ヒカル TV出演「年間5億は稼ぐ勢いですね」
https://www.youtube.com/watch?v=G7qL6ftpets
第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ!
https://www.youtube.com/watch?v=asF2wQ2xhjY&;t=61s
ユーチューバーの儲けのカラクリを徹底検証!
https://www.youtube.com/watch?v=FUSb4erJSXE&;t=504s
【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開!
https://www.youtube.com/watch?v=Y7DAQ0RKilM&;t=326s
誰も言わないなら俺がYouTuberのギャラ相場を教えます
https://www.youtube.com/watch?v=E4q-vaQh2EQ&;t=118s
YouTuberになりたいのは馬鹿じゃない!YouTuberになる方法
https://www.youtube.com/watch?v=Fr0WXXZRMSQ

最高月収5000万円だとさ。年収じゃなくて「月収」な
おまえらもyoutubeに動画投稿したほうがいいぞ。副業にぴったしだ
やろうと思えばスマホがあればできるぞ
最低2年はやらないとここまではいかないだろうけど才能とアイデアと
企画力と継続力があればが大儲けできる可能性がなくもない
まだまだ他の職種に比べれば競争率は低いからオススメ
顔出したくないならラファエルみたいに仮面つければいい
ハロウィン用でいろいろな仮装マスク売ってるからオヌヌメ
2017/06/07(水) 12:56:26.43ID:0g6Bbo5s0
>>846
グロ
2017/06/10(土) 02:15:10.16ID:7CPx4yEU0
githubでマージされずにクローズされたプルリクを削除したいんですが、どうやったらいいでしょうか
2017/06/10(土) 10:39:35.71ID:PQJA5zwZ0
うちのプロジェクトにもそんなのあるわ
勝手にissue作って自己解決でcloseしやがった
スレ汚し
2017/06/10(土) 14:01:46.70ID:TJyr+hnH0
>>849
普通の使い方じゃん
2017/06/10(土) 18:00:00.37ID:xirQfrrS0
>>848
方法がないっぽいけど、あったら誰か教えて。
2017/06/10(土) 18:07:06.38ID:6wIt3W1Cd
>>849
そんなことで文句言われる方がかわいそう
2017/06/10(土) 18:22:37.76ID:Pg73dp6X0
間違ったcommitを消しちゃうかどうかって議論と通じるものがあるな。
2017/06/10(土) 18:32:00.64ID:TJyr+hnH0
>>853
作業履歴であれば残しておくべきだし、
アプリのバージョン履歴であればリリースしてないものは不要
855デフォルトの名無しさん (ワッチョイ)
垢版 |
2017/06/10(土) 19:22:05.87ID:yLLSprfl0
push -f
856デフォルトの名無しさん (アウアウイー)
垢版 |
2017/06/15(木) 16:04:06.84ID:jiI/lDMda
わかばちゃんと学ぶGit使い方入門

を読んでいます。

コンフリクトの定義は何でしょうか?

上の本では、同じ行に同時に別々の修正が加えられたときに発生すると
書かれています。

オリジナルのファイル:
1 A
2 B

Xさんがオリジナルのファイルを以下のように修正。
1 A
2
3 B

Yさんがオリジナルのファイルを以下のように修正。
1 A
2 B
3 C

この場合 2行目および3行目が異なるため、コンフリクトが発生したことになるのでしょうか?

新しいファイルを以下のように更新すれば問題ないようにも思えます。

1 A
2 B
3 C
857デフォルトの名無しさん (アウアウイー)
垢版 |
2017/06/15(木) 16:06:05.81ID:jiI/lDMda
というか、

同じ行に同時に別々の修正が加えられたときにコンフリクトが発生すると
したら、同時に複数人が同じ内容のファイルを修正なんてほぼ不可能で
あるように思えます。

ですので、コンフリクトの定義は、もっと柔軟なのではないかと思うのですが。
858デフォルトの名無しさん (アウアウイー)
垢版 |
2017/06/15(木) 16:07:51.46ID:jiI/lDMda
1 A
2 B

上のファイルをXさんが

1 A
2 C
3 B

と変更。

Yさんが、

1 A
2 B
3 D

と変更。

うーん。不可能なように思えます。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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