[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 12/19 22:47 / Filesize : 316 KB / Number-of Response : 998
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Git 12



1 名前:デフォルトの名無しさん mailto:ageteoff [2015/03/23(月) 13:35:13.83 ID:aBYp+bVs.net]
ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。

Git - Fast Version Control System
git-scm.com/

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

◆前スレ
Git 11
peace.2ch.net/test/read.cgi/tech/1416195050/

684 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:21:46.83 ID:lwbpITef.net]
>>671
> 難しい手順を覚えるのは技術のうちに入らない。

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

手順覚えるだけでも運転技術だし
飛行機の操縦も船の操縦も手術も手順覚えるだけだから
技術じゃねーってことになるな

685 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:34:12.67 ID:YENRiAY6.net]
技術じゃないとまでは言わなくても誰がやっても同じ動きになるなら大した話じゃない
飛行機も船も手術も知識があるうえで感覚も必要なもんだから誰でも同じにはならんわな

686 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:36:23.68 ID:lwbpITef.net]
> 技術じゃないとまでは言わなくても誰がやっても同じ動きになるなら大した話じゃない

は? ハンドルを右に切れば
右に曲がりますが?

687 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:37:09.16 ID:MEVqNqhj.net]
あいつには運転技術があるって聞いて運転の手順覚えてるだけかよって思う奴は少ないわな

688 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:37:32.79 ID:lwbpITef.net]
>>680
gitも知識があるうえで感覚も必要なもんだから誰でも同じにはならんわなw

コミットの内容も、コミットの順番も人それぞれ違ったものになる。

689 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:38:20.68 ID:lwbpITef.net]
>>682
ワロタw うまいね

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


なるほど、gitの手順だけ知っていて
それを技術があるって思い込んでる奴だったのか!

690 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:40:40.14 ID:VCTHLF0P.net]
gitを使うっていうのは、gitのコマンドを覚えるだけじゃないからね。

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

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

きれいなコミットだとrevertしたり、cherry-pickも簡単なんだが、
だめなやつがやると使えないコミットだらけになるもんな。

691 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:41:01.81 ID:OzhCdhwc.net]
GitHubで公開されているものを利用してシステムを作ろうとしています。
ですが社内のプログラマが同じバージョンのものを使うようにしたいため
Gitのサーバを構築して、GitHubのを社内にコピーしてプログラマは
社内のGitサーバから落してもらうようにしたいのですが、このような
使い方はできるのでしょうか?
用語が分からないので上手く説明できませんが、もしできる場合は具体的に
どのようにすればばよいのでしょうか。

692 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:42:44.09 ID:VCTHLF0P.net]
>>686
githubで公開されているものを使うってだけなら、
submoduleを使えばいいだけ。

特定のバージョン(コミット)を指定して参照することができる



693 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:42:53.47 ID:bgrkp9n0.net]
>>679
先人が作り上げた技術に「習熟」する事と、改善等を加える事との区別ぐらい付けよう。

694 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:45:06.84 ID:VCTHLF0P.net]
>>688
飛行機だってマニュアルがあって
先人が作り上げた技術を
「習熟」するだけですが?

なにか言う前に矛盾しないか
少し考えてから発言しようよw

695 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:51:54.22 ID:bgrkp9n0.net]
>>689
「習熟しただけ」のパイロットもどきが事故起こすんだよなあ。
まあ、プログラム言語の文法覚えた「だけ」の奴には難しかったか。

696 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 23:54:53.44 ID:VCTHLF0P.net]
>>690
> 「習熟しただけ」のパイロットもどきが事故起こすんだよなあ。

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

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

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

あれあれ? 同じことですねw

697 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 04:30:47.16 ID:XoMzVDAf.net]
定石をおぼえる時は
定石から外れたことをするとどうなるかまで知ってる人と
定石通りのことしか出来なくて定石から外されると負ける(前者なら普通勝てる)タイプの人が居るね

698 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 05:33:48.07 ID:KE10iP2h.net]
汚いか綺麗かを決めるのは自分だ。

699 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 07:55:39.88 ID:DpgRw3ep.net]
>>691
見苦しいから、その辺にしとけ。

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

こういう甘い発想の奴は困るんだよなあ・・・

700 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 08:28:50.68 ID:K1SJqQ2p.net]
>>689
git 使うような人はそのマニュアルを作るような立場の人が多いんだが

701 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 08:41:22.54 ID:UHhWvxxE.net]
>>695
わかる

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

