トップページtech
983コメント406KB

Git 12©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net2015/03/23(月) 13:35:13.83ID:aBYp+bVs
ソースコード管理を行う分散型バージョン管理システム、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 11
http://peace.2ch.net/test/read.cgi/tech/1416195050/
0669デフォルトの名無しさん2015/06/11(木) 20:52:13.58ID:0L5sgKmI
無料で、数人で、非公開のプライベートリポジトリを使う手段は、現時点では存在しませんか?
0670デフォルトの名無しさん2015/06/11(木) 21:10:32.77ID:d4+JHvzb
Dropbox
0671デフォルトの名無しさん2015/06/11(木) 21:49:51.01ID:QpuB/nCQ
>>668
島国根性丸出しのジャップ猿が退化させてやんの
死ねよもう
0672デフォルトの名無しさん2015/06/11(木) 21:56:58.54ID:jxx/4OCH
>無料で、数人で、非公開のプライベートリポジトリを使う手段は、現時点では存在しませんか?

gitlabがある

https://about.gitlab.com/gitlab-com/
Unlimited repositories
Unlimited private collaborators
Unlimited disk space*
Completely free, no credit card required
0673デフォルトの名無しさん2015/06/11(木) 22:05:30.61ID:0L5sgKmI
>>672
ありがとうございます!見てみます!
0674デフォルトの名無しさん2015/06/11(木) 23:21:46.83ID:lwbpITef
>>666
> 難しい手順を覚えるのは技術のうちに入らない。

なにドヤ顔で嘘ついてるのさw

手順覚えるだけでも運転技術だし
飛行機の操縦も船の操縦も手術も手順覚えるだけだから
技術じゃねーってことになるな
0675デフォルトの名無しさん2015/06/11(木) 23:34:12.67ID:YENRiAY6
技術じゃないとまでは言わなくても誰がやっても同じ動きになるなら大した話じゃない
飛行機も船も手術も知識があるうえで感覚も必要なもんだから誰でも同じにはならんわな
0676デフォルトの名無しさん2015/06/11(木) 23:36:23.68ID:lwbpITef
> 技術じゃないとまでは言わなくても誰がやっても同じ動きになるなら大した話じゃない

は? ハンドルを右に切れば
右に曲がりますが?
0677デフォルトの名無しさん2015/06/11(木) 23:37:09.16ID:MEVqNqhj
あいつには運転技術があるって聞いて運転の手順覚えてるだけかよって思う奴は少ないわな
0678デフォルトの名無しさん2015/06/11(木) 23:37:32.79ID:lwbpITef
>>675
gitも知識があるうえで感覚も必要なもんだから誰でも同じにはならんわなw

コミットの内容も、コミットの順番も人それぞれ違ったものになる。
0679デフォルトの名無しさん2015/06/11(木) 23:38:20.68ID:lwbpITef
>>677
ワロタw うまいね

あいつにはgit技術があるって聞いてgitの手順覚えてるだけかよって思う奴は少ないわな


なるほど、gitの手順だけ知っていて
それを技術があるって思い込んでる奴だったのか!
0680デフォルトの名無しさん2015/06/11(木) 23:40:40.14ID:VCTHLF0P
gitを使うっていうのは、gitのコマンドを覚えるだけじゃないからね。

どいういう風にブランチとコミットを
組み立てていくか、それがgitを使うということ。

その技術次第で、過去の修正の内容が分かりやすくなったり
ごちゃごちゃで意味不明になったりする。

きれいなコミットだとrevertしたり、cherry-pickも簡単なんだが、
だめなやつがやると使えないコミットだらけになるもんな。
0681デフォルトの名無しさん2015/06/11(木) 23:41:01.81ID:OzhCdhwc
GitHubで公開されているものを利用してシステムを作ろうとしています。
ですが社内のプログラマが同じバージョンのものを使うようにしたいため
Gitのサーバを構築して、GitHubのを社内にコピーしてプログラマは
社内のGitサーバから落してもらうようにしたいのですが、このような
使い方はできるのでしょうか?
用語が分からないので上手く説明できませんが、もしできる場合は具体的に
どのようにすればばよいのでしょうか。
0682デフォルトの名無しさん2015/06/11(木) 23:42:44.09ID:VCTHLF0P
>>681
githubで公開されているものを使うってだけなら、
submoduleを使えばいいだけ。

