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


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

git スレッド



1 名前:login:Penguin [2007/12/16(日) 18:40:39 ID:GslAi8rs]
ソースコード管理を行うバージョン管理システム、git について語ろう。

あの、リーナス・トーバルズだって、バージョン管理を始めたんだ。
www.kernel.org/pub/software/scm/git/

git チュートリアル (バージョン 1.5.1 以降用)
www8.atwiki.jp/git_jp/pub/Documentation.ja/tutorial.html


563 名前:login:Penguin mailto:sage [2009/12/05(土) 10:43:44 ID:Pt8GWP/i]
>>562
「なんでnon-fast-forwardな状況」であるかの説明になっていないけど

564 名前:login:Penguin mailto:sage [2009/12/05(土) 13:58:28 ID:dGM7vi/8]
>>563
それが分からなければチュートリアル読んだほうが良いと思ったから。

565 名前:login:Penguin mailto:sage [2009/12/06(日) 00:13:42 ID:O+n3DTMA]
>>564
質問は「なんでnon-fast-forwardな状況」なのかであって
「(non-)fast-forwardとは何か」ではないので、だったら
>>561の説明自体無駄で最初からチュートリアルのURLだけ
案内するのと変わんねーじゃん

566 名前:login:Penguin mailto:sage [2009/12/06(日) 03:51:03 ID:3OwwH+xV]
>>565
ほんとだ、俺寝ボケてたみたいだわ。ごめん。

>>561
Bの進化分は既にAに反映されているが、Cはそれ以前のAの状態を元に進化しているので、
non-fast-forwardということになる。

567 名前:login:Penguin mailto:sage [2009/12/07(月) 12:28:13 ID:XoL3Gt8w]
Git 1.6.5.5
ttp://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.6.5.5.txt
>Manual pages can be formatted with older xmlto again.

568 名前:561 mailto:sage [2009/12/07(月) 13:26:24 ID:BLewJ948]
若干荒れ気味になってすみません。
>566
>Bの進化分は既にAに反映されているが、Cはそれ以前のAの状態を元に進化しているので、
でその通りでした。Cで
$ git pull B
コンフリクト等解決して
$ git push A
でOKでした。


569 名前:561 mailto:sage [2009/12/07(月) 13:34:18 ID:BLewJ948]
で、思ったんですが、non-fast-forwardな原因を追いかけるのはどうやるのが一番わかりやすいですかね?
私の今回の場合、過去にどう作業していたか思い出した、という原始的な方法だったんだけど、便利なコマンドとかありますか?
$ git log --graph
とか見ても、ごっちゃで気づけなかったです。


570 名前:login:Penguin mailto:sage [2009/12/07(月) 14:54:49 ID:XoL3Gt8w]
>>569
git statusした時に
# Your branch and 'origin/master' have diverged,
# and have 1 and 1 different commit(s) each, respectively.
という感じで出るので、これで分かる。ただしgitのバージョンが古いとこれ出ない。
git show-branchも調べてみたらいいかも。あとgitkはそれなりに見やすいと思うな。

>>561
>Merge the remote changes before pushing again.
これやってみればいいのに。mergeだけだとマージコミットだらけになっちゃうから、
rebase出来る時はrebaseした方がいいけどね。git pull --rebaseとか。

571 名前:login:Penguin mailto:sage [2009/12/08(火) 01:34:52 ID:JrbFTpX+]
>>569
gitk --all と打つとグラフィカルにグラフ表示してくれるので
fast-forwardかどうかすぐわかる



572 名前:561 mailto:sage [2009/12/10(木) 14:41:50 ID:ZxyM+JCY]
>570,571
リモートのコンソールにログインして使うことが多いので、gitkは使えないんです。
X飛ばすのも面倒な環境だし。
git show-branch の見かたを覚えることにしますわ。

573 名前:login:Penguin mailto:sage [2009/12/11(金) 09:24:45 ID:n6TyF9bQ]
git clone すればいいんじゃね?