俺「俺がその管理者なんだよ〜。どうやってルール決めればいいかわかんねーよ」

702 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 09:11:20.96 ID:uZJNyCxR.net]
やはりそうか
hissi.org/read.php/tech/20150611/VkNUSExGMFA.html
hissi.org/read.php/tech/20150611/SUdTbEt3Wnk.html
hissi.org/read.php/tech/20150612/MGtLbjJuSjU.html
hissi.org/read.php/tech/20150612/dzVHdW5NWTY.html



703 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 19:21:58.70 ID:w9SfTIdr.net]
外部の刻々と変わる環境に対して、
適切な対応を選択し、実行する
これは操作方法だけじゃ無理だよ

704 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 19:48:06.43 ID:OQHJwW6B.net]
Git初心者で、使い方が分からない部分が多くあります。答えていただけると嬉しいです。

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

また、各種Gitツールを使わず、ブラウザからレポジトリに直接ファイルをアップロードすることはできるのでしょうか?

705 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 20:10:35.67 ID:AMVc4lNO.net]
>>699
> ファイルBが削除されないのです
TortoiseGit のメニューから削除してないんじゃない?

> ブラウザからレポジトリに直接ファイルをアップロード
サービスの提供者に聞いてどうぞ

706 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 01:44:19.98 ID:2XvJk2DZ.net]
>>694
えとさぁ、見苦しいよ。

人のコメントを引用して、
そのことについて、何が間違ってるかを
何一つ書かないで、言い返した気になるのは。

707 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 01:47:39.52 ID:2XvJk2DZ.net]
>>696
> 俺「俺がその管理者なんだよ〜。どうやってルール決めればいいかわかんねーよ」

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

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

Gitをより良くするための運用ガイドライン作成スレ [転載禁止](c)2ch.net
peace.2ch.net/test/read.cgi/tech/1433650988/

708 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 01:50:44.54 ID:2XvJk2DZ.net]
>>698
> 外部の刻々と変わる環境に対して、

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

それは他の人のコードのブランチをレビューしていて
痛いほどよくわかってる。コマンドを使うことは出来る
だけどあるべき姿のものを作れない。

709 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 00:59:50.94 ID:PH3D3/9J.net]
浜野さんのミドルネームの C って、何の略かな?

710 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 11:20:49.71 ID:ZM3mWJtN.net]
濱野・チャーリー・純。 それが彼のフルネームよ!

711 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 11:37:12.53 ID:HDA/Cn6G.net]
ごめんくさい〜

712 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 00:13:48.85 ID:7C1PfN58.net]
>>687
ありがとうございます。
submoduleでいけました。



713 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 01:55:47.83 ID:LRuQsu+J.net]
>>705
>>706
懐かしい。
チャーリー浜かよw

714 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 13:15:18.31 ID:AmmNKqz/.net]
https://github.com/python/cpython/commit/efe0e11c78f890146375f1d4cbed4b513cdffa3c

これどういうことですか?
同じ文字列が削除されて追加されているコミットってどうやって作るんですか?これ何の意味があるんですか?

715 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 13:16:28.66 ID:TZUCxsD3.net]
foxがFoxになっとるやんけ

716 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 13:28:36.36 ID:dzgBqGJj.net]
改行コードが変更されただけとか
行末のスペース無くなってるだけとか
TABがスペースに置き換わっただけとか
たまによくある

717 名前:デフォルトの名無しさん [2015/06/16(火) 21:45:33.41 ID:gqnH2dL3.net]
sourcetreeで、stashをpopする方法はある?

718 名前:704 mailto:sage [2015/06/17(水) 00:09:44.91 ID:zdNvSItr.net]
言われて気づきました大文字が小文字になってるだけだったのに今気づきました

719 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 19:22:19.83 ID:Uu1OTzaj.net]
Git 2.4.4
https://github.com/git/git/releases/tag/v2.4.4

720 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 00:27:48.54 ID:7B4eGBDb.net]
うまく説明できないんですが、GitHubとは別サイトで認証が必要なライブラリで
そのサイトでGitHubのアカウントを登録してGitHubから引っ張ってくるんですが、
登録さえしてしまえば普通にcloneで取ってこれます。
それをsubmoduleで使いたいんですがローカルリポジトリに追加してコミット、
自分のサーバのリポジトリにプッシュしても、他の人が使えません。
自分自身も一度ローカルを消して、自分のサーバからクローンしようとしても
エラーになってしまいます。
このような場合はどうすればよいでしょうか?