特定のバージョン(コミット)を指定して参照することができる
0683デフォルトの名無しさん2015/06/11(木) 23:42:53.47ID:bgrkp9n0
>>674
先人が作り上げた技術に「習熟」する事と、改善等を加える事との区別ぐらい付けよう。
0684デフォルトの名無しさん2015/06/11(木) 23:45:06.84ID:VCTHLF0P
>>683
飛行機だってマニュアルがあって
先人が作り上げた技術を
「習熟」するだけですが?

なにか言う前に矛盾しないか
少し考えてから発言しようよw
0685デフォルトの名無しさん2015/06/11(木) 23:51:54.22ID:bgrkp9n0
>>684
「習熟しただけ」のパイロットもどきが事故起こすんだよなあ。
まあ、プログラム言語の文法覚えた「だけ」の奴には難しかったか。
0686デフォルトの名無しさん2015/06/11(木) 23:54:53.44ID:VCTHLF0P
>>685
> 「習熟しただけ」のパイロットもどきが事故起こすんだよなあ。

だからなんなんでしょうか?w

「習熟しただけ」のパイロットもどきが事故起こすが
「習熟した」以上の技術をつけたのパイロットは事故を起こさない

「習熟しただけ」のgitつかいもどきが、くそきたないコミットを作るが
「習熟した」以上の技術をつけたのgitつかいはきれいなコミットを作る。

あれあれ? 同じことですねw
0687デフォルトの名無しさん2015/06/12(金) 04:30:47.16ID:XoMzVDAf
定石をおぼえる時は
定石から外れたことをするとどうなるかまで知ってる人と
定石通りのことしか出来なくて定石から外されると負ける(前者なら普通勝てる)タイプの人が居るね
0688デフォルトの名無しさん2015/06/12(金) 05:33:48.07ID:KE10iP2h
汚いか綺麗かを決めるのは自分だ。
0689デフォルトの名無しさん2015/06/12(金) 07:55:39.88ID:DpgRw3ep
>>686
見苦しいから、その辺にしとけ。

>飛行機だってマニュアルがあって
>先人が作り上げた技術を
>「習熟」するだけですが?

こういう甘い発想の奴は困るんだよなあ・・・
0690デフォルトの名無しさん2015/06/12(金) 08:28:50.68ID:K1SJqQ2p
>>684
git 使うような人はそのマニュアルを作るような立場の人が多いんだが
0691デフォルトの名無しさん2015/06/12(金) 08:41:22.54ID:UHhWvxxE
>>690
わかる

このスレ「管理者の方針に従えばいい」

俺「俺がその管理者なんだよ〜。どうやってルール決めればいいかわかんねーよ」
0692デフォルトの名無しさん2015/06/12(金) 09:11:20.96ID:uZJNyCxR
やはりそうか
http://hissi.org/read.php/tech/20150611/VkNUSExGMFA.html
http://hissi.org/read.php/tech/20150611/SUdTbEt3Wnk.html
http://hissi.org/read.php/tech/20150612/MGtLbjJuSjU.html
http://hissi.org/read.php/tech/20150612/dzVHdW5NWTY.html
0693デフォルトの名無しさん2015/06/12(金) 19:21:58.70ID:w9SfTIdr
外部の刻々と変わる環境に対して、
適切な対応を選択し、実行する
これは操作方法だけじゃ無理だよ
0694デフォルトの名無しさん2015/06/12(金) 19:48:06.43ID:OQHJwW6B
Git初心者で、使い方が分からない部分が多くあります。答えていただけると嬉しいです。