574 名前:login:Penguin mailto:sage [2009/12/12(土) 01:53:51 ID:1uRf1xZK]
入門Git買ったんだが、これ分かりやすいな
さすがに濱野さんが書いてるだけあるか。

チームで使うSCMをSubversionからGitに変えたいんだが
メンバー全員に正しいGitの使い方を教育するのは、骨が折れそうだな・・・


575 名前:login:Penguin mailto:sage [2009/12/12(土) 02:23:58 ID:7I0ALriM]
>>574
入門Git、神本なのは確かだけど、俺としては日本語ちょっとクドい気がしたな。
アメリカ在住らしいから、脳が英語になってるんじゃなかろうか。

Gitって、viとかみたいに取っ付きにくいけど慣れてしまうと手放せなくなる
典型的な麻薬ツールだと思う。そのぶん障壁が高くて文句言われがちなんだけど。
だから「メンバー全員に正しいGitの使い方を教育」するのは、難しいだろうけど
そのぶん感謝もされるし、また始めての人にどう教えたら本質を理解してくれるのか
というのは、とても有用な情報だと思う。

576 名前:login:Penguin mailto:sage [2009/12/12(土) 14:40:22 ID:0trcq50X]
>>574
良い本だとは思うけど、わかりやすくはないと思う。
まわりを教育するには初心者向けのわかりやすい本が欲しい。


577 名前:login:Penguin mailto:sage [2009/12/12(土) 15:31:09 ID:1uRf1xZK]
>>575,576
日本語で読めるGitの入門書って濱野本、でびあんぐる本、ProGitくらいしかないしなぁ

でびあんぐるのは知らないけどProGit、濱野本の順で読ませるのが分かりやすいんじゃないかな


578 名前:login:Penguin mailto:sage [2009/12/12(土) 15:35:54 ID:1uRf1xZK]
>>575
Gitが難しいのは、思想や観念を理解するのが難しいわけじゃなくて
コマンド/オプションが多すぎる、同じコマンドで2種類以上の役割を持たせてる
あたりが敷居を高くしてる気がする


579 名前:login:Penguin mailto:sage [2009/12/12(土) 18:45:28 ID:7I0ALriM]
>>578
いや、コマンドの数が多いのは確かだけど、普段使うものは数えるほどしか無いよ。
それに全コマンド一覧なんて初心者に見せるか? 下位レベルコマンドは知る必要ないし。

もっとも障壁が高いのはGitの本質を知る事だと思う。特にsvnをやってた人は
「Gitで何が出来るのか」ではなく「svnでやっていたことをGitでやろう」とするので
自分がやっていることがほんとうは何を意味するのかよく分からないまま使うことになり、
「使いづれー」ってなる気がする。
頭を切り替えてチュートリアルを実践するだけで、けっこう分かると思うんだけどな。

>>577
最近初心者向けにGitのことブログで書いてる人も多いね。俺は純正チュートリアルでも
けっこういけると思うんだけどね。最初は会社の同僚からGit教えてもらったんだけど、
これは麻薬ツールの典型なんだが、会得してしまった人は会得してない人に教えるのが
上手くできないんだよね。viとかemacsとか、そう簡単に教えられるものじゃないみたいに。
だから結局は全て自分でチュートリアルやって覚えたけど、最初はどうしてもsvnとかに
なぞらえてしまって、イライラしたな。

580 名前:login:Penguin mailto:sage [2009/12/12(土) 19:41:26 ID:91i8JXzY]
>>578
resetはreset(巻き戻し)とunstage(indexからの削除)に分けるべきだよな
他には何があるっけ?

581 名前:login:Penguin mailto:sage [2009/12/13(日) 04:59:08 ID:XTGOd8wr]
>>579
Webなんかでも、svnのこのコマンドに相当するgitのコマンドは何?って質問が
結構あるしやっぱり本質は理解されてないかんじですね
indexも存在意義がわかれば非常に便利なんだけど。
Winの話題で申し訳ないけれど、TortoiseGitなんかもindexの存在を隠して
ワークツリーから直接コミットするような作りになってるし