721 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 00:33:40.72 ID:vn28fqVf.net]
>>715
まずこの意味がわからない
>GitHubのアカウントを登録してGitHubから引っ張ってくる
具体的に何やってるの?

722 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 01:25:52.57 ID:X9wRJKf5.net]
>>715
submoduleのリポジトリも含めて皆がcloneできる場所において、
submoduleの参照先を変えないとだめかもしれない。



723 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 19:53:58.42 ID:lbH07egD.net]
>>716
.gitmodulesの示す先がローカルのパスか、その別サイトにログインできないとcloneできないとか
そんなんじゃね?

724 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 20:20:22.80 ID:lbH07egD.net]
ああ、>>716の疑問はそこじゃないな・・
githubを監視するようなサイトが幾つかあるけど、そんな中にミラーを提供する奴もあったかもしれない
(うろ覚えでオセロか何かそんな名前のサイトがあった気がするけど今見たら消えてるな・・・)
そういうのを使ってるんだろう

と、エスパーしてみた

725 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 16:52:03.91 ID:YPeQCGDm.net]
pushしたコミットログをタイポしたのでrebaseで直した後に
別の最新の更新内容をpushしようとしたら
pullしろっていわれたのでpullしたらコンフリクトしました
こういうときってどうやってコンフリクト起こさずにログを修正したらよかったんですか?

726 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 17:00:11.07 ID:RKAD3ekV.net]
>>720
あんたのレベルだとpush済みのタイポをrebaseで直してpushしようとしたらダメだ
多少歴史が汚くなるとしてもタイポも新しいコミットとしてpushすべき

727 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 18:17:52.76 ID:0NmNrFCo.net]
>>716
>>717
>>718
>>719
どうもすいません。ちょっとてんぱり気味でした。
>>718のおっしゃる通りです。
ただユーザー名とパスワードを書くのは引けるので調べたところ
GitGubでトークンというのを作って.gitmodulesに書き込む事で
うまくいきました。

728 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 18:55:06.03 ID:/gMpDjZs.net]
pushしてからrebaseはコンフリクトする罠

729 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 02:49:01.15 ID:j9mWyPD+.net]
>>720

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

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

以下、ちゃんとした解説

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

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

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

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

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

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

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


続く

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

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

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



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

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

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


でもそれが自分専用のブランチであれば、
ローカルにあるブランチが正しいので単にgit push --forceをすれば良い。
自分専用のブランチなのだから、git push --forceしたとしても
誰にも迷惑はかからない。

731 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 03:00:25.50 ID:j9mWyPD+.net]
補足

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

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


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

「共有のブランチ」と「自分専用のブランチ」を明確に区別するために
プロジェクトのリポジトリから、自分専用のリポジトリへforkを行ってから開発するから
ブランチがたくさん出来て、どれがなんのブランチなのかわからなくなることもない。

732 名前:デフォルトの名無しさん [2015/06/22(月) 04:12:25.25 ID:6fsOI3Rm.net]
そして>>724-726を見た>>720は、なんだかよくわからないけどgit push --forceでいいのかぁ〜と理解し
push --forceの乱発で他人のコミットを上書きしまくってプロジェクトを混乱に陥れるのであった…



733 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 05:17:00.13 ID:mEuvJOmb.net]
>>724-726 の結論

git push --force 推奨

734 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 06:18:54.34 ID:j9mWyPD+.net]
なんか必死なバカが居るw

735 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 08:17:21.67 ID:Jo3Uu3lv.net]
自演乙

736 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 09:57:48.30 ID:PyoyBJGz.net]
>>727
>なんだかよくわからないけどgit push --forceでいいのかぁ〜と理解し
これは別にID:j9mWyPD+悪く無いだろ……

737 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 10:01:38.28 ID:PyoyBJGz.net]
大体、Git使う奴がアホかどうかなんてソフト側から判別できるわけ無いんだから、
どう丁寧に教えようがリスクは当然有ると考えるべき(戻せるだけマシ)
だったら丁寧に教えてあげた方が後から文句言われる筋合いを無くせるという利点も……

738 名前:ID:j9mWyPD+ mailto:sage [2015/06/22(月) 10:09:04.83 ID:6W+IUVUv.net]
俺的には

プロ(俺)の目の前で、アマチュアが初心者に
「お前にはまだわからんだろう

739 名前:ェな〜」と
言い出したように感じたものでw

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

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

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