GitにアップロードするためのツールとしてTortoiseGitを使っているのですが、
最初にアップロードする(プッシュする)のはいいとして、
ローカルの中身を更新した際、プッシュしてもオンライン上で全く同じ状態にはならず困っています。
具体的には、オンライン上で「ファイルA・ファイルB」、ローカル上で「ファイルA・ファイルC」とあった場合、
プッシュするとオンライン上で「ファイルA・ファイルB・ファイルC」となって、ファイルBが削除されないのです。
いちいちブラウザ上で手動で削除するのが面倒なのですが、何か上手い方法はあるのでしょうか。

また、各種Gitツールを使わず、ブラウザからレポジトリに直接ファイルをアップロードすることはできるのでしょうか?
0695デフォルトの名無しさん2015/06/12(金) 20:10:35.67ID:AMVc4lNO
>>694
> ファイルBが削除されないのです
TortoiseGit のメニューから削除してないんじゃない?

> ブラウザからレポジトリに直接ファイルをアップロード
サービスの提供者に聞いてどうぞ
0696デフォルトの名無しさん2015/06/13(土) 01:44:19.98ID:2XvJk2DZ
>>689
えとさぁ、見苦しいよ。

人のコメントを引用して、
そのことについて、何が間違ってるかを
何一つ書かないで、言い返した気になるのは。
0697デフォルトの名無しさん2015/06/13(土) 01:47:39.52ID:2XvJk2DZ
>>691
> 俺「俺がその管理者なんだよ〜。どうやってルール決めればいいかわかんねーよ」

社内に詳しい人がいないなら、社外の知識を利用すればいいのでは?

最近はオープンソースでgitでどういうコミットをしているのか
見ればすぐにわかるし、資料も多いし、2ちゃんねるでもこっちのスレで詳しくやってるよ。