>これは麻薬ツールの典型なんだが、会得してしまった人は会得してない人に教えるのが
たしかにそうですねw

>>580
よく使うコマンドだと
checkout ブランチ名(ブランチ切り替え)
checkout -- ファイル名(ファイル取り出し)
reset HEAD^(コミット取り消し)
reset ファイル名(ファイルアンステージ)
reset --hard(ワークツリーの修正取り消し)





582 名前:login:Penguin mailto:sage [2009/12/13(日) 12:05:06 ID:eLNfVime]
言葉で伝えるのは難しくて
チュートリアルをいじって自分の頭の中に動作イメージを作るか
よくできた紙芝居を見せてもらうかしないと
「わかった」とはならなよね。

583 名前:login:Penguin mailto:sage [2009/12/13(日) 21:39:57 ID:MfgUdwK5]
>>580-581
まあでも「alias書けば?」で終わるレベルじゃん

584 名前:login:Penguin mailto:sage [2009/12/13(日) 22:56:38 ID:hWQ7uDdJ]
だよね

585 名前:login:Penguin mailto:sage [2009/12/13(日) 23:48:27 ID:yRHWt0hz]
打つのがめんどいって話じゃなくて分かりづらいって話では?

586 名前:login:Penguin mailto:sage [2009/12/14(月) 00:06:09 ID:iC7LD6wI]
aliasには「分かりやすい名前をつける」という機能もあるんだけど

587 名前:login:Penguin mailto:sage [2009/12/14(月) 00:12:42 ID:1YNrTAVE]
一度やりたいことをしてくれるコマンドを知れば別名も
付けられるんだけどねー。
分かるまでがたいへん。


588 名前:login:Penguin mailto:sage [2009/12/14(月) 00:21:12 ID:MiMO4S1u]
そのaliasを設定するためにはコマンドの使い方知ってなければ
ならないが、話の論点わかってますか?

589 名前:login:Penguin mailto:sage [2009/12/14(月) 00:50:41 ID:uqSDssQD]
aliasでこんなんやっちゃう人もいるみたい
ttp://github.com/blog/564-hub-git-with-github

590 名前:login:Penguin mailto:sage [2009/12/14(月) 20:21:03 ID:9KU3MLe4]
俺はrefspecの表し方がよく分からない。
文脈で書き方が
$ git push repository branch
だったり
$ git merge repository/branch
だったりするところとか。理解しきれてないからなんだろうけど。


591 名前:login:Penguin mailto:sage [2009/12/14(月) 22:02:14 ID:iC7LD6wI]
>>588
そしてある程度分かってきたら、よほど長くない限りalias使わなく
てもよくなるんだけど、誰かが作ってくれたalias集をwebから
持ってきて、... なんて方法も今はあるからね。



592 名前:login:Penguin mailto:sage [2009/12/15(火) 00:21:21 ID:uU/CeyJd]
リモートブランチの扱いが俺も最初はとまどったけど
省略形じゃなくてフルで記述するコマンド体系を覚えてから
省略形を使うようにしたら、すんなり理解できた

$ git push repository branch

実は
$ git push repository branch:branch
の省略形で、手元のbranchからrepositoryのbranchへ対してpushしなさいという意味

一方mergeのorigin/masterなどは、具体的なコミットを指しているので
リポジトリ名/ブランチ名となる

593 名前:login:Penguin mailto:sage [2009/12/15(火) 04:59:39 ID:pR/bRTj/]
>>592
もう忘れてたけど確かに俺もそうだわ。
pushはフル書式で理解するまではかなり自信なさげに使ってた。

594 名前:login:Penguin mailto:sage [2009/12/24(木) 15:20:36 ID:v3JWri2J]
1.6.6 released

595 名前:login:Penguin mailto:sage [2009/12/25(金) 21:55:28 ID:lY3loZi6]
stashとresetに頼りまくってる自分の使い方は邪道なんじゃないかと
気になるんだが、indexとかうまく使えば減るだろうか

596 名前:login:Penguin mailto:sage [2009/12/26(土) 00:20:32 ID:EUZh5OCV]
>>595
運用上不都合がなければいいんじゃない?

597 名前:login:Penguin mailto:sage [2009/12/26(土) 06:40:51 ID:SkSud091]
>>595
reset、rebase、resetに頼りまくれるようになってはじめて、一人前のGit使いだと思う。
commitとmergeだけじゃ今までのVCSと変わらないじゃないか。

598 名前:login:Penguin mailto:sage [2009/12/26(土) 06:42:53 ID:SkSud091]
reset、rebase、resetってなんだよorz
reset、rebase、stashのつもりだった。。。
あとrebase --onto、rerereなんか使うとさらに先にいける。

599 名前:login:Penguin mailto:sage [2009/12/26(土) 10:39:25 ID:AQehkmKr]
おーでかーけでーすかー


600 名前:login:Penguin mailto:sage [2009/12/26(土) 12:12:59 ID:Z6Z05dDL]
今だにpush,pull,rebaseの使い分けがわかんないんだよな。
普段git svnでやりとりしてるとrebaseだけで事足りるというだけなのか

601 名前:login:Penguin mailto:sage [2009/12/29(火) 01:24:35 ID:AAGVKxmF]
そりゃgit svnではpush, pullは使いようがないというか、使ったらぶっ壊れるんじゃ。



602 名前:login:Penguin mailto:sage [2009/12/29(火) 14:12:54 ID:utuwRMGk]
他にもgit svnを使っているメンバーがいた場合、
そいつとは、pushやpullができるという

603 名前:login:Penguin mailto:sage [2009/12/29(火) 18:19:26 ID:erZVRnS3]
>>602
でも結局いつかgit svn rebaseするから、ID全部変わるしマージコミット入れられないしで
うぼわーマジsvnやめようぜクソがぁ!
ってなる。

604 名前:login:Penguin mailto:sage [2009/12/30(水) 07:38:54 ID:kfBW1mPl]
しかしsvnに入れた分はちゃんとIDそろうのはすげーと思ったな。

605 名前:login:Penguin mailto:sage [2010/01/08(金) 12:31:36 ID:S57JTlxp]
オリジナルの拡張子を持ったファイルをコミットすると、rawファイルとして認識されるみたいですが、
textファイルだとgitに教える方法はありませんでしょうか?

606 名前:login:Penguin mailto:sage [2010/01/09(土) 10:57:40 ID:3So5fkbw]
>605
gitattributes で crlf と diff をセットだと思う。

607 名前:login:Penguin mailto:sage [2010/01/12(火) 19:43:07 ID:2XlpNrfT]
githubみたいに、git archiveで生成するアーカイブに
コミット名を入れたいのですが、みなさんはどうやって取得していますか?

知りたいコミットがHEADとした場合、bashでは
VER=`cat ".git/\`cut -d \  -f 2 .git/HEAD\`"`
でコミット名が取得されるのですが、
Makefile内だとうまくエスケープ?されなくて困っています。
他の方法があればそちらで試してみたいと考えています。

ちなみに、Makefile内では
@VER=$(shell cut -d \  -f 2 .git/HEAD)
@VER=$(shell cat .git/$(VER))
echo $(VER)
としているのですが、変数VERが空になってしまいます。

608 名前:login:Penguin mailto:sage [2010/01/12(火) 23:43:38 ID:914bGyNn]
git describe --always

609 名前:login:Penguin mailto:sage [2010/01/13(水) 05:50:58 ID:+l7m8J7G]
git rev-parse HEAD