そういう人間にはならないようにしような。
[]
[ここ壊れてます]

740 名前:デフォルトの名無しさん [2015/06/22(月) 10:16:31.40 ID:nboh/a20.net]
間違って操作しても壊れないようにするのがフェイルセーフ(馬鹿除け)の基本なんだが

741 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 10:30:46.58 ID:6W+IUVUv.net]
世の中に間違って操作しても絶対に壊れないものなんてないぞw

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

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

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

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

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

>>734
お前は何がいいたいのだ?

742 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 10:52:29.70 ID:kJni3XZO.net]
釣られたんじゃね?



743 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 11:00:33.51 ID:Jo3Uu3lv.net]
リポジトリが公開されているからと言って
勝手にforkして作業してたら
主が勝手に(自由に)pushして
forkした側が混乱して困ってこれまた勝手にクレームを付ける

誰宛てのアンカも無いレスに対して >>735 がやってることはまさにそれ

744 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:16:35.13 ID:a9m1vXpg.net]
そういう揉め事はこちらへどうぞ
peace.2ch.net/test/read.cgi/tech/1433650988/

745 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 17:40:26.27 ID:PyoyBJGz.net]
ID:6fsOI3Rm=ID:Jo3Uu3lv必死すぎワロスwww

746 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 18:04:38.52 ID:6W+IUVUv.net]
>>737
落ち着こうw

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

複数人で開発したら、一人が開発中に
もう一人が修正した。という話をしているだけだな。

747 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 19:50:24.16 ID:ScRlfOQU.net]
いっぱい釣れたね

748 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 20:27:08.06 ID:O6QpuzQl.net]
おまえらpush --forceを甘く見すぎだな

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

コミットYは上書きされてしまうわけだが、これ誰も気がつかずコミットYがGCされちゃうことあるんだよ?

749 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:41:32.22 ID:mEuvJOmb.net]
x されちゃうことがある
o されちゃう

750 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:47:27.01 ID:O6QpuzQl.net]
GCされる前に誰か気がつけばreflogから復旧できるんで

751 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 23:36:10.08 ID:a9m1vXpg.net]
>>742
AとBのトピックブランチが同じ名前ならBのpushのときに失敗するだろ。
その場合はトピックブランチを共有してるのだから、push -fしてはいけないのは当たり前

752 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 00:36:04.38 ID:UdZmnE2/.net]
>>742

>>745の言うとおり。共有しているブランチは
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できなくすることもできる。



753 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 00:45:05.79 ID:4795aBmW.net]
gcをしても初期設定だと直近二週間のコミットは保存されるし
他の奴の作業コピーから復元できるかもだし

754 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 01:19:15.14 ID:UdZmnE2/.net]
少なくともコードを書いた本人のマシンには
本人が書いたコードは残ってるんだよね。

755 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 16:29:38.65 ID:LQfp6JsA.net]
べらんめぇ
宵越しのコードは持たねぇのが粋ってもんよ

756 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 20:22:25.05 ID:CqiNTuO0.net]
おっ、粋だね!

757 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 20:57:22.50 ID:Yra6/pdr.net]
>>749
てめえ、コミットする前にコード消しやがって、何が粋だよ

758 名前:デフォルトの名無しさん [2015/06/23(火) 22:28:58.60 ID:SktsG5/m.net]
コードもまた別れがあるから愛おしいのよ。
いつでも逢えたらロマンチックじゃないじゃない。

759 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 08:57:50.31 ID:NHniIMjV.net]
>>751
江戸っ子は気が短けーんでい

760 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 22:23:29.89 ID:ix5XSndE.net]
コードなんてもなぁ、そう何度も何度もね、
テストしたりコミットしたりほどのもんじゃないんだよ。
オレなんか、急ぐときなんざ エディタで保存する前に
消しちまうんだ

761 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 11:47:16.43 ID:Q1kb1EVf.net]
3つのファイルを編集した1コミット分をgit pushしたときに
Total 9 (delta 5), reused 0 (delta 0)
って表示されたんですが9と5ってなんですか?

762 名前:デフォルトの名無しさん [2015/06/28(日) 11:33:24.51 ID:5m9gZHLm.net]
基本的には実行属性を無視しつつ、
ある特定のファイルの実行属性だけ無視しない

という設定をしたいんだけど、どうすればいい!?



763 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 11:47:33.27 ID:VLu09OAr.net]
>>756
Linux使えば良い。