Gitをより良くするための運用ガイドライン作成スレ [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1433650988/
0698デフォルトの名無しさん2015/06/13(土) 01:50:44.54ID:2XvJk2DZ
>>693
> 外部の刻々と変わる環境に対して、

それはわかる。単にコマンドを覚えるだけじゃなく
gitの外部の環境=ソースコードに応じて
適切な順番と内容で対応を変更して実行する。
これはコマンドを覚えるだけじゃ出来ないからね。

それは他の人のコードのブランチをレビューしていて
痛いほどよくわかってる。コマンドを使うことは出来る
だけどあるべき姿のものを作れない。
0699デフォルトの名無しさん2015/06/15(月) 00:59:50.94ID:PH3D3/9J
浜野さんのミドルネームの C って、何の略かな?
0700デフォルトの名無しさん2015/06/15(月) 11:20:49.71ID:ZM3mWJtN
濱野・チャーリー・純。 それが彼のフルネームよ!
0701デフォルトの名無しさん2015/06/15(月) 11:37:12.53ID:HDA/Cn6G
ごめんくさい〜
0702デフォルトの名無しさん2015/06/16(火) 00:13:48.85ID:7C1PfN58
>>682
ありがとうございます。
submoduleでいけました。
0703デフォルトの名無しさん2015/06/16(火) 01:55:47.83ID:LRuQsu+J
>>700
>>701
懐かしい。
チャーリー浜かよw
0704デフォルトの名無しさん2015/06/16(火) 13:15:18.31ID:AmmNKqz/
https://github.com/python/cpython/commit/efe0e11c78f890146375f1d4cbed4b513cdffa3c

これどういうことですか?
同じ文字列が削除されて追加されているコミットってどうやって作るんですか?これ何の意味があるんですか?
0705デフォルトの名無しさん2015/06/16(火) 13:16:28.66ID:TZUCxsD3
foxがFoxになっとるやんけ
0706デフォルトの名無しさん2015/06/16(火) 13:28:36.36ID:dzgBqGJj
改行コードが変更されただけとか
行末のスペース無くなってるだけとか
TABがスペースに置き換わっただけとか
たまによくある
0707デフォルトの名無しさん2015/06/16(火) 21:45:33.41ID:gqnH2dL3
sourcetreeで、stashをpopする方法はある?
07087042015/06/17(水) 00:09:44.91ID:zdNvSItr
言われて気づきました大文字が小文字になってるだけだったのに今気づきました
0709デフォルトの名無しさん2015/06/17(水) 19:22:19.83ID:Uu1OTzaj
Git 2.4.4
https://github.com/git/git/releases/tag/v2.4.4
0710デフォルトの名無しさん2015/06/18(木) 00:27:48.54ID:7B4eGBDb
うまく説明できないんですが、GitHubとは別サイトで認証が必要なライブラリで
そのサイトでGitHubのアカウントを登録してGitHubから引っ張ってくるんですが、
登録さえしてしまえば普通にcloneで取ってこれます。
それをsubmoduleで使いたいんですがローカルリポジトリに追加してコミット、
自分のサーバのリポジトリにプッシュしても、他の人が使えません。
自分自身も一度ローカルを消して、自分のサーバからクローンしようとしても
エラーになってしまいます。
このような場合はどうすればよいでしょうか?
0711デフォルトの名無しさん2015/06/18(木) 00:33:40.72ID:vn28fqVf
>>710
まずこの意味がわからない
>GitHubのアカウントを登録してGitHubから引っ張ってくる
具体的に何やってるの?
0712デフォルトの名無しさん2015/06/18(木) 01:25:52.57ID:X9wRJKf5
>>710
submoduleのリポジトリも含めて皆がcloneできる場所において、
submoduleの参照先を変えないとだめかもしれない。
0713デフォルトの名無しさん2015/06/18(木) 19:53:58.42ID:lbH07egD
>>711
.gitmodulesの示す先がローカルのパスか、その別サイトにログインできないとcloneできないとか
そんなんじゃね?
0714デフォルトの名無しさん2015/06/18(木) 20:20:22.80ID:lbH07egD
ああ、>>711の疑問はそこじゃないな・・
githubを監視するようなサイトが幾つかあるけど、そんな中にミラーを提供する奴もあったかもしれない
(うろ覚えでオセロか何かそんな名前のサイトがあった気がするけど今見たら消えてるな・・・)
そういうのを使ってるんだろう

と、エスパーしてみた
0715デフォルトの名無しさん2015/06/21(日) 16:52:03.91ID:YPeQCGDm
pushしたコミットログをタイポしたのでrebaseで直した後に
別の最新の更新内容をpushしようとしたら
pullしろっていわれたのでpullしたらコンフリクトしました
こういうときってどうやってコンフリクト起こさずにログを修正したらよかったんですか?
0716デフォルトの名無しさん2015/06/21(日) 17:00:11.07ID:RKAD3ekV
>>715
あんたのレベルだとpush済みのタイポをrebaseで直してpushしようとしたらダメだ
多少歴史が汚くなるとしてもタイポも新しいコミットとしてpushすべき
0717デフォルトの名無しさん2015/06/21(日) 18:17:52.76ID:0NmNrFCo
>>711
>>712
>>713
>>714
どうもすいません。ちょっとてんぱり気味でした。
>>713のおっしゃる通りです。
ただユーザー名とパスワードを書くのは引けるので調べたところ
GitGubでトークンというのを作って.gitmodulesに書き込む事で
うまくいきました。
0718デフォルトの名無しさん2015/06/21(日) 18:55:06.03ID:/gMpDjZs
pushしてからrebaseはコンフリクトする罠
0719デフォルトの名無しさん2015/06/22(月) 02:49:01.15ID:j9mWyPD+
>>715

>>716は無視していい(笑) おそらく>>716自体がやり方をわかっていない。
>>716自信がが説明できるレベルにないのを「あんたのレベル」という言葉でごまかしてるw

おそらく答えとしては「push時に--forceをつけろ。」だろうけど

以下、ちゃんとした解説

------------------

どれをどこにpullしたのかよくわからんが、まず「みんなで共有しているブランチ」と
「自分専用のブランチ」と分けて考える。

「みんなで共有しているブランチ」の代表例はmasterだな。他に次バージョン用のブランチなどがある
「自分専用のブランチ」はトピックブランチと呼ばれたりする。

自分専用のブランチは、その名の通り自分専用なのだから勝手に更新されることとはない。
みんなで共有しているブランチは誰かが勝手に更新する。

みんなで共有しているブランチは、そのブランチに対して直接修正してはいけない。
必ず共有ブランチから自分専用のブランチを作って作業をする。終わったら共有ブランチにマージする。

自分専用のブランチは自分専用なのだから好きにrebaseしてよい
自分専用でも他の人が見ることはある。だけどそれは見てるだけなので何も問題ない

ここまでは前提知識として


続く
0720デフォルトの名無しさん2015/06/22(月) 02:50:06.54ID:j9mWyPD+
> 別の最新の更新内容をpushしようとしたらpullしろっていわれたので

pullする必要があるのは共有ブランチの場合だけ。なぜなら自分専用であれば
自分しか更新しないから、サーバー側がローカルよりも新しくなることはなく
pullする必要がない。

そして共有ブランチであれば、そこを調節更新することはないのでpullが失敗することはない
失敗したら間違って共有ブランチをローカルで更新してしまったとうこと。
その場合は(他のブランチにリネームしたりしてバックアップを取ってから)
共有ブランチは適当に巻き戻したり消して取り直せばいい



じゃあ何故pushした時にpullしろと言われたのか?

それは単にサーバーにpushされているのと、
自分がpushした内容(の歴史)が食い違っていたからなだけ。

gitはブランチが共有ブランチなのか自分専用のブランチなのかの区別は
できないから無いから食い違いをサーバー側が更新されたからだと解釈した。


でもそれが自分専用のブランチであれば、
ローカルにあるブランチが正しいので単にgit push --forceをすれば良い。
自分専用のブランチなのだから、git push --forceしたとしても
誰にも迷惑はかからない。
0721デフォルトの名無しさん2015/06/22(月) 03:00:25.50ID:j9mWyPD+
補足

理屈上は>>720に書いたとおりで間違いないのだけど、
人間はミスするもので、間違ってローカルでmasterを修正して
それをgit push --forceしてしまうなどということが起こりかねない。

中途半端にしか理解できてない人がmasterにpushできない?
あれぇ〜? --forceしてみよう。とかやってめちゃくちゃにして、
その経験(?)を悪い方向に活かして、○○は禁止
(理由:なんでそうなるのか俺には理解できんから)とか
言い出してgitを使えない・不便な道具に、変えてしまう愚か者が少なからずいる。


だから早いうちにgithubやgitlabを取り入れた方がいい。
gitlab(無料だよ)だと、masterに対してのpush --forceを禁止して
ウェブ画面に限定出来たり(デフォルトでそうなってる)と便利。

「共有のブランチ」と「自分専用のブランチ」を明確に区別するために
プロジェクトのリポジトリから、自分専用のリポジトリへforkを行ってから開発するから
ブランチがたくさん出来て、どれがなんのブランチなのかわからなくなることもない。
0722デフォルトの名無しさん2015/06/22(月) 04:12:25.25ID:6fsOI3Rm
そして>>719-721を見た>>715は、なんだかよくわからないけどgit push --forceでいいのかぁ〜と理解し
push --forceの乱発で他人のコミットを上書きしまくってプロジェクトを混乱に陥れるのであった…
0723デフォルトの名無しさん2015/06/22(月) 05:17:00.13ID:mEuvJOmb
>>719-721 の結論

git push --force 推奨
0724デフォルトの名無しさん2015/06/22(月) 06:18:54.34ID:j9mWyPD+
なんか必死なバカが居るw
0725デフォルトの名無しさん2015/06/22(月) 08:17:21.67ID:Jo3Uu3lv
自演乙
0726デフォルトの名無しさん2015/06/22(月) 09:57:48.30ID:PyoyBJGz
>>722
>なんだかよくわからないけどgit push --forceでいいのかぁ〜と理解し
これは別にID:j9mWyPD+悪く無いだろ……
0727デフォルトの名無しさん2015/06/22(月) 10:01:38.28ID:PyoyBJGz
大体、Git使う奴がアホかどうかなんてソフト側から判別できるわけ無いんだから、
どう丁寧に教えようがリスクは当然有ると考えるべき(戻せるだけマシ)
だったら丁寧に教えてあげた方が後から文句言われる筋合いを無くせるという利点も……
0728ID:j9mWyPD+2015/06/22(月) 10:09:04.83ID:6W+IUVUv
俺的には

プロ(俺)の目の前で、アマチュアが初心者に
「お前にはまだわからんだろうがな〜」と
言い出したように感じたものでw

アマチュアが、pushした物の歴史改ざんしたらいけないんだぜーとか
push --forceはだめなんだぜーとか言ってるのを見るとねぇ(苦笑)

そういう書き込みには、決まってなぜだめなのかといった理由が書いていない。
自分がわかってないからさ。

理由を考えれば、どういう場合にはだめで、どういう場合ならいいかが
わかるはずなんだが、一部の人間は何も考えたくないからか、
状況など考えずに、良いか駄目かのわかりやすいルールを求める。

そういう人間にはならないようにしような。
0729デフォルトの名無しさん2015/06/22(月) 10:16:31.40ID:nboh/a20
間違って操作しても壊れないようにするのがフェイルセーフ(馬鹿除け)の基本なんだが
0730デフォルトの名無しさん2015/06/22(月) 10:30:46.58ID:6W+IUVUv
世の中に間違って操作しても絶対に壊れないものなんてないぞw

フェールセーフというのは間違って操作しても「安全」という意味だ。
英語:セーフ=安全

お前が言うべきなのは、フールプルーフな。
英語:フール=馬鹿

gitにおけるフールプルーフはreflogだろうな。
これによってコミットが消えることはない。

間違って操作してもgitなら複数の場所にコピーがあるから
これもフールプルーフといえよう。

push --forceしても別に壊れるわけじゃない。混乱が発生して困るだけだ。
もちろんそういう問題が発生するのは、みんなで共有しているブランチだけであって
だから自分専用であれば誰も困らないんだからやっていいという話をしてる。

>>729
お前は何がいいたいのだ?
0731デフォルトの名無しさん2015/06/22(月) 10:52:29.70ID:kJni3XZO
釣られたんじゃね?
0732デフォルトの名無しさん2015/06/22(月) 11:00:33.51ID:Jo3Uu3lv
リポジトリが公開されているからと言って
勝手にforkして作業してたら
主が勝手に(自由に)pushして
forkした側が混乱して困ってこれまた勝手にクレームを付ける

誰宛てのアンカも無いレスに対して >>730 がやってることはまさにそれ
0733デフォルトの名無しさん2015/06/22(月) 12:16:35.13ID:a9m1vXpg
そういう揉め事はこちらへどうぞ
http://peace.2ch.net/test/read.cgi/tech/1433650988/
0734デフォルトの名無しさん2015/06/22(月) 17:40:26.27ID:PyoyBJGz
ID:6fsOI3Rm=ID:Jo3Uu3lv必死すぎワロスwww
0735デフォルトの名無しさん2015/06/22(月) 18:04:38.52ID:6W+IUVUv
>>732
落ち着こうw

あんたが言っている問題(?)
それはフォークなど関係なく発生することだ。

複数人で開発したら、一人が開発中に
もう一人が修正した。という話をしているだけだな。
0736デフォルトの名無しさん2015/06/22(月) 19:50:24.16ID:ScRlfOQU
いっぱい釣れたね
0737デフォルトの名無しさん2015/06/22(月) 20:27:08.06ID:O6QpuzQl
おまえらpush --forceを甘く見すぎだな

Aがトピックブランチ作成
Aがトピックブランチ上でコミットXを作成してpush
Bがトピックブランチ作成
Bがトピックブランチ上でコミットYを作成してpush、トピックブランチ破棄
Aがトピックブランチ上でタイポ直したコミットX'をrebaseで作成してpush --force

コミットYは上書きされてしまうわけだが、これ誰も気がつかずコミットYがGCされちゃうことあるんだよ?
0738デフォルトの名無しさん2015/06/22(月) 22:41:32.22ID:mEuvJOmb
x されちゃうことがある
o されちゃう
0739デフォルトの名無しさん2015/06/22(月) 22:47:27.01ID:O6QpuzQl
GCされる前に誰か気がつけばreflogから復旧できるんで
0740デフォルトの名無しさん2015/06/22(月) 23:36:10.08ID:a9m1vXpg
>>737
AとBのトピックブランチが同じ名前ならBのpushのときに失敗するだろ。
その場合はトピックブランチを共有してるのだから、push -fしてはいけないのは当たり前
0741デフォルトの名無しさん2015/06/23(火) 00:36:04.38ID:UdZmnE2/
>>737

>>740の言うとおり。共有しているブランチは
push --forceしたらだめだと書いた。ちゃんと判断して使え。

ミスしたらという話をするならば
masterを消すことだって出来てしまう。


だからgitlabを使えと言ってるんだよ。gitはソースコードの管理をするためのもので
ユーザーの管理、つまり誰が何をやっていいかダメかっていうのは管理してない。
--forceが問題なのではなくて、gitだけでやろうとしているのが問題
ユーザーの管理がしたいのならGitサーバーを使う。それはGit Proにも書いている。
https://git-scm.com/book/ja/v1/Git-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC

俺のおすすめはgitlab。Git Pro 2nd Editionの方に翻訳されてるな。
https://git-scm.com/book/ja/v2/Git%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC-GitLab

フォークして自分のプロジェクトで作業するならば、
メインのプロジェクトには共有ブランチだけ、
自分のプロジェクトには自分専用のブランチだけになる。

共有ブランチはプロテクト等をかけることで、
push --forceできなくすることもできる。
0742デフォルトの名無しさん2015/06/23(火) 00:45:05.79ID:4795aBmW
gcをしても初期設定だと直近二週間のコミットは保存されるし
他の奴の作業コピーから復元できるかもだし
0743デフォルトの名無しさん2015/06/23(火) 01:19:15.14ID:UdZmnE2/
少なくともコードを書いた本人のマシンには
本人が書いたコードは残ってるんだよね。
0744デフォルトの名無しさん2015/06/23(火) 16:29:38.65ID:LQfp6JsA
べらんめぇ
宵越しのコードは持たねぇのが粋ってもんよ
0745デフォルトの名無しさん2015/06/23(火) 20:22:25.05ID:CqiNTuO0
おっ、粋だね!
0746デフォルトの名無しさん2015/06/23(火) 20:57:22.50ID:Yra6/pdr
>>744
てめえ、コミットする前にコード消しやがって、何が粋だよ
0747デフォルトの名無しさん2015/06/23(火) 22:28:58.60ID:SktsG5/m
コードもまた別れがあるから愛おしいのよ。
いつでも逢えたらロマンチックじゃないじゃない。
0748デフォルトの名無しさん2015/06/24(水) 08:57:50.31ID:NHniIMjV
>>746
江戸っ子は気が短けーんでい
0749デフォルトの名無しさん2015/06/24(水) 22:23:29.89ID:ix5XSndE
コードなんてもなぁ、そう何度も何度もね、
テストしたりコミットしたりほどのもんじゃないんだよ。
オレなんか、急ぐときなんざ エディタで保存する前に
消しちまうんだ
0750デフォルトの名無しさん2015/06/26(金) 11:47:16.43ID:Q1kb1EVf
3つのファイルを編集した1コミット分をgit pushしたときに
Total 9 (delta 5), reused 0 (delta 0)
って表示されたんですが9と5ってなんですか?
0751デフォルトの名無しさん2015/06/28(日) 11:33:24.51ID:5m9gZHLm
基本的には実行属性を無視しつつ、
ある特定のファイルの実行属性だけ無視しない

という設定をしたいんだけど、どうすればいい!?
0752デフォルトの名無しさん2015/06/28(日) 11:47:33.27ID:VLu09OAr
>>751
Linux使えば良い。
0753デフォルトの名無しさん2015/06/28(日) 13:44:26.56ID:5m9gZHLm
>>752
Linux使ってるんだけど、どうすればいい・・・
0754デフォルトの名無しさん2015/06/28(日) 14:04:26.07ID:lxz6gjyn
chmodぐらい勉強しろ。
0755デフォルトの名無しさん2015/06/28(日) 15:26:50.01ID:5m9gZHLm
>>754
いちおうわかりやすく説明しなおすと、
chmodをすると、gitは属性の変更を検知するでしょ?
それを本当に実行するファイル以外では無視したいの。

たとえば、 bin というフォルダにあるファイルの
実行属性があやまって変更されたら検知してほしいけど
doc というフォルダのファイルをうっかり属性変更しても
そんなのは無視してほしいんですよ
0756デフォルトの名無しさん2015/06/28(日) 15:36:00.06ID:YBvq0FDq
.gitignoreや.gitattributesでどう設定すれば・・・って話だろうけど
確かにもうすこし具体的に何がしたいか書かないとレスつかないだろうね
0757デフォルトの名無しさん2015/06/28(日) 16:49:31.94ID:uJqfu/82
sambaからコピってパーミッション直さないのがいると
全部のファイルに実行権ついててうざっ…とはなるな
0758デフォルトの名無しさん2015/06/28(日) 17:03:24.02ID:WJabjmO6
>>757
cygwinなら/etc/fstabで/cygdriveをnoaclに設定しとけばその手の煩わしい手間の必要はたぶん無い
msysgitとかだと同じことできなかったりする?
0759デフォルトの名無しさん2015/06/28(日) 18:27:03.56ID:uJqfu/82
>>758
Windows->(Samba)->Linuxにコピーして
Linuxでgit addした時の話ね
msysgitなら実行権を無視するのでそういう事にはならないよ
0760デフォルトの名無しさん2015/06/28(日) 18:39:52.16ID:lxz6gjyn
だからLinux使えって言ってんだろ?
0761デフォルトの名無しさん2015/06/28(日) 20:07:20.93ID:WJabjmO6
>>759
それはsamba側の設定でcreate maskを0644にしちゃえばいいと思うんけど、
そういうわけには行かない使い方をしてるのかな?
0762デフォルトの名無しさん2015/06/28(日) 20:25:52.15ID:uJqfu/82
>>761
自分配下のものならそれでいいんだけど、
個人用のLinux PCとか、IT管理部門が許可しなかったりと
なかなか統一できないのよね…。

質問の件は git config core.filemode false で
実行権限無効化するくらいしか思いつかないな
gitattributesでできるんかな?
0763デフォルトの名無しさん2015/06/28(日) 20:28:07.89ID:5m9gZHLm
>>762
実行権限無視の設定にしてる。
でもこれだと、ほんとに実行するファイルの実行権限が落ちていた時に
気付かないので、できればやめたい
07647502015/06/28(日) 20:31:54.95ID:/nFQf9C+
どなたかおねがいします
0765デフォルトの名無しさん2015/06/28(日) 20:44:04.23ID:WJabjmO6
>>764
http://stackoverflow.com/questions/21476167/when-i-do-git-push-what-do-the-statistics-mean-total-delta-etc
0766デフォルトの名無しさん2015/06/28(日) 22:55:49.53ID:im5DcXMU
うーん、
プリコミットフィルターでコミットを拒絶するか
ポストコミットフックで実行権を強制的に書き換えるか

やりかた?知らん。
0767デフォルトの名無しさん2015/06/29(月) 16:18:10.01ID:rbxhDT3n
git diffが見づらいんですが
背景色を変更したり文字の色を指定する方法をおしえてください
0768デフォルトの名無しさん2015/06/29(月) 17:14:42.93ID:k+90EXgh
.git/config
■ このスレッドは過去ログ倉庫に格納されています