610 名前:login:Penguin mailto:sage [2010/01/13(水) 09:58:54 ID:/kr/i6EO]
github は、タグからアーカイブを生成する場合、アーカイブのファイル名にタグ名を含めてほしい。

611 名前:login:Penguin mailto:sage [2010/01/18(月) 10:24:04 ID:xAKlwsjN]
example.log っていうファイルがあって
このファイル自体はpushされていて、でも今後の変更分についてはpushしたくないってとき、どーするのが正解?

git rm --cached して版管理自体をやめるわけにはいかないんだけど



612 名前:login:Penguin mailto:sage [2010/01/18(月) 11:48:43 ID:9pALEWP2]
ignore すれば?

613 名前:login:Penguin mailto:sage [2010/01/18(月) 11:58:05 ID:xAKlwsjN]
>>612
すでに版管理されてるからmodified filesとしてあがってきちゃう
commit対象としてのみ無視したいんだけど、ignoreできるの?

614 名前:login:Penguin mailto:sage [2010/01/18(月) 20:36:24 ID:KAj8+0o6]
>>611
ローカルリポジトリでバージョン管理するのを止めれないなら
ignoreできないから、簡単な方法はないでしょう。
push用のブランチを作り、手でrebaseしてそのファイルへの修正が
入らないようにしてからpushするとかしか思いつかないけど。

615 名前:login:Penguin mailto:sage [2010/01/18(月) 20:43:21 ID:2FuAr7Gb]
push 用の branch とローカルでの example.log の変更を commit する branch とを作ればいいんじゃないかな。

616 名前:login:Penguin [2010/02/04(木) 11:09:26 ID:5W3FJugT]
CVSやSVNは集中型、gitは分散型 とあるんだけど
何が集中したり分散したりしてるの?

617 名前:login:Penguin mailto:sage [2010/02/04(木) 11:11:53 ID:CYNiw1E3]
リポジトリ(履歴データを持っている場所)が1つか、複数か。



618 名前:login:Penguin mailto:sage [2010/02/04(木) 13:34:55 ID:YQOQkcZC]
集中型は権力も集中しがちになる(コミット権がうんたら)

619 名前:login:Penguin mailto:sage [2010/02/04(木) 14:30:46 ID:5W3FJugT]
じゃあgitはオープンソースに適してるんですね。
仕事用で使いたくて、なるべく権力を集中させたいので
gitは見送ります。ありがとうございました。

620 名前:login:Penguin mailto:sage [2010/02/04(木) 17:54:59 ID:5NWhCwR0]
ワークフローは運用次第ってだけの話だが。
progit.org/book/ch5-1.html
github.com/progit/progit/blob/master/ja/05-distributed-git/01-chapter5.markdown

621 名前:login:Penguin mailto:sage [2010/02/04(木) 19:37:14 ID:YQOQkcZC]
分散型に出来て集中型に出来ないことは無いんじゃない?



622 名前:login:Penguin mailto:sage [2010/02/04(木) 19:39:44 ID:YQOQkcZC]
あれ逆か、集中型で可能なことは分散型で出来る。

623 名前:login:Penguin mailto:sage [2010/02/04(木) 19:55:52 ID:gmC/Yryo]
>>619
要は、運用次第で権力集中可能
例えば、マスターリポジトリの更新権限を限定するとか(つ〜か普通そうするんじゃ…)

624 名前:login:Penguin mailto:sage [2010/02/04(木) 20:47:50 ID:JYXesGU0]
>>622
オフラインでのコミットとか無理じゃね?
ローカルにリポジトリあれば別だけど自分以外ができないからあれだし

625 名前:login:Penguin mailto:sage [2010/02/04(木) 21:36:49 ID:G2p82aGi]
あと、うっかり変なcommitをしてしまったとき、gitならpushしない限り大丈夫だが、
集中型だとお説教タイムになってしまう悪寒

626 名前:login:Penguin mailto:sage [2010/02/05(金) 00:04:47 ID:+YPRuxoa]
>>625
巻き戻せばいいだけでは。

627 名前:login:Penguin mailto:sage [2010/02/05(金) 01:55:01 ID:CLmEj5oN]
>>626
普通巻き戻しは特権がいるんじゃない。 で、特権のある人に
お説教されるとw

628 名前:login:Penguin mailto:sage [2010/02/06(土) 00:46:55 ID:44qJRz29]
お説教なの? ニヤニヤされるんじゃなく?

629 名前:login:Penguin mailto:sage [2010/02/09(火) 20:22:37 ID:RAlUQWhi]
せんせーきほんてきなしつもーん

ターミナルが A と B の 2個あったとして、
A で git checkout one したあと
B の Emacs でたくさん git 対象ファイルを開いて、そのまま、
A で git checkout two するとします

Emacs で開いてるバッファ内容ってやっぱり one のままだよね?
バッファを編集して保存したら one のファイル内容が two のファイルに上書きされて「危険」だよね?
A でブランチを切り替えるたびに Emacs のバッファは全部閉じて再度開きなおさないといけないよね理屈上

630 名前:login:Penguin mailto:sage [2010/02/09(火) 20:36:57 ID:b7GskCpL]
emacs使いじゃないから知らないが、バッファ読み込み後にファイルが更新されてるのを
警告もなしにそのまま上書きしちゃうのか?

631 名前:login:Penguin mailto:sage [2010/02/09(火) 20:39:16 ID:acViODVs]
ニヤニヤ



632 名前:login:Penguin mailto:sage [2010/02/09(火) 20:39:37 ID:nKVKxkV8]
ちゃんと警告してくれますよ。

633 名前:login:Penguin mailto:sage [2010/02/09(火) 20:47:12 ID:9V49chdu]
screen と emacsclient使え。

634 名前:login:Penguin mailto:sage [2010/02/10(水) 09:43:04 ID:QkCzSUH3]
Emacsの revert-buffer を使えばバッファを再読み込みしてくれるけど……

635 名前:login:Penguin mailto:sage [2010/02/10(水) 10:00:40 ID:0TBtUf8g]
>>629
危険ていうか、それはgitじゃなくても他の端末から同じファイルを編集したら同じことになるでしょ。

俺はvimだけど、ブランチ切り替えもそうだけど、git stash -> git svn dcommit -> git stash pop
ってやった後に保存しようして、警告が出るな。
このパターンだと十中八九ファイルの内容は変わってないんだけど、念のため確認するようにしてる。

636 名前:login:Penguin mailto:sage [2010/02/10(水) 15:21:40 ID:M9UhD/wS]
git-mode上でブランチ切り替えたら再読み込みしてくれたりしないかな

ようはEmacsがブランチ変更を検知しないことが問題なんだよね
上書き警告だって本質的な対策じゃない
ブランチが変更されたんだから、編集したいのはそのブランチのファイルのはず

637 名前:login:Penguin mailto:sage [2010/02/10(水) 15:26:10 ID:3rYFILyb]
Emacsの普通の設定ならタイムスタンプが変わってたらrevertするか聞いてくるだろ


638 名前:login:Penguin mailto:sage [2010/02/10(水) 15:31:20 ID:M9UhD/wS]
>>637
それがめんどくへえという話なのでは…
編集中のバッファでなければこっそり開きなおしてくれてるくらいのサービス精神がないと
不況下の日本ではEmacsは生き残れないぞたぶん

639 名前:login:Penguin mailto:sage [2010/02/10(水) 15:33:25 ID:uKVeMcIn]
>>638
そうしたいならそうすればいいじゃん

640 名前:login:Penguin mailto:sage [2010/02/10(水) 15:43:03 ID:9JULZJQU]

git はメンテしてる Junio Hamano 氏がとんでもないナンパ野郎だと知って以来、
極力避けるようにしてる。濱野氏がメンテから降りたらもっと使ってもいいかな。


641 名前:login:Penguin mailto:sage [2010/02/10(水) 16:33:53 ID:wST9AMIH]
ふーん



642 名前:login:Penguin mailto:sage [2010/02/11(木) 11:44:58 ID:yw+dRYs8]
>>640
どのへんがナンパ野郎なのか教えて

643 名前:login:Penguin mailto:sage [2010/02/11(木) 12:45:14 ID:XV6xszzu]

濱野氏は、美人研究者のブログで、その人が git 好きなのをネタにして、
「今度 git の講演に日本に行くから、その時に二人でデートしようぜ」
と本気でナンパしていたと聞いている。

644 名前:login:Penguin mailto:sage [2010/02/11(木) 15:02:11 ID:nZMD/n4Y]
べつにgitをユーザが増えようと減ろうとJunioのナンパに貢献する
ことはないと思うけど、それ以前に共通の趣味をネタに口説くこと
がどうまずいのかも不明。

645 名前:login:Penguin mailto:sage [2010/02/11(木) 15:10:50 ID:yJW9hFuf]
女を捨てまくってるとかならともかく、アプローチしてるだけでそこまで嫌悪する必要ないだろ

646 名前:login:Penguin mailto:sage [2010/02/11(木) 15:55:14 ID:WaojUPKf]
>>643
糞ワロタwww
ブログでかよ?
他に読んでる奴等もいるだろうし、
さすがにそれはねーわなw

647 名前:login:Penguin mailto:sage [2010/02/11(木) 17:30:48 ID:aEGTGT/7]
gitに使う価値があるかどうかは、
メンテナ氏の女性へのアプローチ法とは関係がない


648 名前:login:Penguin mailto:sage [2010/02/11(木) 19:24:12 ID:oAJQYaS+]
どこのblogかkwsk

649 名前:login:Penguin mailto:sage [2010/02/11(木) 20:12:33 ID:jeJxZddW]
嫌儲の男女バージョンみたいな感じだな

650 名前:login:Penguin mailto:sage [2010/02/11(木) 22:27:09 ID:71QNNVeu]
>>638
auro-revert-bufferじゃだめなのか?

651 名前:login:Penguin [2010/02/12(金) 01:58:47 ID:hFHmJq9f]
ソースコードを本番にデプロイする時についてなのですが、
前回デプロイ時のソースとの差分だけ抽出して、そのファイルだけ本番にデプロイできるようにしたいと考えています。
今レポジトリにコミットしたリビジョンと、前回デプロイ前のコミット時のリビジョンの差分を
抽出することができればと思うのですが、それ用のコマンドってgitにあるでしょうか??

教えていただけると幸いです。



652 名前:651 [2010/02/12(金) 02:00:25 ID:hFHmJq9f]
すいません、言葉足らずでした。
>>今レポジトリにコミットしたリビジョンと、
>>前回デプロイ前のコミット時のリビジョンの差分を
>>抽出することができればと思うのですが、

更新のあったファイルの「ファイル名」だけ、gitのコマンドで抽出できないか、という意味です。

653 名前:login:Penguin mailto:sage [2010/02/12(金) 08:54:33 ID:hx+CbuVO]
>651
どーやってデプロイしてるのか教えれ。


654 名前:login:Penguin mailto:sage [2010/02/12(金) 11:50:19 ID:StLEjzjs]
>>652
git diff --name-onlyとか、どう?


655 名前:login:Penguin mailto:sage [2010/02/12(金) 14:33:42 ID:MaWIE5lB]
>>651
普通にgit pullしたら早いと思うんだけどな。
rsyncするよりも手軽だし。

656 名前:651 [2010/02/12(金) 15:29:51 ID:hFHmJq9f]
レスありがとうございますm(_ _)m

>>653
ftpかsftpでデプロイしようと思っています。
本番環境はさくらインターネットの供用サーバです。

>>654
やってみました。
これって、コミットする前の、さらにステージする前の差分ファイルを抽出するんですね。
git diff --cached --name-only って試してみたらステージ後の差分ファイル一覧も出力出来ました。
やろうとしていることは大体こんな感じなのですが、
2つ前のコミットと1つ前のコミットの間で更新されたファイル一覧の出力ってのはできないでしょうか??

>>655
なるほど、本番環境に入ってpullするんですね。
仕事では本番サーバも自分で用意してgit環境も構築してたのですが、これってやったことありませんでした。(普通にsftpとかrsyncで・・)
ただ今回の場合、デプロイ先がさくらインターネットの共有サーバなので、git環境を構築出来ないと思うんですよね。
なので普通にftpとかsftpでアップしようと思っています。

ちなみに、本番環境でgit pull する方法で、本番ウェブサーバが複数ある場合は、
それぞれにログインしてウェブサーバ毎にgit pullする感じですか?

657 名前:login:Penguin mailto:sage [2010/02/12(金) 15:54:21 ID:MaWIE5lB]
>>656
>ちなみに、本番環境でgit pull する方法で、本番ウェブサーバが複数ある場合は、
>それぞれにログインしてウェブサーバ毎にgit pullする感じですか?
どれぐらい気をつかってやるかにもよるんじゃないか。
静的コンテンツをただ更新するだけならrsyncとかgit pull/pushとかをスケジューリングで
自動でやらせてもいいかもしれないけど、warなんかだとそうもいかないだろうから
リリース毎にウェブサーバ切り替えながら慎重にやるんじゃない?

てきとうにググったら、さくらのレン鯖にGit入れてる人けっこう居るみたいだよ
ttp://www.google.co.jp/search?q=%E3%81%95%E3%81%8F%E3%82%89+%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC+git
俺もさくらのやつあるんだよね。今度やってみようかな。

658 名前:651 [2010/02/12(金) 21:58:43 ID:hFHmJq9f]
>>657
レスどもです。

そーか、スタンダードプランならsshとか使えるし、gitのインストールもできるんですね。
早速
d.hatena.ne.jp/higepon/20091119/1258633627
これみてやってみたんですが、
git push --all
のところで
Permission denied (publickey,password).
fatal: The remote end hung up unexpectedly
っていわれてしまいました。

さくらのスタンーダードプランのssh接続って試してみたら
鍵認証なしの単純なパスワード認証みたいなんですけど、
git push の時のssh接続では鍵が探されてる?気がします。
上の記事書いた人はなんでうまくいったのか・・
git://プロトコルにするとポートが開いてないみたいでダメです。思案中・・

659 名前:login:Penguin mailto:sage [2010/02/12(金) 22:57:55 ID:meESnmZa]
>>658
単に向こうの~/.sshやauthorized_keysのパーミションの
問題とかではなく?


660 名前:651 [2010/02/13(土) 00:05:44 ID:IZfm7XrQ]
>>659
いま一応確認してみましたが、~/.ssh のパーミッションは755で、authorized_keysはありませんでした。
普通にsshでログインしようとしたら鍵認証じゃなくてパスワード認証になるので
authorized_keysはないのは問題ないと思うんですが
gitでssh接続しようとするとなぜか鍵認証にしようとします・・なぜだー。

661 名前:login:Penguin mailto:sage [2010/02/13(土) 02:02:29 ID:52GS5xAq]
man co



662 名前:login:Penguin mailto:sage [2010/02/13(土) 09:09:31 ID:mH7bnksn]
>>656
> 2つ前のコミットと1つ前のコミットの間で更新されたファイル一覧の出力ってのはできないでしょうか??

git diff --name-only HEAD^^ HEAD^

それぞれのcommitのSHA-1値を与えてもOK。詳細は git diff --help してみるのがよいかと。


663 名前:login:Penguin mailto:sage [2010/02/13(土) 11:21:11 ID:tHnX+oRf]
1.7.0 キタ━━━━(゚∀゚)━━━━!!
ttp://article.gmane.org/gmane.linux.kernel/949579






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

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

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