764 名前:デフォルトの名無しさん [2015/06/28(日) 13:44:26.56 ID:5m9gZHLm.net]
>>757
Linux使ってるんだけど、どうすればいい・・・

765 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:04:26.07 ID:lxz6gjyn.net]
chmodぐらい勉強しろ。

766 名前:デフォルトの名無しさん [2015/06/28(日) 15:26:50.01 ID:5m9gZHLm.net]
>>759
いちおうわかりやすく説明しなおすと、
chmodをすると、gitは属性の変更を検知するでしょ?
それを本当に実行するファイル以外では無視したいの。

たとえば、 bin というフォルダにあるファイルの
実行属性があやまって変更されたら検知してほしいけど
doc というフォルダのファイルをうっかり属性変更しても
そんなのは無視してほしいんですよ

767 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 15:36:00.06 ID:YBvq0FDq.net]
.gitignoreや.gitattributesでどう設定すれば・・・って話だろうけど
確かにもうすこし具体的に何がしたいか書かないとレスつかないだろうね

768 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 16:49:31.94 ID:uJqfu/82.net]
sambaからコピってパーミッション直さないのがいると
全部のファイルに実行権ついててうざっ…とはなるな

769 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 17:03:24.02 ID:WJabjmO6.net]
>>762
cygwinなら/etc/fstabで/cygdriveをnoaclに設定しとけばその手の煩わしい手間の必要はたぶん無い
msysgitとかだと同じことできなかったりする?

770 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 18:27:03.56 ID:uJqfu/82.net]
>>763
Windows->(Samba)->Linuxにコピーして
Linuxでgit addした時の話ね
msysgitなら実行権を無視するのでそういう事にはならないよ

771 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 18:39:52.16 ID:lxz6gjyn.net]
だからLinux使えって言ってんだろ?

772 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:07:20.93 ID:WJabjmO6.net]
>>764
それはsamba側の設定でcreate maskを0644にしちゃえばいいと思うんけど、
そういうわけには行かない使い方をしてるのかな?



773 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:25:52.15 ID:uJqfu/82.net]
>>766
自分配下のものならそれでいいんだけど、
個人用のLinux PCとか、IT管理部門が許可しなかったりと
なかなか統一できないのよね…。

質問の件は git config core.filemode false で
実行権限無効化するくらいしか思いつかないな
gitattributesでできるんかな?

774 名前:デフォルトの名無しさん [2015/06/28(日) 20:28:07.89 ID:5m9gZHLm.net]
>>767
実行権限無視の設定にしてる。
でもこれだと、ほんとに実行するファイルの実行権限が落ちていた時に
気付かないので、できればやめたい

775 名前:750 mailto:sage [2015/06/28(日) 20:31:54.95 ID:/nFQf9C+.net]
どなたかおねがいします

776 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:44:04.23 ID:WJabjmO6.net]
>>769
stackoverflow.com/questions/21476167/when-i-do-git-push-what-do-the-statistics-mean-total-delta-etc

777 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 22:55:49.53 ID:im5DcXMU.net]
うーん、
プリコミットフィルターでコミットを拒絶するか
ポストコミットフックで実行権を強制的に書き換えるか

やりかた?知らん。

778 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 16:18:10.01 ID:rbxhDT3n.net]
git diffが見づらいんですが
背景色を変更したり文字の色を指定する方法をおしえてください

779 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 17:14:42.93 ID:k+90EXgh.net]
.git/config

780 名前:デフォルトの名無しさん [2015/06/30(火) 09:22:56.54 ID:TGfi4m1b.net]
コミットした内容を破棄するんじゃなくて
コミットしたことを破棄したいんだけど
どうしたらいいの?
ファイルの内容は戻したくない

781 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 09:39:02.37 ID:4wEdMli5.net]
>>774
git reset HEAD^

782 名前:デフォルトの名無しさん [2015/07/04(土) 13:39:17.57 ID:YKtPOMLD.net]
要件とか設計書をmarkdownとかで作成してバージョンを管理するとします。

そして変更履歴を一覧として出力(差分のみ)して作業指示書のようにすることはできますか?



783 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 07:01:20.85 ID:p0+3cdhD.net]
git log -p でええか?

784 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 11:19:13.00 ID:jgWjPX/O.net]
SourceTree ってわかりにくくない?
編集したのを元に戻すつもりで破棄を選んだら
ファイルを消されたよ

実行したgitコマンドのログも見れないし






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<316KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef