バージョン管理システムについて語るスレ10 (641レス)
上下前次1-新
251(1): 2014/03/11(火)14:20 AAS
>>247
全員がとかいってるけど、
実は「お前が」だよ。
お前一人がわからなかった。
勝手に他人もいっしょにするなよ。
252(5): 2014/03/11(火)14:32 AAS
>>250
え?>>144に対して、
>>213
> gitは普通のディレクトリを使うので、
> 一部のフォルダを特定の人/グループに見せないかいうのは
> ディレクトリと全く同じ設定をすればよい。
なんでしょ?
> 共有ディレクトリを使った方法(>>229の方法)を使っている以上無理。
ってどういうこと?
> でもgitはただのディレクトリだから、ディレクトリを使った方法(>>229)でも
> できるという話。
できるって何が?
> git化することで何も失われていない。
ちなみに、>>244のディレクトリ構成を実際に作って、co-dev1でgit cloneしてみたら、/proj/src/libも取得できちゃったんだけど。
俺はgitの知識がほぼゼロなんで、なにか間違ってるかもしれないけど。
253: 2014/03/11(火)14:38 AAS
>>251
お前一人が勘違いしている可能性は考慮しないのか
254(2): 252 2014/03/11(火)14:43 AAS
ちなみに、俺がやったこと。
/path/to/proj以下に>>244のディレクトリ構成を作って、
cd /path/to/proj
git init
git add *
git commit -a
su - co-dev1
cd ~/src
git clone /path/to/proj
これで、proj/src/lib以下が取得できてしまったんだが、これを取得できないようにするにはどうしたらいい?
255(1): 2014/03/11(火)14:46 AAS
>>252
お前頭悪いなw
共有ディレクトリを使った方法では、
gitを使うことに制限が出る。
無理というのは、その制限の話だ。
gitを使いたくなっただろ?
ちゃんと使おうと思うなら
共有ディレクトリ(>>229)はやめだ。
だが共有ディレクトリ程度でできるレベルであれば
>>244を使えば良い。
256(1): 2014/03/11(火)14:48 AAS
>>254
お前は、パーミッションも読めないのかw
>>244のdrwxrwx--x とかその後のdev-groupとか
意味わかってるか? 本気で馬鹿なのか?
257: 252 2014/03/11(火)14:49 AAS
>>255
ちょっと何を言いたいのか良くわからない。
> 無理というのは、その制限の話だ。
要するに、
>>144
> プロジェクト無いの一部のフォルダを特定の人/グループに見せないとか、更新禁止にするだけだよ?
はできるの?できないの?
> gitを使いたくなっただろ?
いや、svnで満足してるし。
gitはgithubでcloneするくらいでいい。
258: 2014/03/11(火)14:53 AAS
>>256
> >>254
> お前は、パーミッションも読めないのかw
再現できてると思うけど。
ls -lR
.:
合計 4
drwxrwxr-x 4 user1 grp1 4096 3月 11 14:20 2014 src
./src:
合計 8
drwxrwxr-x 2 user1 grp1 4096 3月 11 14:20 2014 app
drwxrwx--- 2 user1 wheel 4096 3月 11 14:20 2014 lib
./src/app:
合計 4
-rw-rw-r-- 1 user1 grp1 6 3月 11 14:20 2014 aaa.c
./src/lib:
合計 4
-rw-rw-r-- 1 user1 wheel 8 3月 11 14:20 2014 bbb.c
uid=500(usr1) gid=500(usr1) 所属グループ=500(usr1),10(wheel),505(grp1)
uid=503(usr2) gid=507(usr2) 所属グループ=507(usr2),505(grp1)
259: 2014/03/11(火)14:54 AAS
>>244
ねえねえ、マジで言ってるの?
git 脳って git には詳しいのかと思ってたら、単なるアホだったのか (w
それ、自分に対する権限しか設定してないから、clone されたら丸見えだよ。
もし、反論するなら事前にベアリポジトリについてググってこい。
まあ、ググって理解したら恥ずかしくて出てこれないと思うが。
260(2): 2014/03/11(火)14:58 AAS
はぁ? なんでcloneするんだよ。
そこから間違ってるじゃないかw
cloneした時点でお前の間違いが明らかになってるんだが。
ファイルベースのリポジトリは最初に用意する人が
cloneするのみ。ファイルベースのリポジトリは
そのディレクリをみんなで共有する仕組みだよ。
最初っからディレクトリを使った方法と
全く一緒だって言ってるじゃないか。
261(1): 2014/03/11(火)15:00 AAS
>>260
複数人で作業すること前提なんですが
262: 2014/03/11(火)15:00 AAS
あたりまえだけど、
drwxrwx--x dev-group:dev-group /proj/.git ← gitデータディレクトリ
こうなってるので、dev-group以外の人はgit cloneできない。
なぜならファイルそのものにアクセス出来ないから。
263: 2014/03/11(火)15:01 AAS
>>261
ディレクトリを共有していれば、
普通に複数人で作業できますが?
gitはただのディレクトリなんだから
(gitとして制限をうけるだけで)
全く同じように共有できるって気づかない?
264(2): 252 2014/03/11(火)15:01 AAS
>>260
> はぁ? なんでcloneするんだよ。
いや俺マジでgitに詳しくないんだけど、cloneってsvnで言えばsvn coじゃないの?
ワーキングコピーを作る方法。
265: 2014/03/11(火)15:02 AAS
あ、もしかして>>244のgitの公式説明
「ファイルベースのリポジトリ」が
一つのディレクトリをみんなで共有する方法だって
気づいていない?
266(1): 2014/03/11(火)15:03 AAS
>>264
> いや俺マジでgitに詳しくないんだけど、cloneってsvnで言えばsvn coじゃないの?
> ワーキングコピーを作る方法。
本当にに詳しくないなwwwwwwwwwwwwwwww
gitにはsvnみたいに、ワーキングコピーとリポジトリなんて
二つにディレクトリに別れてないの。
普通のディレクトリを、場所を変えずにそのままで
gitリポジトリに変えられちゃうんだよ。
き・そ・ち・し・き
267(1): 2014/03/11(火)15:04 AAS
まさかとは思うが、複数人が同じサーバにログインして、同じディレクトリ下で開発するとか思ってないだろうな?
268(1): 2014/03/11(火)15:06 AAS
proj/src/lib以下はリポジトリ分けて
projのサブモジュールにするんでしょ?
何かおかしなこと言ってるヤツいるけど
269: 252 2014/03/11(火)15:07 AAS
>>266
> gitにはsvnみたいに、ワーキングコピーとリポジトリなんて
> 二つにディレクトリに別れてないの。
話が全然かみ合わないんだけど、gitだって全員の変更を一つにまとめる中央リポジトリ的なものがあるんじゃない?
俺の薄い知識だと、それとローカルを同期させたり差分を取り込んだりするのにpull/pushがあると思ったが。
> 普通のディレクトリを、場所を変えずにそのままで
> gitリポジトリに変えられちゃうんだよ。
いや、その程度は知ってるって。>>252に手順示したじゃん。
270(1): 2014/03/11(火)15:08 AAS
>>264
mkdir hogehoge ← ディレクトリ作りました。
cd hogehoge ← ディレクトリに移動しました。
touch a ← まあ適当にファイルを作ってみましょう。
-------- ここまでgitとは無関係の作業 -----------
git init ← hogehogeがgitリポジトリになりました。
-------- これだけでgit化終わり -----------
git checkout -b branch1 ← ブランチ1に切り替え
git add a ←ファイル追加
git commit ← ファイルコミット
-------- なんでもできます -----------
gitを始めるのにcloneなんて要りません。
271: 2014/03/11(火)15:08 AAS
>>268
> proj/src/lib以下はリポジトリ分けて
> projのサブモジュールにするんでしょ?
そんなことしなくても出来ると言って暴れてる奴がいるんだよ
272(1): 2014/03/11(火)15:09 AAS
>>270
一人の場合はそれでいいが、今は複数人で開発するときの話だ
273: 2014/03/11(火)15:09 AAS
>>267
> まさかとは思うが、複数人が同じサーバにログインして、同じディレクトリ下で開発するとか思ってないだろうな?
それ、共有ディレクトリ(>>229)を作ったやり方の話話をしてるんだよね?
229 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/11(火) 10:40:50.83
>>220
user = {dev1, dev2, co-dev1}
がいるときに、
/proj/src/app/
/proj/src/lib/
/proj/src/else
/proj/else
というディレクトリ構成で、
* dev1,dev2は全てのディレクトリ以下を参照できる
* co-dev1は/proj/src/lib以下を見ることができない。それ以外は全部参照できる
という設定をするとき、
dev-group = {dev1, dev2, co-dev1}
lib-dev-group = {dev1, dev2}
というグルーピングをし、
chgrp -R /proj dev-group
chgrp -R /proj/src/lib
chmod -R 770 /pro/src/lib
とすれば実現できるが、これをgitではどうやるかという話だと思うが。
もちろん、複数人で開発するのだから、サーバでの話。
274: 2014/03/11(火)15:11 AAS
>>272
だから複数人で共有しろよ、gitディレクトリを。
>>229で話しているのはそういうことだよ。
275: 2014/03/11(火)15:13 AAS
底辺だとそんな開発してるんだな
勉強になるわ
276: 2014/03/11(火)15:14 AAS
複数人で開発したことないんだと思うよ
277: 2014/03/11(火)15:14 AAS
共有ディレクトリを使ってパーミッションでアクセス制限とかw
>>229は前時的な開発してるな。
さっさとgit化すればいいのにw
278: 2014/03/11(火)15:15 AAS
>>229のやり方って複数人で開発できるの?
できるならgitでも同じことやれば出来るってわかるけど。
279: 2014/03/11(火)15:19 AAS
>>229のやり方でもグループを適切に設定すれば複数人で開発できるよ。
(もちろんgitのディレクトリを共有するやり方でもね)
ただ、それだと共有ディレクトリを使ったレベルまで
開発が不便になるから、この場合は普通にやるなら
サブモジュールを使って管理するべきことだろう。
今話してるのは、git化しても共有ディレクトリを使ったやり方はできるから
gitなし共有ディレクトリと何も変わらないということ。
280: 229 2014/03/11(火)15:22 AAS
単なるファイルシステム上のアクセス制限であれば、>>229のように設定すれば実現できるが、
それをgitでできるのか?というのが>>229の趣旨。
もちろん、単一ディレクトリのアクセス制限ができても、複数人では開発できない。
上下前次1-新書関写板覧索設栞歴
あと 361 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.010s