15/10/25 02:58:51.26 +bXpGndU.net
git merge --squashしてマージした後作業ブランチを削除したら
作業ブランチの履歴ってもうどこにも残らないっていう認識でいいの?
263:デフォルトの名無しさん
15/10/25 03:32:13.28 TeMGgm34.net
>>260
コミットIDを直接指定すれば見れるし、しばらくはgit reflogでコミットIDを知ることができる
264:デフォルトの名無しさん
15/10/25 11:34:28.83 MYRFLLoW.net
>>261
どうもです
git gcとかしても残ってるって事かな?
何かすれば完全に消せるのかもしれないけど、やっぱり基本全部残るんだね
265:デフォルトの名無しさん
15/10/25 20:47:35.52 cc/DQ18H.net
Gitのコミットメッセージの書き方
URLリンク(postd.cc)
えっと、俺がいいたいのは、適当にコミット作るんじゃないってこと。
266:デフォルトの名無しさん
15/10/25 20:53:32.78 TeMGgm34.net
>>262
git reflog expireとかしてからgit gcかな?
267:デフォルトの名無しさん
15/10/26 02:04:27.81 FkehLJPr.net
ブランチはhead に付けたただのラベルだし、squash だろうがamend だろうが別のコミットが出来るだけだから原理的に消える道理がない。
その程度で履歴が無くなるなら scm としての価値は無いし、誰も使わないだろな。
268:デフォルトの名無しさん
15/10/26 12:07:25.93 2PrT+848.net
>>265
いやいや、squashして意図的にブランチを消しててコミットIDを直で指定しないと見れないのに
消えてはいないっておかしいよ
つうかどこからも参照されてないんだから>>264で消える気がする
269:デフォルトの名無しさん
15/10/26 12:24:12.76 BuuBsHie.net
squashやamendやrebaseが行うのは履歴への追加じゃなくて履歴の改変なんだよね
追加された履歴は残っていく
改変された履歴は消える(しばらくはreflogやもしくはコミットID直接で参照できるけど)
scmは履歴を絶対改変すべきじゃないって主張する人たちは存在するね
270:デフォルトの名無しさん
15/10/27 16:44:00.23 HboLy9sO.net
msysgitってシンボリックリンク使えないの?
ってことはWindowsでgitをまともに使いたいと思ったら
Cygwinしかないってことなのかな?
271:デフォルトの名無しさん
15/10/27 17:11:37.37 xKgS+FH1.net
git init
git add .
touch a.txt
git commit -m "initial commit"
git checkout -b develop
ここでいろいろコードを書くがコミットはまだしてない。
そしてここでinitial commitにb.txtを入れとけばよかったと後悔する。
initial commitにb.txtを含めて今の作業を続ける方法を教えてください
272:デフォルトの名無しさん
15/10/27 17:19:42.86 DLW1/UEr.net
>>269
rm -rf .gitして、git initからやりなおす
273:デフォルトの名無しさん
15/10/27 18:26:56.35 TrEmiTqs.net
>>269
git stash
git checkout master
git stash pop
git add b.txt
git commit --amend
274:デフォルトの名無しさん
15/10/27 20:37:39.11 to74HYda.net
>>271
gitの試験があったら絶対出そうな問題だな
275:デフォルトの名無しさん
15/10/28 10:27:16.17 MvlYKNm6.net
gitをsvnのように厳格に扱うのは難しいな
276:デフォルトの名無しさん
15/10/29 07:56:50.98 t7cBGlru.net
gitはフィクション
svnはドキュメンタリー
277:デフォルトの名無しさん
15/10/29 17:24:18.93 VEPUoFae.net
コミットしていないとスタッシュされないのでしょうか
278:デフォルトの名無しさん
15/10/29 18:28:02.18 xKC1LsFh.net
コミットしてないものを待避させるのがスタッシュ
279:デフォルトの名無しさん
15/10/29 19:24:03.64 VEPUoFae.net
>>276
ありがとうございます
280:デフォルトの名無しさん
15/10/31 16:22:53.54 TxGm4OE+.net
Git 2.x シリーズの 6 つの素晴らしいフィーチャー
URLリンク(japan.blogs.atlassian.com)
281:デフォルトの名無しさん
15/10/31 20:29:41.54 yFtitU0D.net
リモートのリポジトリから特定のコミット時点のソースコード一式を取得するgitコマンドってあったりするの?
git cloneだとinitからそのコミットまでの繋がる歴史一式をダウンロードしちゃうじゃん
コンパイルしたいだけだから別に歴史いらないわけだし
282:279
15/10/31 20:35:18.99 yFtitU0D.net
自己解決
git clone --depth 1
ってすればよかったのね
283:デフォルトの名無しさん
15/11/02 01:55:37.40 S3g2dtBe.net
msysとmsys2とmsysgitの関係について教えてくれ。
Windowsでgit使ってる人ってどれだけいるの?
みんなGUI?
284:デフォルトの名無しさん
15/11/02 04:07:31.45 CHMqWRpe.net
基本SourceTree
細かいとこはCLI
285:デフォルトの名無しさん
15/11/02 04:26:58.35 S3g2dtBe.net
CLIはmsys系ですか?それともcygwinですか?
286:デフォルトの名無しさん
15/11/02 08:20:03.23 CHMqWRpe.net
Cygwinも入れてるけどSourceTreeから開けるターミナルで足りてる
287:デフォルトの名無しさん
15/11/02 13:55:07.04 S3g2dtBe.net
SourceTreeからターミナル開けるのか。
何が開くんだろう?
288:デフォルトの名無しさん
15/11/02 13:57:41.89 S3g2dtBe.net
入れるの面倒だからぐぐったらGit Bash(msysgit)って書いてあるな。
URLリンク(relx.jp)
289:デフォルトの名無しさん
15/11/02 22:29:46.16 FuqVE4Ho.net
sourcetreeでコミットを無かったことにするのはどうやればいいの?
なんかrevertする方法しかでてこない
290:デフォルトの名無しさん
15/11/02 23:04:36.08 WH1PRmcF.net
現在のブランチをこのコミットまでリセット
291:デフォルトの名無しさん
15/11/02 23:53:19.47 FuqVE4Ho.net
>>288
いっこずつ戻したいんだよなぁ
292:デフォルトの名無しさん
15/11/03 00:17:30.49 U6FK9+f+.net
1個前のコミットが複数ある可能性があるからさ
特定のコミットへresetするか
いまのコミットをamendするか
どっちかになるわけよ
293:デフォルトの名無しさん
15/11/03 12:59:50.86 Z7Vi/X+L.net
>>289
いっこづつ戻りながら>>288やればいいじゃん
294:デフォルトの名無しさん
15/11/04 15:24:58.18 4VARUgDB.net
特定のフォルダ以下はバージョンを最新のものしか保持しないように出来る?
出来るならやり方教えてください
295:デフォルトの名無しさん
15/11/04 16:37:38.13 skpMWGee.net
>>292
最新のってどういう定義だよ? リモートにあるのが最新?
それを更新するタイミングは? 別ブランチに切り替えた時、残しておきたい?
出来ないというか、そんなのはバージョン管理じゃない。
同じバージョンから違うバイナリが出来てしまう。
それをやるならば、バージョン管理外のものとして自分でどうにかするしか無い。
1. 今のプロジェクトとは別のバージョン管理を行う。
外部ライブラリとかがこんな感じになってる。
場合によってはsubmoduleを使う。
2. ファイルをリポジトリに入れず、アプリ実行時にファイルがなければ
リポジトリに入れたテンプレートファイルからコピーする。
設定ファイルがこんな感じになってる。
テンプレートファイルの代わりに、最新のファイルでも
どこぞ好きな場所からコピーすればいい。
296:デフォルトの名無しさん
15/11/04 17:21:49.38 4VARUgDB.net
>>293
例えばコンバータの実行ファイルとか最新でありさえすればいいものとかね
もちろん互換性を保持したままバージョンアップされる
コンバータをビルドするには環境を作成する必要があるからgit cloneで
バイナリだけ落ちてくればいい
もちろんツールのソースは別のリポジトリで管理されてる
単にディスクスペースを気にせずバイナリをcommitすれば全て解決だけど
履歴は要らないから簡単に保存しないように出来ればなと思っただけだ
hash-objectあたりを使いこなせれば出来そうな気がするけど簡単に
出来る方法があればと聞いてみた
297:デフォルトの名無しさん
15/11/04 19:34:12.84 skpMWGee.net
>>294
> 例えばコンバータの実行ファイルとか最新でありさえすればいいものとかね
いやだから、それはバージョン管理外の話だろ。
コンバータの実行ファイルをリポジトリに入れるのは、間違っている話で、
そういうのは、サーバーのセットアップとして、例えばgccコマンドのように
パッケージマネージャーや類似のシステム、それがなければ独自の配布手段で
インストールするものだぞ。
例えばrubyとかの世界ではGemfileをリポジトリに入れておいてBundlerコマンドで
Gemfileに書いてあるモジュール(コマンド含む)をインストールする。
298:デフォルトの名無しさん
15/11/04 19:36:42.04 skpMWGee.net
> コンバータをビルドするには環境を作成する必要があるからgit cloneで
> バイナリだけ落ちてくればいい
単純にこの発想が間違いで、glt cloneで落ちてくる代わりに、
make-build-environment.sh とか作ってそれで落とせばいいわけさ。
もし、コンパイルが必要なソースコードであれば
makeファイルの中で落とせばいい。
なんでもgitでやろうとするなよ。
299:デフォルトの名無しさん
15/11/04 20:57:52.36 4VARUgDB.net
別に発想とか概念とかの指摘はいいよ
gitで簡単に出来ればやるし絶対出来ないんだったらやめるよ
ただProGitに公開鍵(もちろんバージョン管理は不要)をhash-objectで
格納する例があってそれが頭にあったってのもある
gitは根本的には仮想ファイルシステムなんだからhash-objectでやろうと思えば
望んだ動作が出来るはずだけど、そこまで理解出来てないからこれから考える
300:デフォルトの名無しさん
15/11/05 01:00:56.37 wTaDkVSL.net
変更がなけりゃいくらコミットしてもコピーされないよ大抵の場合
301:デフォルトの名無しさん
15/11/05 01:51:31.86 DwMhKH/P.net
ver1.0のソースコードの時にコンバーターの実行ファイルを追加しました。
ver2.0の時にコンバーターをアップデートしました。
後からver1.0のソースコードをビルドしたい時、
コンバーターは最新のものを使いたいです。ってことでしょ?
だから最初から普通にバージョン管理するべきじゃないって話をしてるのに。
できるかどうかじゃないんだよ。
302:デフォルトの名無しさん
15/11/05 04:53:44.41 I889oTiv.net
v1.0からブランチ切って最新コンバータつっこめばいいだけじゃね?必要なら適当なタグもつけてやりゃいい
303:デフォルトの名無しさん
15/11/05 10:15:19.90 raJNtqbt.net
>>296
> なんでもgitでやろうとするなよ。
頭固いね。
Gitでバイナリファイルを管理したっていいじゃない。
こういう仕組みも用意されてるんだし。
URLリンク(git-scm.com)
304:デフォルトの名無しさん
15/11/05 10:50:05.42 M/aCNGR1.net
>>301
いいんじゃない?バイナリーのgitでの管理
うちも結構やってるよ
でもバージョン管理したくない物をgitの管理下に置くのは
筋の悪い使い方のような気がするな
というか、俺はそのバイナリーもバージョン管理したい
俺だったらそのバージョン作成時のバイナリーファイルをgitに入れておいて
そのバイナリーの最新版を取得するスクリプトも一緒にgitに入れておくよ
そうすれば動作実績のある古いコードと古いバイナリーの組み合わせで現環境での動作を確認した上で
バイナリー部分を新しくして再作成できる
305:デフォルトの名無しさん
15/11/05 13:08:39.43 Rz7aBIc4.net
URLリンク(git-scm.com)
のリリース用のタグ付けに公開鍵をhash-objectを使って格納する例が載ってる
gitは柔軟な管理が出来るっていう1例だな
gitの内部構造をちゃんと把握出来れば最善な方法は分かるだろう
とりあえずそこまで分かってないと向いてる向いてないを言う事は出来ない
色々試してみるよ
306:デフォルトの名無しさん
15/11/05 14:34:23.73 Br1WFf6W.net
バージョン番号を管理したいときにはgitは不向きなんだよね
かといってcvsに戻るのも面倒だし・・・
307:デフォルトの名無しさん
15/11/05 14:58:23.44 MKzEUYge.net
ツールに溺れてアホ。
308:デフォルトの名無しさん
15/11/05 17:53:54.64 DwMhKH/P.net
>>301
> Gitでバイナリファイルを管理したっていいじゃない。
誰もバイナリファイルを管理するなって言ってないんだけど。
jpgとか一体何から生成するっていうんだ?
生成するソースがバイナリ形式しか無いものだっていくらでもある。
309:デフォルトの名無しさん
15/11/05 17:59:16.22 DwMhKH/P.net
>>305
> バージョン番号を管理したいときにはgitは不向きなんだよね
バージョン番号をつける(にも使える)為の
git tagって機能があるよ。
310:デフォルトの名無しさん
15/11/05 18:00:50.32 DwMhKH/P.net
>>302
> いいんじゃない?バイナリーのgitでの管理
> うちも結構やってるよ
>
> でもバージョン管理したくない物をgitの管理下に置くのは
> 筋の悪い使い方のような気がするな
そのとおりだよね。
バージョン管理したくないものを含めるなって言ってるのに、
いきなり(バージョン管理することも普通にある)
バイナリファイルを持ってきて反論したつもりとか意味不明すぎたw
311:デフォルトの名無しさん
15/11/05 18:38:53.43 raJNtqbt.net
>>308
> バージョン管理したくないものを含めるなって言ってるのに、
そうなの?
俺は、元発言者は、バイナリをバージョン管理したいと思ったが。
V1.0とV2.0があったとき、
・V1.0の完成時点のバイナリの何か
・V2.0の完成時点のバイナリの何か
を取得できないと後から困ったことになったりして、そのバイナリの何かをバージョン管理に
入れたいんじゃないのかと思ったが。
312:デフォルトの名無しさん
15/11/05 18:41:04.26 raJNtqbt.net
>>299
> ver1.0のソースコードの時にコンバーターの実行ファイルを追加しました。
> ver2.0の時にコンバーターをアップデートしました。
>
> 後からver1.0のソースコードをビルドしたい時、
> コンバーターは最新のものを使いたいです。ってことでしょ?
この例だと、最新のコンバータではV1.0をビルドできないから、V1.0時代のコンバータが必要とか。
313:デフォルトの名無しさん
15/11/05 18:43:28.38 raJNtqbt.net
まぁ、その必要なバイナリが、何かのエコシステムに入っていて、後からバージョン指定でいつでも
取り出せるようになってればいいけど、そうなってないバイナリの何かは、バイナリそのものを管理
しといたほうが楽じゃないか?
314:デフォルトの名無しさん
15/11/05 18:45:33.55 DwMhKH/P.net
>>309
特定のフォルダ以下はバージョンを最新のものしか保持しないって
書いてあるだろ。
292 名前:デフォルトの名無しさん[sage] 投稿日:2015/11/04(水) 15:24:58.18 ID:4VARUgDB [1/3]
特定のフォルダ以下はバージョンを最新のものしか保持しないように出来る?
出来るならやり方教えてください
294 返信:デフォルトの名無しさん[sage] 投稿日:2015/11/04(水) 17:21:49.38 ID:4VARUgDB [2/3]
例えばコンバータの実行ファイルとか最新でありさえすればいいものとかね
もちろん互換性を保持したままバージョンアップされる
コンバータをビルドするには環境を作成する必要があるからgit cloneで
バイナリだけ落ちてくればいい
315:デフォルトの名無しさん
15/11/05 18:50:31.91 DwMhKH/P.net
>>311
最新のもの "しか" 保持しないというのは
言い換えると古いバイナリは保持しないってことだぞ。
バイナリであろうがなかろうが、
「それ(例:バイナリ)」が「あれ(例:ソース)」から自動的に生成可能なのであれば
「あれ」だけをバージョン管理すればいい。
「それ」は入れる必要が無い。
だけど「あれ」が入手不可能だったり自動的に生成するのが困難だったり
するばあいは「それ」を入れても構わんよ。それがバイナリであっても。
で、この話はしていない。
特定のフォルダ以下はバージョンを最新のものしか保持しないならば
最初からバージョン管理ツールで管理するなって話をしてるの。
316:デフォルトの名無しさん
15/11/05 18:51:43.97 UFjpiFTR.net
converter_v1.exeとかconverter_v2.exeとかの名前でコミットしといて、
converter.exe自体はソース管理対象から外しておいて
converter_v1.exeとかconverter_v2.exeからconverter.exeへコピーしてビルドするとかじゃダメなの?
317:デフォルトの名無しさん
15/11/05 18:55:40.56 DwMhKH/P.net
>>314
それは何が目的?
318:デフォルトの名無しさん
15/11/05 20:10:12.66 Rz7aBIc4.net
>>313
>>294で
> コンバータをビルドするには環境を作成する必要があるからgit cloneで
> バイナリだけ落ちてくればいい
> もちろんツールのソースは別のリポジトリで管理されてる
って言ってるじゃん
使う側はコンバータをビルドする環境が無いから(作成する必要もないから)
最新のコンバータだけcloneで他のソースとかと一緒に落ちてくればいいという事を言ってる
gitは仮想ファイルシステムでProGitでバージョン管理する必要の無い公開鍵を
hash-objectで格納する例が載ってるから、バイナリをそんな感じで管理したいって事
もうこれで3回も同じ事を書き込んでるけど、誰もhash-objectやgitの仕組みには
触れずに概念的な話しに終始してるよな…
そんなことはVCS全般すれでやればいい事でgitでどうやるかを聞いてるだけだ
319:デフォルトの名無しさん
15/11/05 21:52:52.17 DwMhKH/P.net
>>316
じゃあ「特定のフォルダ以下はバージョンを最新のものしか保持しない」は
どういう意味?
最初に俺が、その質問者に意味を聞いてるんだけどなw
擁護するならあんたが答えてもいいよ。
320:デフォルトの名無しさん
15/11/06 00:17:21.57 PyaxwC3a.net
>>317
特定のフォルダ以下にそういうコンバータがいくつもあって
いっぺんに指定したいってだけでしょ
321:デフォルトの名無しさん
15/11/06 00:32:23.13 0X5/TYar.net
>>318
意味不明。「最新のものしか保持しない」んだよ。
いくつもあるわけがない
322:デフォルトの名無しさん
15/11/06 07:20:37.94 bXBG+Vn3.net
最新のコンバータが1つのファイルとは限らないだろ
本体バイナリと設定ファイルで構成されるとか
バイナリだけだとしてもバックエンドとフロントエンドに分かれているとか
本人じゃないから実情は知らんけど
323:デフォルトの名無しさん
15/11/06 08:20:01.22 2EpFLhtG.net
>もうこれで3回も同じ事を書き込んでるけど、誰もhash-objectやgitの仕組みには
>触れずに概念的な話しに終始してるよな…
皆筋悪そうだから他の方法すすめてるだけなのに
そんなにいいアイデアだと思うんなら自分でやってみて
「ぼくのかんがえたさいきょうの・・・」とかいう釣りタイトルつけて
ブログにでもうpすれば。
324:デフォルトの名無しさん
15/11/06 10:15:34.87 BnMLfISE.net
>>313
> 最新のもの "しか" 保持しないというのは
> 言い換えると古いバイナリは保持しないってことだぞ。
俺が想像したのは、MyApp V1.0の時の最新と、MyApp V2.0の時の最新は違うということ。
V1.0一式を取得したら、そのときの最新のバイナリの何かが欲しいのではと。
> だけど「あれ」が入手不可能だったり自動的に生成するのが困難だったり
> するばあいは「それ」を入れても構わんよ。それがバイナリであっても。
>
> で、この話はしていない。
ソースからビルド可能なら、バイナリは管理するな、ビルドしろと読み取ったから少しコメント
したんだが、そういう話じゃないなら、俺からは以上かな。
325:デフォルトの名無しさん
15/11/06 10:26:56.60 0X5/TYar.net
>>322
読めばわかるでしょ?
その時の最新のバイナリではなくて、常に同じものが欲しいって書いてある。
古いコードをチェクアウトしたとき、当時の最新ではなくて現在の最新がほしいって書いてある。
なにそれ?バージョン管理の意味無いじゃん。って話をしてるからやめとけという話をしている。
バイナリを入れるのもあまり良くないが仕方ない場合もあるとして、
それ以上に古いコードを新しいツールでビルドするのも同一性が担保できないし、
百歩譲ってそれでいいにしても、それならそれでバージョン管理をしなければいいだけ。
単に「ファイルを取ってくるのが面倒くさい」という理由だけで、
バージョン管理ソフトをバージョン管理ではない使い方をしようとしてるんだよ。
なぁ?センス無いだろー?w
326:デフォルトの名無しさん
15/11/06 10:52:43.50 51omasux.net
gitはファイルストレージじゃないんだからリポジトリを肥大化させるバイナリを入れるなでFA
327:デフォルトの名無しさん
15/11/06 11:12:47.77 MCFwvtat.net
>>323
現在の最新って何かな?
特定のブランチをcheckoutすればそのブランチにおける最新のファイルが全部ワークツリーに展開されるよね?
指定したディレクトリの下だけは、ブランチの最新じゃなくて、リポジトリに存在するそのディレクトリの最新のツリーオブジェクトに置き換えるってこと?
328:デフォルトの名無しさん
15/11/06 11:45:37.95 BnMLfISE.net
>>323
ところで、Webアプリ開発で、external compiled/minified js/css libraryを、自リポジトリに
入れることについてはどう思う?
これを入れて良いと考えるなら、コンバータ的な何かのバイナリを自リポジトリに入れても
違和感ないと思うんだが。
329:デフォルトの名無しさん
15/11/06 11:56:33.81 0X5/TYar.net
なんでこう次からから次へと同じ間違いしてる奴ばかり来るんだ?
俺はバイナリも生成したファイルを入れることも否定してないんだよ。
「バージョン管理をしないもの」をバージョン管理システムに
入れるなって話をしてる。
いいかげんにしろ。ちゃんと読んでからレスしろ
330:デフォルトの名無しさん
15/11/06 12:00:03.45 0X5/TYar.net
>>325
言ってるのは俺じゃないぞ、例のあいつ曰く。
新しいファイルをコミットししたら、
過去の歴史のどのコミットをチェックアウトしても
あるディレクトリ以下だけは最後にコミットしたファイルを使いたいって言ってるんだよ。
繰り返し言うが、俺じゃないぞ。
あいつがそうしたいって言ってるんだよ。
↓これな
> 292 名前:デフォルトの名無しさん[sage] 投稿日:2015/11/04(水) 15:24:58.18 ID:4VARUgDB [1/3]
> 特定のフォルダ以下はバージョンを最新のものしか保持しないように出来る?
> 出来るならやり方教えてください
だから俺はバージョン管理しないなら、
バージョン管理システムに入れるなって言ってる。
331:デフォルトの名無しさん
15/11/06 12:08:27.80 MCFwvtat.net
>>328
それがもとなのか
でも >>293 の書き込みから推測すると
これは指定フォルダ範囲限定のshallow cloneしたいと言ってるように思える
指定フォルダ範囲以外は過去の履歴全部cloneやpullしたいけど
指定フォルダ範囲だけは最新のファイルだけ(-depth 1)cloneやpullしたいみたいな感じ?
332:デフォルトの名無しさん
15/11/06 12:08:57.52 MCFwvtat.net
>>293じゃないや>>292ね
333:デフォルトの名無しさん
15/11/06 12:09:30.58 0X5/TYar.net
> それがもとなのか
> でも >>293 の書き込みから推測すると
>>293は俺だよ。>>292へのレスだろうが。
334:デフォルトの名無しさん
15/11/06 12:14:22.35 0X5/TYar.net
>>330
それのレスを見る前に>>331を書き込んだ。
>>292=294が言ってるだろ
> コンバータをビルドするには環境を作成する必要があるからgit cloneで
> バイナリだけ落ちてくればいい
> もちろんツールのソースは別のリポジトリで管理されてる
>
> 単にディスクスペースを気にせずバイナリをcommitすれば全て解決だけど
> 履歴は要らないから簡単に保存しないように出来ればなと思っただけだ
1. 履歴は要らないと言ってるから、やっぱり最新版だけ欲しいだけ。
2. git cloneでバイナリを落としたいと言ってる。
単に別コマンドが面倒ってだけ。
別コマンドを入力するのが面倒だからという理由だけで
バージョン管理しないものを、バージョン管理システムに入れようとしてる。
俺は最初から、入れずに別から持って来いって話をしてる。
一般に用いられてるrubyのGemfileとかそういう仕組だろうが。
バージョン管理システムでやることじゃない。
ソースコードに含まれるビルドの仕組みでやるべきことだ。
335:デフォルトの名無しさん
15/11/06 12:21:05.32 ev4LQ/Di.net
思うに元の質問者は一部ディレクトリには最新版を強要するというバージョン管理をやりたいのではなかろうか?
336:デフォルトの名無しさん
15/11/06 12:26:48.00 MCFwvtat.net
>>333
その最新版っていうのはブランチの?ローカルリポジトリの?リモートまでも含めた全ブランチの?
337:デフォルトの名無しさん
15/11/06 12:38:20.61 BnMLfISE.net
>>332
> 一般に用いられてるrubyのGemfileとかそういう仕組だろうが。
> バージョン管理システムでやることじゃない。
> ソースコードに含まれるビルドの仕組みでやるべきことだ。
べきって言われると、何か反応したくなっちゃうんだよね。
gemに代用されるパッケージマネージャは、おおむね取得後ビルドが必要ない言語とか、
グローバル環境を汚染しない目的で使われるとかあるからね。
欲しいファイルが*.soいくつかとか、*.warいくつか、だったら、バイナリをリポジトリに
入れてもいいと思うんだけど。
338:デフォルトの名無しさん
15/11/06 12:44:37.38 62Bbfe75.net
gitをただのバージョン管理システムって決め付けてる奴はgithubなんて
一生思いつかないんだろうな
git lfsとかもバージョン管理システムで巨大なバイナリなんて管理するなって
言うんだろうな
339:デフォルトの名無しさん
15/11/06 12:47:23.78 ev4LQ/Di.net
元質問者の意図がわからないので俺に理解できる形に問題を改変
・一部ディレクトリで最新版を強要するバージョン管理を行いたい
最新版の意味は別途定義する
例
proj
-src
-tools
プロジェクトディレクトリの下にsrcディレクトリとtoolsディレクトリを置く
srcは普通にバージョン管理を行う
srcの過去バージョンをチェックアウトした場合でもtoolsディレクトリは常に登録されている最新情報を示すように強制する
最新版の意味は取り敢えずremote mster HEADと定義してみる
思い付いたやり方
フックスクリプト書いて全体のチェックアウト後とクローン後にtoolsディレクトリだけremote master HEADから取ってくるようにする
質問者の意図通りかどうかは知らん
340:デフォルトの名無しさん
15/11/06 17:30:03.05 0X5/TYar.net
>>336
> gitをただのバージョン管理システムって決め付けてる奴はgithubなんて
> 一生思いつかないんだろうな
githubはgitじゃないんですが・・・?
341:デフォルトの名無しさん
15/11/06 18:02:48.73 Np8gxke0.net
質問者は名前欄を工夫してくれ
質問者そっちのけで議論してあってたらバカみたいじゃないか
342:デフォルトの名無しさん
15/11/06 19:27:46.77 62Bbfe75.net
>>338
ソースが公開されて無い以上gitをどう改良してどう実装してるかなんて
分かりようがないけど、githubの実装を知ってるの?
343:デフォルトの名無しさん
15/11/06 19:31:06.59 51omasux.net
なにいってんだこいつ
344:デフォルトの名無しさん
15/11/06 19:50:32.16 0X5/TYar.net
>>340が面白いことを言い出した(笑)
githubはgitを内部に取り込んで改良して動かしてると思ってるんだね。
素のgitのリモートリポジトリにアクセスするウェブサービスだよ。
githubはgitから見れば1クライアントにすぎない。
345:デフォルトの名無しさん
15/11/06 19:51:04.74 0X5/TYar.net
少し修正
githubはgitリモートリポジトリから見れば1クライアントにすぎない。
346:デフォルトの名無しさん
15/11/06 20:52:55.61 62Bbfe75.net
>>342
じゃあgitコマンドからはアクセスできないリソースはどうやって管理されてるか
知ってんの?
347:デフォルトの名無しさん
15/11/06 20:56:59.22 62Bbfe75.net
>>342
git lfsはGithub独自サービスだけどgitのプラグイン(?)で実装されてるよね
git lfsって出来るんだから
プラグインとか良く知らんけど他のGithubのリソースはプラグインとかではなくて
絶対にgitとは無関係なもので管理されてると言いたいんだよね?
348:デフォルトの名無しさん
15/11/06 21:04:28.70 62Bbfe75.net
>>342
githubのWikiとか当然clone出来るけど何を持ってただのクライアントと
言ってんだろうか…
バージョン管理以上の事をgitを使ってやってるって事を言いたいだけなんだが
349:デフォルトの名無しさん
15/11/06 22:04:17.10 0X5/TYar.net
git lfs持ち出してきて何か反論してるつもりなんだろうか?
俺が(何度も)言ってるのは、gitでバージョン管理しないものを入れるな
ということであって、バイナリを入れるなとは言っていない(推奨はしないけど)
バージョン管理しないものを、gitに入れるなって話をしてる。
で、git lfsは「gitにバイナリを入れるという標準機能」を高速化した
バージョン管理の仕組み。これはバージョン管理してるのだから、
俺が言っていることにたいしての、反証にはなってない。
350:デフォルトの名無しさん
15/11/06 22:05:31.33 0X5/TYar.net
>>344
> じゃあgitコマンドからはアクセスできないリソースはどうやって管理されてるか
Issueとかですか? あれはgitでバージョン管理していません。
バージョン管理しないものをgitに入れるわけないじゃないですかーw
351:デフォルトの名無しさん
15/11/06 22:11:57.78 0X5/TYar.net
>>345
> プラグインとか良く知らんけど他のGithubのリソースはプラグインとかではなくて
> 絶対にgitとは無関係なもので管理されてると言いたいんだよね?
プラグインを使って連携して、情報をgitリポジトリではなく他のストレージに入れているのであれば、
それは俺が言ってる「gitリポジトリにバージョン管理しないものを入れない」ってことだよ。
もしgitリポジトリに入っているのであれば、git cloneした時に、
それらの情報が入ってるはずでしょう。
githubの仕組みは公開されていないだろうから、知る手段はないかもだけど
オープンソースgithubクローンのgitlabを参考にしてみたら?
あれは「gitリポジトリに入れるべきじゃないバージョン管理しない情報」の保存に
PostgreSQLを使用している。githubも同じであることにはならないけど、
そんなものをgitリポジトリに入れずに作れることの証明にはなる。
352:デフォルトの名無しさん
15/11/06 22:16:41.61 0X5/TYar.net
一応釘を差しておくわ。
バージョン管理しないものをgitリポジトリに入れるなと最初から言ってるだけ、
バイナリを入れるなとは言ってないし、githubがgitと連携してないとも言ってない。
どうも俺が言ったことを捻じ曲げようとしてるやつがいるようなんだよな。
わざとか?
353:デフォルトの名無しさん
15/11/06 23:19:56.96 2EpFLhtG.net
>>339
名寄せしてみたYO
ID:4VARUgDB=ID:Rz7aBIc4
ID:skpMWGee=ID:DwMhKH/P=ID:0X5/TYar
ID:raJNtqbt=ID:BnMLfISE
354:デフォルトの名無しさん
15/11/08 14:35:13.35 9wMy1B9D.net
>>348
issueとかって言ってるけどwikiは標準のgitだけでcloneできる
355:デフォルトの名無しさん
15/11/08 14:41:08.16 9wMy1B9D.net
>>321
> 皆筋悪そうだから他の方法すすめてるだけなのに
筋悪いって…なんとう文学的な否定の仕方w
完全文系だよな
hash-objectを良く知らないと正直に言うか黙ってるか具体的に否定してくれよ
ちゃんと否定してくれればありがとうと言うよ
356:デフォルトの名無しさん
15/11/08 19:02:38.13 hMKFsgJi.net
>>352
issueって言ってるのに、なんでwikiって言ってるんだ?
wikiはドキュメントであり、バージョン管理するものだろう?
357:デフォルトの名無しさん
15/11/08 19:51:25.82 V8tNRB53.net
「とか」を突付いてるんじゃね?
にしても何が言いたいんだろうな?
358:デフォルトの名無しさん
15/11/08 20:45:37.76 hMKFsgJi.net
>>353
hash-objectがあるから、だからなんなんだ?としか思ってない。
本来の用途ではない使い方をするというのであれば
hash-objectを使ってデータベースサーバー用の
データストレージを作ることだって可能だろう。
hash-objectを使って可能だとしても
バージョン管理システムにバージョン管理しないものを入れるべきではない。
本来の用途ではないからだ。
359:デフォルトの名無しさん
15/11/08 20:52:47.62 hMKFsgJi.net
git checkout [ブランチ名] する時に、
1. その名前のブランチがなくて
2. その名前のブランチがリモートにある場合、
自動的に、リモートブランチをトラッキングした
ローカルブランチが新しくできるよな? 実際に出来てるし。
だけどCygwinのgit 2.5.3だと、エラーにならないくせに
ローカルブランチができていない。(名前を間違ったらエラーになる)
これってバグか仕様? それとも何か設定でもある?
これだとうまくいく
git checkout -b foo --track origin/foo
git checkout --track origin/foo
360:デフォルトの名無しさん
15/11/08 21:04:25.46 V8tNRB53.net
branch.autosetupmerge かな?
361:デフォルトの名無しさん
15/11/08 22:20:50.85 hMKFsgJi.net
>>358
違うみたい。true、 always のどちらでもやったけど、新しくブランチが作成されない。
新しくブランチが作成されないのに正常終了してるからバグなんじゃないかって思ってる。
確かgit 1.7とか古い時代は、git checkout [ブランチ名]だけでは
リモートに同じ名前があったとしても、ブランチ作成されなかったんだよね。
いつの頃だったか忘れたけど、(リモート)ブランチ名を指定して
チェックアウトするだけでローカルにブランチ作られて更に
トラッキングされた状態になるようになったから、便利!って思って
それ以降いつもブランチ名だけ指定していたから、cygwinでやってあれ?ってなった。
362:デフォルトの名無しさん
15/11/09 08:46:11.46 TIIy8yma.net
>>353
hash-objectで何をどうやりたいの?
あれは単にgitの内部構造なだけで
あなたのやりたいことを実現する魔法の道具ではないよ
まず自分がやりたいことを明確にする
そしてそれを他の人が理解できる形にする
それが出来れば具体的なアドバイスが得られれると思うよ
363:デフォルトの名無しさん
15/11/09 08:54:48.20 tdfbfkPk.net
> hash-objectで何をどうやりたいの?
バージョン管理ソフトを使って
バージョン管理をしたくない。
常に最新のファイルだけを保存したい。
364:デフォルトの名無しさん
15/11/09 09:10:24.22 WhwNyLZa.net
バージョンを管理しないのに最新とか意味がわからん
365:デフォルトの名無しさん
15/11/09 09:13:31.82 TIIy8yma.net
>>361
>常に最新のファイルだけを保存したい。
「常に最新のファイル」を定義してみて
あなたにとっての「最新のファイル」が何を意味するものなのか他の人にはわからないよ
ちゅうか元質問者が誰かすでにわからないんだったな
まぁいいや
366:デフォルトの名無しさん
15/11/09 09:39:43.03 L+jvgLXL.net
例えばコンパイラは古いバージョンを使う必要はない。
git cloneしたらコンパイラも一緒にインストールされて
makeを実行したらすぐにビルドしたいんだよ。
367:デフォルトの名無しさん
15/11/09 09:41:30.58 L+jvgLXL.net
>>294に書いてあるとおり
> 例えばコンバータの実行ファイルとか最新でありさえすればいいものとかね
> もちろん互換性を保持したままバージョンアップされる
> コンバータをビルドするには環境を作成する必要があるからgit cloneで
> バイナリだけ落ちてくればいい
368:デフォルトの名無しさん
15/11/09 09:41:47.68 TIIy8yma.net
>>364
オッケー
例えばそのコンパイラは、コンパイラ開発サイトにある最新版なのか
自分たちのプロジェクトの中にある最新版なのか
どちらが欲しい?
369:デフォルトの名無しさん
15/11/09 10:36:12.82 hDkDA5dy.net
そもそも、元発言者が、過去のバージョンを取得したときのコンバータのバージョンがどうあるべきなのかを
言ってないので、それ抜きに議論しても無意味。
370:デフォルトの名無しさん
15/11/09 12:39:15.87 WhwNyLZa.net
>>364
その最新版?のコンパイラを常に誰かがビルドしてどこかにアップロードしてくれているという前提なら
post-merge フック使ってそれをワークツリーにダウンロードしてくればいいだけかな
371:デフォルトの名無しさん
15/11/09 17:09:27.10 +KYSwNrX.net
>>367
> 例えばコンバータの実行ファイルとか最新でありさえすればいいものとかね
って言ってるよ
あと
> 単にディスクスペースを気にせずバイナリをcommitすれば全て解決だけど
> 履歴は要らないから簡単に保存しないように出来ればなと思っただけだ
って単に履歴が要らいってだけだろ
長々と書き込みがあったけど要するに履歴を保存しないのは無理っていう結論でFAだろ?
372:デフォルトの名無しさん
15/11/09 17:21:28.30 vqI1nm1x.net
>>369
だからその最新版でありさえすればいいを定義してないから混乱してるんだって
373:デフォルトの名無しさん
15/11/09 17:37:20.93 hDkDA5dy.net
>>369
> > 例えばコンバータの実行ファイルとか最新でありさえすればいいものとかね
> って言ってるよ
いやだから、
2015-01-01: app ver 1.0 release, converter ver 2.0
2015-10-01: app ver 2.0 release, converter ver 2.5
だったときに、app v1.0を取得したときに本当にconverter v2.5でいいのかねという疑問があるのだが。
普通に考えればconverterもgitに登録すればいいのだが、サイズがでかいとかの理由で
そうしたくないなら、別の方法を考える必要がある。
374:デフォルトの名無しさん
15/11/09 17:40:40.20 +KYSwNrX.net
>>370
定義っていうか、だから履歴が要らないって事だよ
コンバータ自体は多分しょっちゅう更新されてんだろ
で、互換性が保たれてるから他のソースのどんな時点のチェックアウトでも
最新のコンバータが存在してればいいって事でしょ
だから普通にコミットした時点で古いチェックアウトで古いコンバータが
落ちてきちゃうから無理って事でFAでしょ?
hash-objectとかよく分からないけどそういうのを駆使すれば可能かもね
そこまでやる意味があるか分からないけど出来るのならやり方は知りたいけど
375:デフォルトの名無しさん
15/11/09 17:46:58.52 hDkDA5dy.net
>>372
> で、互換性が保たれてるから他のソースのどんな時点のチェックアウトでも
> 最新のコンバータが存在してればいいって事でしょ
でも、app v1.0とconverter v2.5の組み合わせでの動作確認は誰もしてないよ?
それでもいいの?
376:デフォルトの名無しさん
15/11/09 18:10:04.87 vqI1nm1x.net
>>372
あなたは>>292の元質問者?
377:デフォルトの名無しさん
15/11/09 18:12:57.33 vqI1nm1x.net
>>372
>だから普通にコミットした時点で古いチェックアウトで古いコンバータが
>落ちてきちゃうから無理って事でFAでしょ?
ここだけならpost-checkoutフックで動作するスクリプト書くのがいいと思うな
progitにもそう書いてあるし
378:デフォルトの名無しさん
15/11/09 18:31:45.05 wTaE5xnX.net
git pullしたときに更新があったら~/install.shを実行する方法を教えて
379:デフォルトの名無しさん
15/11/09 18:51:54.98 +KYSwNrX.net
>>373
それはコンバータ作成者が古いデータかソースともテストすればいいだけじゃないか?
当然テストが全部通ったものがアップされてる前提でしょ
380:デフォルトの名無しさん
15/11/09 19:20:35.40 rpYLMD5h.net
>>376
post-merge フック
381:デフォルトの名無しさん
15/11/09 20:20:15.59 oGA8SXOQ.net
例えばnode.jsとかnodeが頻繁にバージョンアップしている。
リポジトリにnode.jsを入れておけば
git cloneするだけですぐに動かすことができるだろ?
便利じゃん。
382:デフォルトの名無しさん
15/11/09 20:24:31.79 odniBWAj.net
最初から言われているように、バージョン管理しないものを
バージョン管理システムに入れるのが間違い。
横着してないでコンバーターを別にインストールすればいいだけ。
383:デフォルトの名無しさん
15/11/09 20:29:54.14 pRznotQV.net
入れたきゃ入れればいいじゃん?
でも、あくまでバージョン管理する事が目的のツールなんだから、履歴が消せないくらいは我慢しなよ。
簡単に消せたら逆に困るわ。
384:デフォルトの名無しさん
15/11/09 20:30:02.72 rpYLMD5h.net
バージョンアップの都度cloneし直すのか。
発狂しそうになるな。
385:デフォルトの名無しさん
15/11/09 21:28:22.71 odniBWAj.net
>>381
普通に入れたら、古いコードをチェックアウトした時に
古いコンパイラやコンバーターになるじゃん。
それじゃだめなんだよ!
386:デフォルトの名無しさん
15/11/09 23:37:46.57 2IQosoUz.net
sourcetreeで スタッシュからポップしたいんだけどどうしたらいいの?
387:デフォルトの名無しさん
15/11/10 08:56:14.30 jysDDVfK.net
>>383
だからpost-checkoutスクリプト書けって言ってんだろ
ソースに付属のサンプルくらい読めやがれ
388:デフォルトの名無しさん
15/11/10 10:04:24.68 xVoLS9i1.net
>>377
普通は、利用される側は利用する側のテストはしない。
>>371の例で言えば、converter作成者はappのテストはしない。
(というか、converter v2.0リリース時にはapp v1.0は存在しないのでテストできない)
> 古いコンパイラやコンバーターになるじゃん。
> それじゃだめなんだよ!
それで駄目かどうかは、元発言者しかしらない。
で、あなたは元発言者なの?
389:デフォルトの名無しさん
15/11/10 11:48:40.29 t51d4d0o.net
>>385
post-checkoutスクリプトでどうやって
git cloneしたときコンバーターまでインストールしますか?
フックをどうやってgitリポジトリに入れるんですかね。
いいですか?git cloneしたときに開発環境をセットアップしたいんですよ。
390:デフォルトの名無しさん
15/11/10 11:54:10.97 LsvFQgd7.net
>>387
あなたは元発言者?
391:デフォルトの名無しさん
15/11/10 12:03:07.74 B2wNB1y1.net
>>388
はいそうです。
392:デフォルトの名無しさん
15/11/10 12:04:29.85 LsvFQgd7.net
>>389
OK、じや、最新版のgitを使え
393:デフォルトの名無しさん
15/11/10 12:05:12.92 B2wNB1y1.net
その証拠に最初の書き込みを書いておきますね。
292 名前:デフォルトの名無しさん[sage] 投稿日:2015/11/04(水) 15:24:58.18 ID:4VARUgDB [1/3]
特定のフォルダ以下はバージョンを最新のものしか保持しないように出来る?
出来るならやり方教えてください
294 返信:デフォルトの名無しさん[sage] 投稿日:2015/11/04(水) 17:21:49.38 ID:4VARUgDB [2/3]
>>293
例えばコンバータの実行ファイルとか最新でありさえすればいいものとかね
もちろん互換性を保持したままバージョンアップされる
コンバータをビルドするには環境を作成する必要があるからgit cloneで
バイナリだけ落ちてくればいい
もちろんツールのソースは別のリポジトリで管理されてる
単にディスクスペースを気にせずバイナリをcommitすれば全て解決だけど
履歴は要らないから簡単に保存しないように出来ればなと思っただけだ
394:デフォルトの名無しさん
15/11/10 12:06:39.58 B2wNB1y1.net
>>390
使ってます
395:デフォルトの名無しさん
15/11/10 12:13:30.43 LsvFQgd7.net
>>392
じゃgitのバージョンと実行環境は?
396:デフォルトの名無しさん
15/11/10 12:17:07.10 B2wNB1y1.net
最新は2.6.3だろ。何を言ってるんだ?
397:デフォルトの名無しさん
15/11/10 13:07:30.93 xVoLS9i1.net
>>389
元発言者なら、>>373の質問に答えてくれ。
398:デフォルトの名無しさん
15/11/10 13:14:50.59 RguE1sqq.net
まさかフックの共有の仕方も知らんやつが
hash-objectを駆使すれば実現できるはず(キリ
とか言ってて草
399:デフォルトの名無しさん
15/11/10 16:27:33.90 HB2gwhXV.net
>>387>>389は偽モンだろ
口調が全然違う
400:デフォルトの名無しさん
15/11/10 16:28:39.52 HB2gwhXV.net
結論出てるのに蒸し返す方が草だろ
401:デフォルトの名無しさん
15/11/10 16:48:42.68 MoYVUliZ.net
qiitaでこういうときはこういうコマンドと引数を使えみたいな記事を定期的に出てくるけど
あんな長いものを入力しないといけないの?
init,clone,checkout,commit,add,branch,log,reflog,rebase,merge,pull,pushのみ使ってるけどcommit -mとcheckout -f .以外それぞれの引数なんて何もしらないよ
bitbucketにリポジトリ作るときのremoteの設定なんてコピペ。
402:デフォルトの名無しさん
15/11/10 17:49:03.40 gLcyYpMH.net
シェルのgitコマンド補完用の設定をしてあれば
長いオプションも引数もある程度補完が効くから何からなにまで入力しなきゃいけないってことは無い
まあメモしといてコピペも使うし、頻繁に使うのはエイリアスやシェル関数を定義するけどね
403:デフォルトの名無しさん
15/11/13 21:45:11.70 wOHg++fH.net
自民党 対 国民! 死者数、戦時なみに!
川崎病の年間患者数、史上最高に 1万5千人を突破、ピーク時を超える
404: 最初の報告は水爆実験後。本当の原因は被曝 震災以降に死亡者数が、第二次大戦に匹敵するほど急増している 厚生労働省によると平成23年から平成25年の累計死亡者数は360万人以上に急増。今の日本は太平洋戦争時の時と同じくらいの勢いで人が亡くなっている https://twitter.com/tokai amada/status/664927655544795136 除染袋回収の作業員5人 疲労で動けず、自衛隊など救助 疲労じゃないだろう、被曝障害だろうよ 死んだように眠る人々(写真多数) http://s.ameblo.jp/kaito000777/entry-12031605335.html 【川島なお美の食べて応援が恐怖すぎる】自宅でも進んで食べて応援 1年後・軽くぶつけただけで肋骨骨折 2年後・眼球から出血は半年に一度 3年後・胆管に腫瘍、血液検査は異状無し 4年後・逝去 夫は片目失明、愛犬もがん https://twitter.com/2ch_NPP_info/status/648256313571479552 ・・・ 今も、原子力緊急事態宣言中… 対策本部長は安倍首相。 安倍が国民を被爆させながら核兵器を密造している!? 三菱商事の核ミサイル担当重役は安倍晋三の実兄、安倍寛信 三菱重工の重役でもあるらしい これがフクイチで核弾頭ミサイルを製造していた疑惑がある 書けばツイッターで速攻削除されている https://twitter.com/toka iamada/status/664017453324726272 安倍晋三の兄が関与している三菱重工 核開発疑惑について いくつかツイートしたが、反応がないから変だと思って、自分のタイムラインを調べてみたら、 完全に削除されていた 私のツイートで、安倍政権に都合の悪い情報は速攻削除されている これは驚いた ここまでやるのか https://twitter.com/toka iamada/status/664016524592574464 先ほど、まだ数分以内に、三菱重工の核開発疑惑について、いくつかツイートしたが、検索しても出てこない 多くの人のタイムラインに出てこない ツイート直後に消されてしまったようだ https://twitter.com/toka iamada/status/664015521830952960
405:デフォルトの名無しさん
15/11/21 14:59:28.72 HbP98col.net
質問です。
プライベートリポジトリが欲しいのでgithubではなくgitlabを使ってるんだけど、
プライベートだから当然認証がある。
そのリポジトリにあるファイルをcurlかwgetで取得したいんだけどどうすればいい?
認証の仕方がよくわからない。BASIC認証?
答えです。
curl、wgetに--headerオプションでプライベートトークンを付けて実行すれば良い。
プライベートトークンはgitlabのプロファイルの所に書いてある。
curl --header "PRIVATE-TOKEN: トークン" "http://ホスト/api/v3/projects/123/repository/blobs/master?filepath=README.md"
wget --header "PRIVATE-TOKEN: トークン" -q -O - "http://ホスト/api/v3/projects/123/repository/blobs/master?filepath=README.md"
プロジェクトのIDの123は、http://ホスト/api/v3/projects にアクセスすれば調べられる。
参考
URLリンク(doc.gitlab.com)
URLリンク(doc.gitlab.com)
以上、個人用メモな
406:デフォルトの名無しさん
15/11/22 01:50:28.69 i/I0leYF.net
プライベートに限らずプ�
407:bシュするならどんな場合でも認証あるでしょ?
408:デフォルトの名無しさん
15/11/22 01:54:59.39 i/I0leYF.net
curl,wget限定か、historyにパス残したくないからってことか
409:デフォルトの名無しさん
15/11/22 08:34:23.81 DDbKY7qA.net
>>403
> プライベートに限らずプッシュするならどんな場合でも認証あるでしょ?
パブリックリポジトリから、取得するだけなら要らないだろw
githubからパスワード使わずに取得してるでしょ。
>>404
> curl,wget限定か、historyにパス残したくないからってことか
というよりもgitlab(おそらくgithubとか最近のサービス全般だろうけど)では
ヘッダーにトークン埋め込んでアクセスするんだよ。
ヘッダーを入れられるならばcurlやwgetじゃなくてもいい。
プライベートトークンもパスワードと同じようなものでhistoryに残さない方がいい。
もっともパスワードと違って簡単に変更できるけど。
410:デフォルトの名無しさん
15/11/22 18:00:21.94 AohAHjVf.net
>>405
プッシュと書いている時点で取得するだけではないんじゃ
411:デフォルトの名無しさん
15/11/22 22:22:46.84 P9q5ufss.net
GitHubでリポジトリを新規作成すると
以下のような案内が出てくる。
URLリンク(www.artit-k.com)
この中のコマンドにミスがあるんだけど、
わかるやついる?
412:デフォルトの名無しさん
15/11/22 22:24:55.09 +9yGsSZo.net
え、質問じゃなくてクイズってこと?
うーんわからん
413:デフォルトの名無しさん
15/11/22 22:29:13.64 P9q5ufss.net
>>408
そうそう、質問じゃなくてクイズだよ!
書いてある通りに実行してみると気づくんだけど
見てるだけだとわかりづらい。
俺は見ただけですぐ気付いたけどw
もうGitHubタンどじなんだから~!
414:デフォルトの名無しさん
15/11/22 22:57:37.48 kQ+s0aeG.net
コマンドプロンプト起動して試してみたけど何の問題もなかったけど
415:デフォルトの名無しさん
15/11/22 23:17:06.70 +9yGsSZo.net
3でコミットしてないとかかな
でも3は既存プロジェクトをpushしろって内容だし違うよなあ
416:デフォルトの名無しさん
15/11/22 23:31:24.15 DDbKY7qA.net
>>406
> プッシュと書いている時点で取得するだけではないんじゃ
プッシュと書いてませんが?
417:デフォルトの名無しさん
15/11/22 23:34:46.81 DDbKY7qA.net
>>407
最近bashでプログラミングしていたからねw
それじゃ、README.mdは作成できないね。
418:デフォルトの名無しさん
15/11/22 23:46:07.46 5Z5NQXig.net
>>413
そう!それ!
>>410
あ、わるい、おれLinux環境なんだけど、Windowsではうまくいくのか。
一応、用意してた正解を載せておくと、
echo # Test-Remote-Repository >> README.md
このコマンドの#以降はシェルでコメントとみなされてしまうため、
README.mdファイルは作成されない。
よって
git add README.md
でエラー。
WindowsでもLinuxでもどっちでもOKな表記にするにはどうすればいいのか考えたけど、
echo '# Test-Remote-Repository' >> README.md
echo "# Test-Remote-Repository" >> README.md
シングルクオートもダブルクオートもLinuxはOKになるけど、
WindowsがNGになってしまうね。。。
誰かWindowsでもLinuxでも動くようにする方法わかるやついる?
GitHubのコマンドの説明がまさかWindows用だったとはな・・・、
ある意味Gitの巣立ちを実感するが。。。
419:デフォルトの名無しさん
15/11/22 23:47:51.82 5Z5NQXig.net
>>413
俺は「Git Bash」使ってる。
プログラミングはVSだけど、GitはGit Bash使ってる。
コマンドプロンプトなんて使えたもんじゃないけど、
Linux知らない人たちはそれが普通だと思ってるから問題ないんだよね。
君はコマンドプロンプトとシェルのどっち使ってる?
420:デフォルトの名無しさん
15/11/22 23:51:55.33 +9yGsSZo.net
あ、なるほどなw すっきりしたのと面白いご指摘だった
みんなエディタでやってるのかな
421:デフォルトの名無しさん
15/11/22 23:56:00.58 DDbKY7qA.net
俺はコマンドプロンプトの代わりにLinuxを使ってるよ。
コマンドプロンプトを起動するのもputtyを起動して
仮想マシンのLinuxに接続するのもたいして変わらん。
編集にはWindows側のSublime Textを使ってる。
ローカルディスクのファイルを読み書きするのも
仮想マシンのLinuxにSamba経由で読み書きするのもたいして変わらん。
ま、Vagrantで仮想マシンのLinuxを起動する所までは
コマンドプロンプトの代わりにCygwin使ってるけどな。
422:デフォルトの名無しさん
15/11/23 01:01:23.76 3lUImDlg.net
>>412
403の「プッシュするなら認証あるでしょ」に対して、
405で「取得するだけなら要らないだろ」と返事しているけれど、405のその話ではもうプッシュは関係なくなっているのかい?
そしたら会話として成り立ってないよな。
「信号赤なら交差点渡っちゃだめだろ」に対して、「信号青なら渡ってもいいんだぞ」って言ってるようなもんだよ?
あなたはプッシュと書いてないかもしれんが、プッシュ前提の書き込みにレスしてる時点でプッシュと書いてるのと同じだと思うんだが
423:デフォルトの名無しさん
15/11/23 02:04:33.89 z4xIsFy0.net
>>403の「プッシュするなら認証あるでしょ」の前に
>>402では取得したいと書いてあるのに、
>>403のその話では、どこからプッシュがでてくるのかい?
そしたら会話として成り立ってないよな。
>>403がね。
424:デフォルトの名無しさん
15/11/23 10:18:40.57 DL9ZWAOp.net
プライベートなのにhttpでパス入力無しで取ろうと思うのがそもそもの間違い
結局ファイルにパス書いておくんじゃヒストリーと変わらん
425:デフォルトの名無しさん
15/11/23 12:35:42.35 z4xIsFy0.net
>>420
> プライベートなのにhttpでパス入力無しで取ろうと思うのがそもそもの間違い
いやな、プライベートっていうのは今だけで、将来パブリックにするのよ。
そんときな、ウェブからインストールするやつあるだろ? こういうのだよ。
URLリンク(github.com)
> $ curl -L URLリンク(raw.githubusercontent.com) | bash
インストーラーに限らないけど、直接ファイルを参照する必要がある事柄の
テストをしたいわけだよ。
> 結局ファイルにパス書いておくんじゃヒストリーと変わらん
何を言ってるのかわからん。 事例に出してるPRIVATE-TOKENはコマンドラインだし、
ヒストリーに入れたくなければ、コマンド打つ時に頭にスペース入れればいいのよ? (設定による)
それにSSHの秘密鍵は、ファイルにパス書いてあるよね? あれが安全とされる理由は
パーミッションを600にしているからだよ。それと同じようにすればいい。
君、全体的に、考慮と経験が足りないなぁ。
426:デフォルトの名無しさん
15/11/23 12:50:05.83 Ro/lq+IE.net
SSHの秘密鍵は0600にしてるだけじゃ安全性に問題があるから
更に暗号化してパスフレーズ無しでは解読できにくくして運用するのが普通
ちょっと経験が足りませんね
427:デフォルトの名無しさん
15/11/23 12:53:38.07 8DvfITVv.net
>>422
パスフレーズありだとバックアップ処理などの自動的に行う処理ができません。
パスフレーズはセキュリティ強化するためのもので必須ではないでしょう
経験が足りないのはどっちw
428:デフォルトの名無しさん
15/11/23 15:31:25.15 3lUImDlg.net
>>419
なるほどな。だとしたら答えはこうだな。403は新しい話をし始めている。405はそれを理解できず意味不明なレスをしている。
402「通行規制がかかっているので交差点が渡れない」
403「信号赤のときも渡れないよね?」
405「>>403 信号青の時は渡れるだろw」
429:デフォルトの名無しさん
15/11/23 15:42:12.52 I/A9+n8X.net
× 403は新しい話をし始めている
○ 403は見当違いの意味不明なレスをしている
430:デフォルトの名無しさん
15/11/23 18:07:52.44 2xlANCU0.net
>>425
そうかもしれんが405が意味不明なのは変わらんぞ
431:デフォルトの名無しさん
15/11/24 13:48:46.13 UzATyI4i.net
>>423
>パスフレーズありだとバックアップ処理などの自動的に行う処理ができません。
普通エージェントを使います。
>経験が足りないのはどっちw
圧倒的にお前。
432:デフォルトの名無しさん
15/11/24 14:51:49.68 7a+QKmK9.net
それじゃパスフレーズの意味ないだろw
433:デフォルトの名無しさん
15/11/24 14:52:42.27 7a+QKmK9.net
PCを再起動した後の、夜間バックアップとかどうするんだ?
手動でリスタートかw
434:デフォルトの名無しさん
15/11/24 16:18:36.51 US/dRvOY.net
クライアントPCを安全に使いたい人と
自動テストを組みたい人の
永遠に噛みあわない会話
435:デフォルトの名無しさん
15/11/24 16:39:51.21 w8BsXoSe.net
というか、単なる開発中の安全である必要が無い
パスワード(パスワードトークン)までコマンドラインで打つな
ファイルにパスワードを書くな、とか言っている奴がいるだけの話。
436:デフォルトの名無しさん
15/11/24 17:01:58.32 C2GeftYo.net
自動テストのためにTravis CIがgithubからコードを取得する時に
SSHを使ってコードを取得していて、しかもパスコードがかかっている
SSH鍵を利用する時にキーエージェントを使っていると思ってるのかw
パスコードはTravisCIの社員が入力しているのかな?w
437:デフォルトの名無しさん
15/11/25 00:30:13.83 4t/97s0S.net
git init
touch README.md && git add . && git commit -m "initial commit"
touch a && git add . && git commit -m "add a"
touch b && git add . && git commit -m "add b"
ここで3番目のコミットを2番目のコミットにまとめたいので
git rebase -iしても
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details(略)
ってでてrebaseの編集画面が出ません
ブランチ変えてコミットしたものならrebase出来ますがmasterだとrebaseできないんでしょうか?
438:デフォルトの名無しさん
15/11/25 00:46:57.69 kBMCztpU.net
>>433
たぶんrebaseの使い方を勘違いしてる
439:デフォルトの名無しさん
15/11/25 07:17:22.22 F/gW2/ep.net
>>433
英語のメッセージ読もうず
440:デフォルトの名無しさん
15/11/27 00:07:21.71 43+fTCdv.net
WindowsのコマンドプロンプトからでGit Bashを起動するとき
START %USERPROFILE%\AppData\Local\Programs\Git\git-bash.exe
と
START %USERPROFILE%\AppData\Local\Programs\Git\bin\sh.exe --login -i
の
前者と後者でGit Bashを使う上での機能的な違いがあったりしますか?
前者はGit for Windowsをインストールしたプログラムメニューのショートカットのリンクからので
後者は昔のmsysGitをインストールした時のプログラムメニューのショートカットのリンクなんですけどGit for Windowsでも使えてます
この疑問は単純に好奇心で違いが知りたいだけであって深い意味はないです
441:デフォルトの名無しさん
15/11/27 04:00:23.50 r8Kpx+FN.net
shだと(shがbashへのシンボリックリンクであったとしても)、bash拡張が使えないと思う。
diff <(ls /dir1) <(ls /dir2)みたいなものとか。
.の挙動も違うみたい。
URLリンク(sechiro.hatenablog.com)
shがWindowsのショートカットでbashに割り当てられてる場合はどうなるか、ちょっと手元に環境がないのでわからないけど。
442:436
15/11/27 05:31:26.93 43+fTCdv.net
説明不足ですみません
git for windowsのインストールディレクトリ下の/bin下に sh.exe と bash.exe の両方が別々のファイルとしてあって完全同一ファイルです
>>436の前者のは/bin下ではなくインストールディレクトリ直下にあるgit-bash.exeでランチャー的なものと推定されるのですが
git for windowsのリポジトリ調べるのも面倒なんでgit-bash.exeはどんな挙動してるのか知ってる人いたらおせーて的な疑問です、はい
443:デフォルトの名無しさん
15/11/27 08:26:31.44 Yss3HeeA.net
>>438
bin/bash.exeとbin/sh.exeの違いはman bashに色々書いてあるからそれを見るとして
git-bash.exeとbin/sh.exeの違いは前者が端末エミュレータ込みで別画面に起動するが
後者は単なるシェルコマンドでDOS窓内で実行される
正直実行すれば一目瞭然で聞くまでもないと思うが…
444:デフォルトの名無しさん
15/12/11 01:49:54.67 7HdgPmKa.net
Windows版Git入れてgit-bash.exeを使えば遅いがまっとうな端末エミュと
大量のMSYS2のコマンドが入るからcygwinとか要らなくなった
マジありがたい
445:デフォルトの名無しさん
15/12/11 05:37:10.06 z9XcLK7w.net
msys2もcygwinもあまり変わらないけどな。
cygwinからPOSIX互換機能を除いた
劣化版cygwinがmsys2と言っても過言じゃないし。
446:デフォルトの名無しさん
15/12/11 14:06:35.77 7HdgPmKa.net
どんだけ劣化してるのか分からんがほとんどのコマンドは移植されてて
PATH関連で他のWindowsアプリとの親和性が良くなってるから言う事ないよ
逆にどこにまずい点があるのか知りたい
447:デフォルトの名無しさん
15/12/11 14:56:12.59 7HdgPmKa.net
git-bashで
ls /c/Users
ls c:/Users
ls 'c:\Users'
が全て同じ結果になるけど、これこそみんな望んでいたことでしょ
git.exeとかも同じだけどなぜか/c/の指定はgit-bashから実行した時だけうまく動く
別に困ることは無いけど
448:デフォルトの名無しさん
15/12/11 21:29:04.82 z9XcLK7w.net
>>442
それでも足りないコマンドがあるからな。
つい今もcolumnコマンドが入ってなくて愕然とした。
449:デフォルトの名無しさん
15/12/11 23:33:06.85 z9XcLK7w.net
今度はbcが入ってなかった。
450:621
15/12/12 00:09:31.66 mfOK7VM0.net
git.exeのついでにインストールされるだけだからコマンドが足りないのはしょうがないな
そこまで必要なら普通にMSYS2を入れればいいだけだ
451:デフォルトの名無しさん
15/12/12 00:16:52.83 kJaM603p.net
そこで普通にCygwinを入れてるっていうわけ。
こっちがオリジナルだしね。
452:デフォルトの名無しさん
15/12/12 00:45:07.38 mfOK7VM0.net
cygwinのコマンドはPATHの扱いで困るでしょ
困らないなら結局一緒だけど
453:デフォルトの名無しさん
15/12/12 01:20:39.35 kJaM603p.net
何が困るの?
454:デフォルトの名無しさん
15/12/12 01:25:50.45 mfOK7VM0.net
>>449
cygwinのgrepにc:\Hoge\hoge.txtとか指定して問題無かったっけ?
それで問題無ければ問題無いけど、そうするとMSYS2の意味無いしな…
455:デフォルトの名無しさん
15/12/12 01:32:49.42 mfOK7VM0.net
補足すると、普通のアプリが使うようにいわゆるDOS窓でcygwin版のgrep.exeに
grep.exe hoge c:\Hoge\hoge.txt
で問題無く使えるかどうかだな
456:デフォルトの名無しさん
15/12/12 02:16:42.40 kJaM603p.net
> git-bashで
> ls /c/Users
> ls c:/Users
> ls 'c:\Users'
> が全て同じ結果になるけど
ls /c/Users => ls /cygdrive/Users
ls c:/Users => 動く
ls 'c:\Users' => 動く
なんだ、動くじゃん。
一番上はマウントする場所の違いってだけだろう。
msysはcygwinのフォーク何だから、
そういう基本的な所はcygwinの機能だろう。
457:デフォルトの名無しさん
15/12/12 02:17:47.28 kJaM603p.net
さくっと見つかった。
いちいち"/cygdrive/c"っていれるのが面倒なので、"/c"ってなるようマウントテーブルをいじる
URLリンク(d.hatena.ne.jp)
458:デフォルトの名無しさん
15/12/12 19:48:12.86 Cw1pcvHK.net
最新から10番目の過去のコミットのときのファイルの全文がみたいんですが
git show HEAD@{10} test.txt
だと全文取れませんでした
わざわざcheckoutするのも面倒くさくてちょっと確認しただけなんですが
showコマンドで全文取る方法を教えてください
459:デフォルトの名無しさん
15/12/13 00:08:54.16 Uk76jVNU.net
git cat-file -p HEAD@{10}:test.txt
showコマンドで全文取る方法は知らない
460:デフォルトの名無しさん
15/12/13 00:34:16.77 RMtT7ljv.net
cat-file知りませんでしたこれ使わせていただきます
461:デフォルトの名無しさん
15/12/13 20:41:22.66 JojoLeoc.net
show もコロン
462:デフォルトの名無しさん
15/12/15 14:10:22.99 eKNCNDOC.net
addってなんの意味があるの?
直接commitじゃダメなの?
463:デフォルトの名無しさん
15/12/15 14:25:57.85 3tIcxPrn.net
今すぐコミットしたいものとあとでコミットしたいものを分けられる
464:デフォルトの名無しさん
15/12/15 19:45:26.23 taBPjNrL.net
git commit --amendで直前のコミットしたりrebaseするとコミットIDが変わりますよね
pushする前だったらコミットIDが変わっても問題ないですか?
465:デフォルトの名無しさん
15/12/15 22:59:59.94 /t074km8.net
push前のコミットがどう変わろうと自分にしか影響無いのに何が心配なんだ?
466:デフォルトの名無しさん
15/12/19 09:14:21.45 4W3mkIJm.net
プログラマはMacを使ってるってマジ?
スレリンク(news板)
467:デフォルトの名無しさん
15/12/20 17:29:11.78 moeltlou.net
linusは2度革命を起こした。
1度目はlinuxカーネル、2度目はgitだ。
そして、gitも採用しているコマンドライン形式を考案したのが、
北海道に住む日本人医師であることは、
日本人がソフトウェアの世界に与えた効果として最大級のものだ。
ソフトウェアのmemeを生んだと言える。
468:デフォルトの名無しさん
15/12/20 19:37:34.55 nrreqDRQ.net
git diffすると
-
-
-
+
+
+
な風に古いコードと新しいコードが分かれて表示されますが
修正した行が長いと読みにくいので
-
+
-
+
-
+
な風に一行毎に見えるようにするほうほうありませんか?
469:デフォルトの名無しさん
15/12/20 19:56:34.85 KXSNh9Rn.net
改行と空行で調整しる
470:デフォルトの名無しさん
15/12/20 20:19:07.35 14eB8c4R.net
行の増減があったらずれてかえって見づらくなるから、使える場面は限られるだろう。
diffが見にくいならdiiftoolで適当な外部ツールを使うのが吉。
471:デフォルトの名無しさん
15/12/20 20:44:54.66 KXSNh9Rn.net
--word-diff ではあかんか
472:デフォルトの名無しさん
15/12/20 21:52:36.47 sNgiTuJS.net
side-by-side 形式が求めるものかな
473:デフォルトの名無しさん
15/12/21 07:56:45.60 XBM76VeV.net
>>464
gitの標準機能じゃないけど、icdiffがおすすめです
474:デフォルトの名無しさん
15/12/21 10:59:37.82 1HvlxK+M.net
>>464
人間がみて切りの良い場所とdiffが判断する切りの良い場所が常に一致するとは限らないからなぁ
475:デフォルトの名無しさん
15/12/21 23:59:09.69 l+mYdEdk.net
masterブランチにa.txtがあります
a.txtを大掛かりに編集するのでdevelopブランチを切ってそこで作業をしたいです
ベースとなるa.txtを見ながら作業したいのでa.txtをコピーしたb.txtを作成しました
このb.txtをmasterブランチのa.txtに反映させる方法を教えてください
476:デフォルトの名無しさん
15/12/22 00:31:26.64 hGv69Bvd.net
git checkout -m master
git branch -d develop
cp b.txt a.txt
git commit -a
477:デフォルトの名無しさん
15/12/22 01:22:00.57 nHx61Hkp.net
>>471
1. a.txtをテキストエディタで開く
2. developブランチに移動する
3. a.txtを見ながら作業をする
素人じゃねぇんだからさ、GUIで
マルチウインドウぐらい普通に使えよ。
478:デフォルトの名無しさん
15/12/22 01:23:54.93 nHx61Hkp.net
>>471
あと別解としてa.txtをブラウザで表示するっていうのも有るな。
リモートリポジトリがあって、その内容をブラウザで見れることが前提だが。
479:デフォルトの名無しさん
15/12/22 23:31:17.81 G8TSJGI1.net
>>471
なんでbを見ながらaを編集しなかった?
480:デフォルトの名無しさん
15/12/24 12:27:29.08 VUzHb/3L.net
>>471は>>472で答えが出てるのに>>473-475はなぜか
何かを見ながら作業する事について返答してるな・・・
481:デフォルトの名無しさん
15/12/24 13:43:21.57 lTmsChXg.net
何かを見ながら作業したいのなら、それを見ればいいだけなので
コミットする必要が無いって話なんだが
482:デフォルトの名無しさん
15/12/24 15:08:07.11 VUzHb/3L.net
ブランチで大きな変更をしたんだからコミットは必要じゃないの?
要するにそもそもコピーなんかするなよという前提を突っこんでのか
483:デフォルトの名無しさん
15/12/24 16:16:20.86 lTmsChXg.net
いっぽうを修正して、いっぽうは見るだけなんだろ?
見るだけなら表示するだけでいいじゃねーか
484:デフォルトの名無しさん
15/12/24 17:15:23.08 DTFKCabF.net
>>471>>472
developブランチ「俺はなぜ生まれてきたのか?」
485:デフォルトの名無しさん
15/12/24 18:04:59.10 +bsSlAyH.net
>>480
細かくcommitしながらコーディングしたいからでは?
486:デフォルトの名無しさん
15/12/24 18:18:31.91 DTFKCabF.net
細かくcommitするのに
「このb.txtをmasterブランチのa.txtに反映させる方法を教えてください」
とかワケワカメ
487:デフォルトの名無しさん
15/12/24 18:22:25.09 +bsSlAyH.net
本当にやりたかったことは、master/a.txtを見ながらdevelop/a.txtを編集したいということじゃないかと。
488:デフォルトの名無しさん
15/12/24 18:25:10.41 lTmsChXg.net
>>480
コードを見ながら修正するだけなら
別ブランチは不要
489:デフォルトの名無しさん
15/12/24 18:28:32.59 lTmsChXg.net
>>481
> 細かくcommitしながらコーディングしたいからでは?
参照するファイルはコミットしないだろ?
前のコードを開きながら、新しいコードを修正して
コミットしていけばいいだけ。
>>483
> 本当にやりたかったことは、master/a.txtを見ながらdevelop/a.txtを編集したいということじゃないかと。
本当にやりたかったことは、前のコミットのa.txtを見ながら、a.txtを修正することだろう。
developブランチを作るかは、ワークフローをどうするかの問題であって、
前のコミットを参照しながら修正するだけなら、別ブランチを作る必要はない。
490:デフォルトの名無しさん
15/12/24 18:39:38.03 +bsSlAyH.net
大がかりに編集したいということだから、ブランチ切ってmasterに影響を与えたくないのでは。
まぁどうでもいいことだが。
491:デフォルトの名無しさん
15/12/24 18:41:02.78 DTFKCabF.net
developブランチ「俺はなぜ(略
492:デフォルトの名無しさん
15/12/24 18:47:56.14 lTmsChXg.net
>>486
だからmasterで直接修正をしていくのではなくて
ブランチを切って、そこからマージするというワークフロー自体は
問題ないんだよ。そして関係ない話なんだよ。
その場合はdevelopブランチで、古いa.txtを見ながらa.txtを修正していけばいい。
developブランチをmasterから切った時点では、developとmasterは完全に一緒なんだから、
当然developの過去のコミット=masterの過去のコミット
過去のコミットのa.txtを見ながら、a.txtを修正すればいい。
という話を最初から言ってる。
493:デフォルトの名無しさん
15/12/24 18:53:56.94 4YM2CMve.net
ブランチを編集してmasterにマージすると
二本だった紐が一本にされてしまうのが気に入らないってのはあるな
494:デフォルトの名無しさん
15/12/24 18:55:29.86 DTFKCabF.net
既に>>471がおいてけぼりだと思いますっ
495:デフォルトの名無しさん
15/12/24 20:18:02.67 VUzHb/3L.net
a.txtが何らかのバッチに組み込まれてる時はうまく行ってる状態を
すぐ参照する為にa.txtをいじりたくない場合はある
1.別フォルダにmasterをクローンしておく→フォルダが分かれてややこしくなる
2.develop/a.txtを編集しつつcheckoutでmasterとdevelopを切り替える→手間だがgit的には正解か?
3.develop/b.txtを編集する→とりあえずb.txtの履歴を保存しつつa.txtもそのまま
496:デフォルトの名無しさん
15/12/26 10:03:23.27 bmbNcMd5.net
>>490
>>471に一番向いている回答は>>475だと思う。
497:デフォルトの名無しさん
15/12/26 10:21:54.91 V2XOAxzo.net
開発ブランチにいるときにa.txtを使いたいときに困るじゃん
498:デフォルトの名無しさん
15/12/28 23:23:58.01 9f7vqEhw.net
相手からプルリクエストを貰った
でもそのコードの一部を修正したい
そういう場合は貰ったコードをマージしたあとに、修正してコミットする流れでいいですか?
499:デフォルトの名無しさん
15/12/28 23:43:37.10 VijL79y/.net
>>494
マージしても綺麗に動いているのであれば、
マージした後修正でもいい。
マージしたら壊れるならば、修正してからマージだ。
これ読むと良いよ
GitHubでの”Merge pull request”の弊害
URLリンク(postd.cc)
500:デフォルトの名無しさん
15/12/29 15:26:47.75 O/+FVQhq.net
自分のAを相手がforkしてBを作ってさらにB'にした
A -> B -> B'
|
A'
自分のもA'まで進んだときB'からプルリクエストが来たら
A’からQをfork
B'からPをfork
PからQにpull-request
QでマージしてQ'を作って動作確認
Q'が問題無ければそのままQ'をA'にpull-requestとマージ
問題があればQ'を編集してQ''を作ってA'にpull-requestしてマージ
A/A'を汚さなくて済む
501:デフォルトの名無しさん
15/12/29 17:26:02.02 cehhvXHA.net
>>496
もし数行のパッチだとしたら手間が掛かり過ぎ…
それにコントリビュータの名前が履歴に残らないよね?
>>495のリンク先のやり方がベストなんだろう
githubが同じやり方が出来るように対応して欲しいもんだ
502:デフォルトの名無しさん
15/12/30 02:31:01.57 XWMmXdL1.net
>>495
良回答に良記事
503:デフォルトの名無しさん
15/12/30 10:29:38.95 gI1ebqZA.net
>>496
A,B,P,Qがブランチ名のつもりなら、ブランチ名は人間が分かりやすくするためにつけてるに過ぎないということを意識すると過剰に複雑な手順にならないようにできるよ。
QはメンテナのローカルのA'のことだからすでに出来ている。PはB'のpull requestそのもののこと。一度出したpull requestはB'がB''に更新されてもB'を指すので別名を付けたのと同じことになる。
>>495のリンク先はgithubのマージ機能は使わずに自分のローカルワークツリーでマージ作業しましょうって意味だから、>>496の手順と同じことをhubを使ってやっている。
504:デフォルトの名無しさん
15/12/30 14:59:25.31 ASJfSghX.net
試しにgithubにプルリクしたあとにpullしましたが、
pullされたものに自分が修正したコミットをまとめられませんよね。
505:デフォルトの名無しさん
15/12/30 20:33:15.13 UGDNL/zz.net
落としたプルリクのブランチに書き足してマージすれば相手のコミット使えるからそれで十分だろ
506:デフォルトの名無しさん
16/01/03 00:45:06.51 pIbz3QOP.net
過去のリビジョンにcheckoutしてそのままコミットすると、それ以降のリビジョンが切り捨てられるって認識あってますか?
ちなみに、切り捨てられるっていうのは、どういう意味なんでしょうか
切り捨てられたリビジョンは、git上から存在しなくなるのでしょうか?
git reflogを見ると、そんな事はないような気がするのですが
507:デフォルトの名無しさん
16/01/03 01:11:30.53 lvAH1bJs.net
>>502
あってない
508:デフォルトの名無しさん
16/01/03 01:15:19.04 pIbz3QOP.net
>>503
>それ以降のリビジョンが切り捨てられる
ここが、あっていない所ですか?
509:デフォルトの名無しさん
16/01/03 01:46:53.73 lvAH1bJs.net
>>504
過去のリビジョンにcheckoutした時点でカレントブランチが切り替わるから
その後コミットしても元のブランチの履歴には影響が無い
510:デフォルトの名無しさん
16/01/03 09:13:14.00 pIbz3QOP.net
>>505
あざす
511:デフォルトの名無しさん
16/01/04 10:22:01.51 2U5TH7oI.net
コミットしてない時、git add -pみたいな感じで一部の箇所のみresetして元に戻す方法ありませんか?
512:デフォルトの名無しさん
16/01/04 10:36:46.66 cKbl2zIe.net
>>507
git checkout -p
必要に応じて
git checkout -p -- ファイルパス
513:デフォルトの名無しさん
16/01/04 13:09:51.82 WKhSyJYd.net
git cloneすると 過去のコミット履歴が全部くるけど
コミットログは今年分だけあればいい
みたいにするにはどうしたらいいの?
514:デフォルトの名無しさん
16/01/04 18:20:09.37 cKbl2zIe.net
>>509
shallow cloneを使うのです
515:デフォルトの名無しさん
16/01/04 20:23:49.73 WKhSyJYd.net
シャロー クローン オボエタ アリガトウ
516:デフォルトの名無しさん
16/01/04 20:37:49.42 StQQAq7u.net
映画でおっぱい晒してる女優の名前だな
517:デフォルトの名無しさん
16/01/06 11:21:35.94 2rFSwjdN.net
gitconfigのデフォルトの設定ってどうやって確認できますか?
初心者向けのgitconfigの設定をコピペして使ってたので、本来のデフォルトの設定はどうなっているのか確認したかったんです
例えば[push]のdefaultの値を知りたい。
git config --global -lとしても.gitconfigで設定したものしか表示されません。
どうやって調べるのか教えてください。
518:デフォルトの名無しさん
16/01/06 11:27:32.41 wURx2dCr.net
削除すればいいやん
519:デフォルトの名無しさん
16/01/06 13:13:35.13 kRCOiLQI.net
いま編集しているファイルを
過去5番目のコミットにしたい場合ってどうやればいいんでしょうか?
直前だとgit commit --amendでできますが
520:デフォルトの名無しさん
16/01/06 13:46:18.87 IaWsb8dx.net
commit してから
git rebase -i HEAD~5
で好きに並べ替える。
521:デフォルトの名無しさん
16/01/06 14:14:05.73 VA1ckdYE.net
>>513
/etc
522:デフォルトの名無しさん
16/01/06 21:17:24.92 hb8+eohI.net
コミットメッセージの1行目以降の文って、
標準的なターミナルの表示文字数に合わせて、文の途中でも改行する?
それとも、まとまりのある文は1行にずらっと書き連ねる?
523:デフォルトの名無しさん
16/01/06 21:22:18.00 5pKkEElA.net
git log --oneline して大丈夫なように書く
524:デフォルトの名無しさん
16/01/06 21:47:51.60 wURx2dCr.net
>>518
一行目は50文字以下。
だから改行なんぞあるわけがない
525:デフォルトの名無しさん
16/01/06 21:50:30.34 hb8+eohI.net
>>520
1行目以降の話なんだが
526:デフォルトの名無しさん
16/01/06 21:52:47.93 hb8+eohI.net
>>520
すまん、**以降って**も含まれるんだっけ。
だったら、2行目以降の話ということで。
527:デフォルトの名無しさん
16/01/06 23:30:49.09 3xPXdlQu.net
「以降」の意味を理解しないで書くなんてプログラマらしからぬ行動ですね
528:デフォルトの名無しさん
16/01/07 00:52:37.63 dXC1CCvL.net
境界チェック
529:デフォルトの名無しさん
16/01/07 21:40:02.61 7Bqzi+Re.net
v2.7.0
530:デフォルトの名無しさん
16/01/07 22:49:05.45 SYgeeYe0.net
1行目は50文字以内でコミットの内容を簡潔に書いて
2行目は空行で3行目から詳細な補足を書くのが作法だな
531:デフォルトの名無しさん
16/01/08 07:27:14.99 ibYgEKHy.net
>>526
で、3行目からは、次のパラグラフまで改行しない?
俺今までずっとパラグラフ内では改行しないで書いてきたんだが、
そう言えばメールや2chでは適度に改行するよなと、ふと思ったもので。
532:デフォルトの名無しさん
16/01/08 09:06:48.84 zLL5OMzr.net
git commitするとエディタにコメントされたメッセージが表示されますが
あれは削除したほうがいいですか?
533:デフォルトの名無しさん
16/01/08 11:43:08.36 OhWDmy+4.net
>>527
いや改行は絶対するでしょ (ただし3行め以降は50文字よりは長くていいと思う)
見るときどこで改行されるか環境依存なのは良くない
534:デフォルトの名無しさん
16/01/08 12:02:50.33 YX4GdTt9.net
俺が使ってる一番小さい画面のター
ミナル表示文字数が半角40文字ぐ
らいから38文字以内で改行してお
けばどの環境でも同じ箇所で改行
される
535:デフォルトの名無しさん
16/01/09 20:00:48.54 CcDze1VM.net
そうなのか。
Webブラウザのように改行箇所は環境に任せるのが得策だと思ってたが、
git のコメントはそうじゃないんだな。
適度に改行する事にするよ。
アドバイスありがとう。
536:デフォルトの名無しさん
16/01/09 20:11:30.94 bJPIL1Ox.net
いやいや530ネタでしょ
537:デフォルトの名無しさん
16/01/09 20:45:40.20 fiqkpxEg.net
普通に読みにくいw
どっか縦読みなのかな。知らんけど
538:デフォルトの名無しさん
16/01/09 22:46:27.85 vQhUsKwo.net
38文字の長さのモニターなんて無いから皆釣りだと分かっててスルーしてたのに
539:デフォルトの名無しさん
16/01/10 08:42:26.91 iQ+kGUXH.net
>>532
俺が >>531 で感謝したのは >>529 に対してだ。
540:デフォルトの名無しさん
16/01/10 09:41:22.96 RV61Ygo1.net
529もどうなのかと
541:デフォルトの名無しさん
16/01/10 11:32:13.41 iQ+kGUXH.net
じゃあ結局どうなのよ
542:デフォルトの名無しさん
16/01/10 13:14:08.08 DvJYA3JL.net
>>537
だいたい70文字程度で改行を入れているかな
つーかそもそも改行が必要な長文にならぬよう気を付けてる
543:デフォルトの名無しさん
16/01/10 13:17:42.23 0EilkSw/.net
git add -pで上から順番にaddするかどうか決めるのは量が多い場合にきついので
GUIからaddしたい部分を順番関係なく選択出来るツール教えてください
544:デフォルトの名無しさん
16/01/10 13:29:57.58 DvJYA3JL.net
>>539
SourceTree
545:デフォルトの名無しさん
16/01/10 16:07:28.94 iQ+kGUXH.net
>>538
> つーかそもそも改行が必要な長文にならぬよう気を付けてる
マジか!?
70文字程度で改行を入れるスタンスで、そもそも改行が必要ないようにってことは、
ひとつの文を70文字以内に収めてるのか。
たとえば、あるデータベース swimming から全レコードを取ってきて一覧表示する機能を作ってコミットするとする。
コミットメッセージの1行目はまぁ簡単に
Display all records
とでもする(何を作ったのかを書く流儀もあるだろうが今は気にするな)。
で、2行目を空白にして、3行目に説明をもう少し詳しく書くとすると、
The program reads all records from the database swimming, and then outputs those to the standard output.
これで既にスペースや最後のピリオド含めて 104 文字だよ。
もしこの機能を実現するのにちょっと特殊なライブラリを使ってたりしたら、
俺なんかこの後に、To realize this, ... と、その説明も改行無しで加えちゃってたんだが。
70文字でひとつの文を収めるってそうとう厳しくないか?
546:デフォルトの名無しさん
16/01/10 18:01:30.18 rKsQeklf.net
コミット一覧を舐めるときにほしい情報以外はソースのコメントに書く
コメントに収まらないならドキュメント
コミットメッセージなんて流し読めるようにテンプレ化したほうがいい
長文の中からDiffを探すなんてやってられるか
547:デフォルトの名無しさん
16/01/10 23:37:44.30 H28OnS2I.net
コミットメッセージに実装したコードの説明を書いたらダメだよね
なんでそのコードを実装する必要があったのかとか書くべきであって
548:デフォルトの名無しさん
16/01/10 23:57:11.27 H7mG2ltv.net
詳細まで残す必要があれば、本来ドキュメンテーション側に残すべき仕事だしね
個人的には、コメント自体は最小限であって欲しい派
549:デフォルトの名無しさん
16/01/11 08:21:30.98 BAoJOR6h.net
ドキュメントに書くようなことではないけど、
コミットログを追う上で、書かれてると有益な情報の詳細を
コメントの3行目以降に残すわけね。
その一例が実装の必要性か。
なるほど、すごく参考になった。
自分のコメントを改めてみるよ。
みんな、ありがとう。
550:デフォルトの名無しさん
16/01/11 08:23:08.72 hV7M4a00.net
コミットメッセージの詳細が気になったらコメントやドキュメントのDiffを見ればわかるという流れがよい
アクセスポイントがコミットIDしかない場所にリーディングやメンテナンスに必要な情報を置くとか意味わからん
コミットメッセージに入れる情報はコミットログ上のコミットとしての自己記述と他に編集された差分情報のアウトラインや根拠・関連の参照先のオプションになる
GitHubだとIssueの操作コマンドも入る
コミットメッセージは過去になったスケジュール的なもので日記的に書き連ねたものにしてはならないと思っている
551:デフォルトの名無しさん
16/01/11 10:01:56.15 bUwJRX7M.net
gitkってコミットできないんだね
sourcetreeってmacとwindowsでしか使えないんだね
クロスプラットフォームの定番GUIツールあったら教えて
552:デフォルトの名無しさん
16/01/11 10:09:56.25 Sg+RIRQN.net
>>541
あんまりコミットログに長文書きたくないからソースに書いてる
コミットログ見る時はだいたいソースの差分も横に見てるから
ジョースターさんに伝えたいメッセージもコメント文で残せる
553:デフォルトの名無しさん
16/01/11 10:53:20.01 BAoJOR6h.net
>>548
ジョースターって何?
「git ジョースター」でググってもそれらしいものがヒットしないんだが。
554:デフォルトの名無しさん
16/01/11 10:59:26.70 KWbjlA3E.net
ジョセフ・ジョースター?
555:デフォルトの名無しさん
16/01/11 11:31:59.69 9Fv1gHIa.net
>>547
git gui はあかんかった?
556:デフォルトの名無しさん
16/01/11 11:44:34.59 VWhKDzdW.net
>>550
このコミットログを見て
うしろをふり向いたとき
おまえらは
557:デフォルトの名無しさん
16/01/11 13:49:13.44 UxukoE3i.net
>>551
知らんかったこれつかうわ
git-krakenも気になったが登録するの面倒だった
558:デフォルトの名無しさん
16/01/11 20:57:52.17 h3Zw4Fry.net
>>553
>git-krakenも気になった
なかなかイカしたUIやね
559:デフォルトの名無しさん
16/01/12 00:50:39.23 Ik1vLhCK.net
>>553
なかな見どころがあるでゲソ
560:デフォルトの名無しさん
16/01/13 21:54:57.01 3sTauBJ8.net
>>549
「受け取ってください ジョースターさん」でググればいいと思うよ
561:デフォルトの名無しさん
16/01/14 10:28:47.09 87BOzuvC.net
src, lib, testsとディレクトリが3つあります
testsには著作権的にgithubで公開できないファイルも入っています
ローカルではtestsも含めて全部バージョン管理、リモートではtestsは除外
どうやれば良いでしょう?
562:デフォルトの名無しさん
16/01/14 10:35:11.71 Bial8fVP.net
>>557
githubでソースを公開するなら、testも第三者が実行できるように公開すべきだと思う。
著作権的に公開できないものって何?
563:デフォルトの名無しさん
16/01/14 10:51:22.81 87BOzuvC.net
mp3
564:デフォルトの名無しさん
16/01/14 13:10:22.59 87BOzuvC.net
submoduleというのを使ってみることにします。
565:デフォルトの名無しさん
16/01/14 14:12:20.57 Bial8fVP.net
private repositoryでやれよ。
566:デフォルトの名無しさん
16/01/14 14:25:42.66 87BOzuvC.net
解決方を提示できずに、言いがかりつけるだけなら黙ってて下さい。
567:デフォルトの名無しさん
16/01/14 14:47:58.37 Bial8fVP.net
は?private repositoryを使うのも解決法だろうが。
568:デフォルトの名無しさん
16/01/14 14:53:50.70 87BOzuvC.net
gothubという、お題を無視してるので、言いがかりに過ぎませんね。
それで済むなら質問する必要ない。くらいの思考はできないのですか?
569:デフォルトの名無しさん
16/01/14 14:54:28.43 87BOzuvC.net
gothub -> github
570:デフォルトの名無しさん
16/01/14 14:58:00.07 Bial8fVP.net
あらら、githubのことよく知らなかったのか。
githubのprivate repositoryだ。有料だが。
571:デフォルトの名無しさん
16/01/14 15:19:15.16 z01SUMZO.net
>>560
地獄を味わうがいい
572:デフォルトの名無しさん
16/01/14 16:10:05.02 87BOzuvC.net
頭悪いですねえ。
非公開なら質問する必要が無いことを理解できないのでしょうか。
573:デフォルトの名無しさん
16/01/14 16:18:54.24 Bial8fVP.net
>>568
GitHubのprivate repositoryでOKかどうかの判断すら、お前がまだ公開していない情報が必要。
つか、さっさとsubmoduleでやれよ。
574:デフォルトの名無しさん
16/01/14 16:45:21.10 87BOzuvC.net
>>567
たしかに地獄をみることになりそうなので、取やめです。
575:デフォルトの名無しさん
16/01/14 16:46:51.65 87BOzuvC.net
>>569
キミだけだよ。判断できない低脳は。
576:デフォルトの名無しさん
16/01/14 17:14:06.32 Bial8fVP.net
つか、著作権的に問題がないデータに差し替えるというのはできないのか?
そうしないと、どういう管理にするにせよ、testsを誰もgit cloneできないということになるのでは?
577:デフォルトの名無しさん
16/01/14 17:49:14.50 87BOzuvC.net
必要な条件が足りないから判断できないんでしょ。
判断出来ないのに無理して答えなくて良いよ。
578:デフォルトの名無しさん
16/01/14 18:41:52.21 Bial8fVP.net
文句しか言わないなこいつ。
579:デフォルトの名無しさん
16/01/14 18:44:34.43 nCIdsoCO.net
>>557
著作権的に問題があるファイルを別管理すればいいだけ
580:デフォルトの名無しさん
16/01/14 20:21:09.35 87BOzuvC.net
>>574
公開したいに対して公開するなと、言いがかりしかつけられないアホは黙ってましょう。
>>575
ここの3の方法ですね。testsに下りなきゃならないのが面倒だけどしょうがないですね。
URLリンク(stackoverflow.com)
581:デフォルトの名無しさん
16/01/14 20:50:02.37 DPmyJq5W.net
>>576
俺は外野だが>>557ではtests以外を公開したいなんて一言も書いてないぞ
testsには公開できないファイルがあるってだけの情報なら
プライベートリポジトリと提案するのは正解だろ
それとも気を利かして全て察しろとでも言いたいのかよ
582:デフォルトの名無しさん
16/01/14 22:25:20.87 oE17Uu+t.net
自殺すれば全て解決
583:デフォルトの名無しさん
16/01/14 22:40:57.07 nCIdsoCO.net
>>578
言い出しっぺどうぞ
584:デフォルトの名無しさん
16/01/14 23:11:50.98 i5PvEdYA.net
うんこ味のカレーリポジトリとカレー味のうんこリポジトリとがある
カレーとうんこは限りなく似て異なる歴史を持つ
馬鹿: ニコイチにしてうんこ味のうんこにする
凡才: カレーへのコミットをフックしてうんこ成分だけをうんこへ投げる
山岡: このリポジトリはどっちもうんこだ、食べられないよ。
585:デフォルトの名無しさん
16/01/14 23:41:04.40 BQdBnmZE.net
>>580
うんこだと意味不明なので
「高級」に置き換えてみたよ。
高級味カレーリポジトリとカレー味の高級リポジトリとがある
カレーと高級は限りなく似て異なる歴史を持つ
馬鹿: ニコイチにして高級味のうんこにする
凡才: カレーへのコミットをフックして高級成分だけを高級へ投げる
山岡: このリポジトリはどっちも高級だ、食べられないよ。
586:デフォルトの名無しさん
16/01/14 23:41:30.31 BQdBnmZE.net
訂正
うんこだと意味不明なので
「高級」に置き換えてみたよ。
高級味カレーリポジトリとカレー味の高級リポジトリとがある
カレーと高級は限りなく似て異なる歴史を持つ
馬鹿: ニコイチにして高級味の高級にする
凡才: カレーへのコミットをフックして高級成分だけを高級へ投げる
山岡: このリポジトリはどっちも高級だ、食べられないよ。
587:デフォルトの名無しさん
16/01/14 23:42:20.77 BQdBnmZE.net
ついでに、キャビアバージョンも作ってみたよ
キャビア味のカレーリポジトリとカレー味のキャビアリポジトリとがある
カレーとキャビアは限りなく似て異なる歴史を持つ
馬鹿: ニコイチにしてキャビア味のキャビアにする
凡才: カレーへのコミットをフックしてキャビア成分だけをキャビアへ投げる
山岡: このリポジトリはどっちもキャビアだ、食べられないよ。
588:デフォルトの名無しさん
16/01/14 23:45:33.72 BQdBnmZE.net
いまいち面白くなかったので
シチューにしてみるよ
シチュー味のカレーリポジトリとカレー味のシチューリポジトリとがある
カレーとシチューは限りなく似て異なる歴史を持つ
馬鹿: ニコイチにしてシチュー味のシチューにする
凡才: カレーへのコミットをフックしてシチュー成分だけをシチューへ投げる
山岡: このリポジトリはどっちもシチューだ、食べられないよ。
山岡はシチューを食べられないということか?
589:デフォルトの名無しさん
16/01/14 23:50:53.16 tAKAFi/g.net
三銃士を連れてくる所長まだ?
590:デフォルトの名無しさん
16/01/15 08:29:50.53 wa8kRhUB.net
>>577
ああ、アホがまたわいてきた。
githubでリポジトリ作る時にpublic/privateの選択するんだよ。
privateを選択しなかった理由があるって事だ。
お題が明らかに間違ってるならともかく、お題に言いがかりつけてまで回答しなくて良いんだよ。
591:デフォルトの名無しさん
16/01/15 11:22:06.55 4RqtBmS3.net
スレ違い
こっちに行け
OSSホスティング総合【SourceForge,GitHub,etc..】
スレリンク(tech板)
592:デフォルトの名無しさん
16/01/15 11:25:51.02 4RqtBmS3.net
>>294=>>557だろ
お前は二度と書き込むな
593:デフォルトの名無しさん
16/01/15 11:54:20.72 JTMnCRhs.net
>>586
だから>>557見てprivateの選択をしなかった理由とかどこから出てくんだよw
お前こそあやふやな質問を一生懸命正当化しなくていいよ
とにかく>>561への>>562の返答はマジでないよ
594:デフォルトの名無しさん
16/01/15 12:24:07.13 wa8kRhUB.net
>>587-588
とっても、頭悪いね。
private/publicの使い分けなら、github固有の話題だけどpublicを選択したんだから
github固有の話題じゃないって事くらいわからないのか?
>>589
頭悪すぎ。
githubを良く知らないなら「privateを選択しなかった」経緯がわからないだろうが、
>>566だからね。とってもよく知ってるという事だし。
> とにかく>>561への>>562の返答はマジでないよ
>>561だけじゃなくて>>558から続いてるからね。
「公開すべき」、「そのファイルはなんだ?」言いがかり付けたいだけだろ。
595:デフォルトの名無しさん
16/01/15 12:29:08.86 NW8jpekK.net
>>578
HDD/SSDはどう処分する?
596:デフォルトの名無しさん
16/01/15 12:39:42.31 51vQa545.net
>>562
言いがかりて
あなた病んでるよ
597:デフォルトの名無しさん
16/01/15 12:54:01.64 wa8kRhUB.net
>>592
>>588,562で言いがかりつけられたと感じられないキミはかなり鈍感だと思う、ある意味幸せな人。