TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Java入門・初心者質問スレ Part.8
マルチスレッドプログラミング相談室 その9
【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】
【魔法】リリカル☆Lisp【言語】
C言語なら俺に聞け 153
C言語の設計ミスった危険な関数トップ10決めようぜ
関数型プログラミング言語Haskell Part32
Kotlin 3
Microsoft Silverlight その9
プログラミング言語の難易度ランク作りました ご覧ください

Git 16


1 :2017/08/15 〜 最終レス :2020/06/13
ソースコード管理を行う分散型バージョン管理システム、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 14
http://echo.2ch.sc/test/read.cgi/tech/1457412803/
Git 15
http://mevius.2ch.sc/test/read.cgi/tech/1486239735/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured

2 :
乙です

3 :
Git v2.14.1
v2.7.6, v2.8.6, v2.9.5, v2.10.4, v2.11.3, v2.12.4,
and v2.13.5.

https://public-inbox.org/git/xmqqh8xf482j.fsf@gitster.mtv.corp.google.com/T/#u

Gitの脆弱性 ( CVE-2017-1000117 )
https://oss.sios.com/security/git-security-vulnerabiltiy-20170813

4 :
Gitはバージョン2.13でセキュリティとUIの改善を続けている
https://www.infoq.com/jp/news/2017/06/git-2-13-released

「Git 2.14」リリース、細かな変更が多数加えられる
2017年8月7日15:15 末岡洋子
https://mag.osdn.jp/17/08/07/151500

5 :
>>1

6 :
>>1


7 :
GJ

8 :
BJ

9 :
TJ

10 :
コンフリクトが確定しているときにこっち側のファイル全面採用!ってやるほうほうないですかね?
masterで暫定対応をちょこちょこしてリリースしたあと
ブランチで根本治療を図ったら全面書き換えになっちゃった、みたいな場合です。

11 :
>>10
いつものドキュメントのこのページの後半
https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-%E9%AB%98%E5%BA%A6%E3%81%AA%E3%83%9E%E3%83%BC%E3%82%B8%E6%89%8B%E6%B3%95

git merge -Xours とかの解説をよく読んでみるがいい

12 :
>>10
ours/theirsは知りませんでした!
ありがとうございます。

13 :
githubであるリポジトリをフォークしてローカルにクローンしてブランチを作って作業してます。
フォークしたリポジトリのブランチを破壊してしまいリセットもうまくいかなかったので

壊れたブランチをローカル・リモートともに削除して
新しく同名のブランチを作成してリモートに反映させて
ローカルのブランチを削除して
フォーク元のリポジトリから元のブランチをチェックアウトして
そのトラック先を新規作成したフォーク先のリポジトリのブランチに変更して
強制プッシュしました。

見た目問題なさそうなんですが何かおかしいところがないでしょうか?

14 :
フォークした時点でローカルもリモートも自分のものになってるんだから気にすんな

15 :
新人プログラマです。
現在私の参加しているプロジェクトでgitを使っているのですがどうも使い方がおかしい気がしてます。(新人なので私のほうがおかしいのかもしれないが)


以下現運用状況です
リモートリポジトリをクローンしてそれをさらにコピペでIDEのワークスペースに移し、ファイルを編集・追加する。
差分をwinmergeでローカルリポジトリにコピー
そしてリモートへプッシュ

こんな感じです。

私はクローンして作ったローカルリポジトリのワークツリーをIDEのワークスペースとして使うのではないかと思い混乱しています

皆さんの意見をお聞かせください

16 :
>>15
> リモートリポジトリをクローンしてそれをさらにコピペでIDEのワークスペースに移し
この段階で、ローカルには二つのクローンされたファイル群になるんじゃないの?

17 :
君が入る会社を間違えるからそういう低レベルな職場にぶちこまれる
きっとそういう環境では何も技術的にレベルアップできないからいるだけ無駄だよ
転職を考えた方が良い

18 :
>>16
すみません。少し説明不足であることに気づきました。
クローンしたローカルリポジトリのワークツリーのフォルダだけをコピペしてIDEのワークスペースに入れています。.gitフォルダなどはコピペ対象外なのでクローンが2つではないのです。

どうも手順書がgitのワークツリーのことをリポジトリとは全く別の作業用のフォルダという理解で書かれているようなのです。書いたのは富士通の人ですが

>>17
やっぱこれは低レベルな現場なんですかね…
転職は入社したときから常に頭の片隅にあるのですが…

19 :
コミットは神聖な手続きなのでローカル履歴はzipでやりなさいという教えでは?

20 :
さすが不治痛

21 :
>>18
管理は二流
技術は三流

22 :
メーカーはオワコンだからやめとけ
web系一択

23 :
>>18
手順書書いたやつに指摘してみて、変わらない・逆切れするようなら転職go。
そのくらいとんちんかん。

24 :
読んだ感じ富士通に常駐してる人じゃないのか?だったら文句言っても無駄

25 :
AWS上のローカルリポジトリをmac等からssh接続し、source treeで管理することは可能なのでしょうか。
実際に試せばわかることなのですが、あいにく手元に実践できる環境がないので、教えていただけると幸いです。

26 :
どうやってるのかわからんけど
マウントしてたらローカルと同じ扱い
それ以外はリモート

27 :
>>24
お察しの通り弱小常駐です。ましてや1年目の新人なので富士通の人に直接言う機会すら無さそうです
転職は入社初日から考えていますが…

28 :
gitの開発ML見てたら、ライナス降臨でバグに文句言ったら、
速攻でPeffがパッチ投げていたのはワロタ

29 :
2.14が出てから、開発MLにメモリーリーク関係のパッチがいろんな人から大量に投稿されている。
全部取り込まれるかどうかはわからないが、2.15 はメモリ開放漏れが大幅に減る予感。

30 :
tortoise git でブランチ名を変更する方法ってある?

31 :
>>30
それ使ったこと無いけどブランチ作って元のを必要なら消すだけじゃないの
ブランチ作る機能の無いgitクライアントなんてあるわけないよね?

32 :
ブランチの一覧からならできるよ

33 :
コメントどうもありがとう

>>31
その一手間が面倒だからあればなーと思って

ログのグラフを見ながら作業できたら便利なんよね

>>32
ちょっと探してみます

34 :
そんなのが必要になるほどブランチの名称変更って頻繁に使うものかな?

35 :
誰かに教えてもらった
「ここをコメントアウトするといいですよ」
をブランチを作ってコミットとか
とりあえず一気に最後まで実装したのをコミット、
そこで似たような名前でブランチを作っておいて
最後のコミットをやり直しながらちょっとずつコミット、
途中でこれは別のブランチにも先にマージして使いたいので
ブランチを作ってそれだけまとめるか
とか
なんぼでも思いつくけど、、

36 :
ブランチはいっぱい作るけど名前変更ってのはあんまりしないな

37 :
名前変更するよ

38 :
名前変更できるだろ マニュアル読めよ

39 :
マニュアル?

40 :
git branch --help
でwebページ(マニュアル)開くから
-mオプションを見ろ

英語が読めないとかいう幼稚園児はR

41 :
>>40
馬鹿だなー
質問は「tortoise git でブランチ名を変更する方法ってある?」なのに

42 :
これだからGUI厨は

43 :
????

44 :
>>42
恥の上塗り

45 :
>>33ですが、
>>32さんの方法で名前変更だけでなくいろいろできることがわかりました!
どうもありがとうございました!
m(__)m

46 :
開発MLでGit for Windows のコミッタと浜野氏がもめているね。

Git for Windows のコミッタ => REBASEのパッチを出す。やり直しやり直しで6回出しても通らない。

浜野氏=> 9月2回目の Cooking in git.git で Expecting a reroll. と書く。

Git for Windows のコミッタ => No you don't と嫌味。

浜野氏=> 9月3回目の Cooking in git.git で 相変わらず、Expecting a reroll. と書く。

Git for Windows のコミッタ => うざいから俺のパッチを削除しろよ

浜野氏=> お前の意見のせいで頭おかしくなりそうだ。もう少しなんだから最後までパッチ書けよ。

47 :
Git for Windows のコミッタと浜野氏は8月5回目の Cooking in git.git でも揉めている。

この殺伐感こそが開発という気がする。

48 :
何が起きてるの?
原因は何なの?

49 :
sourcetree以外を使わないといけない理由は何なの

50 :
IDEから操作したいとかCUIで操作したいときとか

51 :
Gitをコマンド以外で操作することって現場ではある?
全てコマンド上で出来る気がするんだけど、ディレクトリ右クリックからの〜って操作を推奨してるのかな

ちな最近転職して内定、現在勉強中の身です

52 :
普通にsourcetreeの方がブランチが一覧できて楽

53 :
俺は gitk --all 見ながら操作はコマンドだな。

54 :
>>51
大体のことはVisual Studioから操作するけど

55 :
TortoiseGitかVisualStudioかな

56 :
ブランチ操作とかはSourceTreeは遅いからコマンドで打つことがかなり多いけど、addに関してはGUIで差分を確認しながらすることが多いかも

57 :
Windowsで個人情報登録したくないなら亀git一択

58 :
>>57
これ

つーかgitだけじゃなくて
tortoise gitもGPLのオープンソースプロジェクトなのね

59 :
誰かtortoise gitのログウインドウのコンテキストメニューから
ブランチ名を変更する機能の追加を
tortoise gitのgitリポジトリから
フォークしてマージまでやってくれないかな、、

60 :
>>59
自分でやりなよ

61 :
>>59
すげぇ眼鏡クイってしながらドヤ顔で言ってそう

62 :
>>51
うちの現場ではtortoiseGit使ってます
無能が運用ルール作ったせいでsvnのほうが100倍ましだった…みたいな状態ですが…

63 :
>>62
お前がルール変えろよ

64 :
どんなルールなのか興味深い。

65 :
コミット担当者にパッチ渡してマスターリポジトリにコミットしてもらう運用とか普通にありそうで怖い

66 :
tortoise git よいよね

67 :
>>65
その前に5人くらいのハンコを貰わないと・・・

68 :
>>67
ワロタw

69 :
個人の生産性を測ると、バグと手戻りと思い違いが増える。
一方、協調しよ うとかスキルを伸ばそうとか知見を共有しようとかいった態度は薄れていく。
各人がなんとしてでも自分自身の生産性を確保しようと躍起になるからだ。
心しておきたいのは、個人の生産性を計測すると、
プロジェクトで大切に育んでいきたい心構えと振る舞いを台無しにしてしまうということだ。
チームメンバー同士で考え方を共有すること。助け合うこと。
落とし穴にはまらないように気を配ること。
こうしたすべてが失われてしまう。

70 :
v2.14.2
https://public-inbox.org/git/xmqqwp4m9ejl.fsf@gitster.mtv.corp.google.com/T/#u

71 :
v2.10.5, v2.11.4, v2.12.5 and v2.13.6
https://public-inbox.org/git/xmqqy3p29ekj.fsf@gitster.mtv.corp.google.com/T/#u

72 :
Git for Windows 2.14.2からtig同梱されんのマジうれしい

73 :
会社は未だにSVNでプライベートは共同作業するようなプロジェクト持ってないんだけどgitにするメリットってあります?

74 :
>>73
あるよ

75 :
>>74
なるほど

76 :
>>73
ローカルコミットできるというだけでもメリット

77 :
>>74
例えば?

78 :
ディレクトリを作成する
git init

これでバージョン管理の準備が整う


svnだとリポジトリ用のサーバー用意して〜から始まる

79 :
>>78
> svnだとリポジトリ用のサーバー用意して〜から始まる
知ったか乙
お一人様ならサーバーなんて要らんよ
https://qiita.com/sksmnagisa/items/8c3905e073084b3cac16

80 :
>>79
いや、だからそのリンク先の内容が
面倒だって話だろw

81 :
>>80
とりあえずサーバーなんて要らんと言うことはわかったかな? w

82 :
必死すぎwww

83 :
お前がな w

84 :
>>77
GitHub, Gitbucket

85 :
gitはSVNに比べて気軽にブランチが作れるんで、
ちょっとした実験用の実装を別ブランチで分けて作っておいて、
あとから部分的に使いたい部分のコミットのみを別のブランチにマージさせたりできる
これはSVNにはないメリットといえるのではないだろうか

86 :
最新のsvnはマージのアホさが改善されてるの?

87 :
>>85
+1

88 :
SVNでコミットログをいじくり回したいんだけど、どうすればいいでしょうか

89 :
>>86
>>88
質問するスレが違うだろ

90 :
>>86はまだgit並みになったのか?
って言う意味だとも取れるけど>>88はさすがにスレチだな

と言うことで
Subversion r15
http://mevius.2ch.sc/test/read.cgi/tech/1406967657/
に行けよ

91 :
プルリクによってOSS活動が捗るというのもgitのメリットでは
SVNではこうはいかない

92 :
>>91
プルリクエストはgitの機能ではないと思います

93 :
グレーゾーン

94 :
開発ML見ているけど、パッチ出してレビューしての繰り返しで、16回目のレビューのパッチとかあるね。
去年の夏ごろからレビューと再提出を繰り返しているみたいだ。

根性あるって感じ。

95 :
16回もレビューするようなコードは
もういい。俺が自分で書くってなりそうw
レビューする方は根性有るな

96 :
一回レビューしたあとにまた新たな実装を追加したりしてんじゃねーの
たまにいるよそういうやつ

97 :
レビュー修正のやり方を全くわかってないクソプロは死刑

98 :
>>91
それgitちゃうし

99 :
v2.15.0-rc0

100 :
git add -pで一部だけaddした場合
そのaddされた変更箇所がどこなのか確認する方法を教えてください
git diffだとaddされてない部分が表示されました

101 :
でゅふ きゃっしゅど

102 :
git diff --cached

103 :
test

104 :
v2.15.0-rc1

105 :
RC1 で An ancient bug ってのが直っているな。 どのバグか知らんが、そんな古いバグもあるんだな。

106 :
ローカルコミットの最新だけリモートにプッシュすることってできませんか?
一旦コミットしてしょうもない書き間違いに気がつくことがあって

107 :
>>106
しょうもない書き間違いをしたのはリモートにプッシュしたの?
まだしてないなら何でもできるよ

108 :
amend

109 :
v2.15.0-rc2

110 :
gitで管理しているファイルの名前を
途中で変えたい場合はどうするのでしょうか?
別ファイルとしてコミットしなおすと履歴が切れてしまうので良くないですよね?

111 :
問題なく追従すると思うけど
せっかくgitで管理してるんだから取りあえずやってみたら?

112 :
あまりに変更箇所が追跡できなくなるけど、その場合は追跡する意味がない

113 :
>>110
git mv
ファイル名変えて元をrmしてaddし直すのと一緒だが

114 :
>>112
ほんそれ

115 :
なるほど、だから名前の変更だけでコミットするのが良いわけか
使い方の問題だな

116 :
Tech Talk: Linus Torvalds on git
https://youtu.be/4XpnKHJAok8?t=330

を見ると 2007/5 の時点でLinus はJunio Hamano って呼んでいる。
浜野氏はこのころからJunio って名乗っていたのか。

ミドルネームのCが何の略なのかはいまだに謎。

117 :
mv hoge/index.html index.html
rm -a hoge
git status↓
deleted: hoge/index.html
Untracked files:
(use "git add <file>..." to include in what will be committed)
index.html

git mvし忘れたんですけどこの場合どうやって
index.htmlの履歴が引き継げなくなるのは困ります

118 :
mvの履歴なんて保存されないから
普通にaddしてコミットで良い

119 :
v2.15

120 :
あの、git cloneした場合とreleaseから圧縮ファイルをダウンロードするのはどちらが通信量が少ないでしょうか?
git cloneってgzで圧縮されたパケットですかね?

121 :
圧縮されてると思っていいです

122 :
gitのv2.5.0のみcloneしたら5.72MiB(約6MB)
v2.15.0.tar.gzのサイズは6.9MB
よってcloneのほうが通信量が少なかったです
圧縮ファイルのほうがサイズ小さいと思ったら以外でした

123 :
バージョン違うからじゃね?

124 :
じゃねじゃねーんじゃね

125 :
あっホントだ!2.5.0と2.15.0だった
いま気付いた

126 :
git clone --depth 1 -b v2.15.0 だと7.21 MiB(7.56023296 MB)
tar.gzは6.85MB

tar.gzのほうが軽いですね

127 :
プレーンじゃないって判ったらもういいだろ

128 :
悪貨がはこびるのは世の常

129 :
gitってここ二三年、マイナーバージョンが上がりまくっているが、
お薦めの新機能ってある?

130 :
うんこーど対応

131 :
>>130
なにそれ?

132 :
なぜ git rebase をやめるべきか
https://frasco.io/why-you-should-stop-using-git-rebase-535fa30d7e25

133 :
やめろと言われてもやめられない

134 :
>>132
タイトルを「なぜfast forwardマージをやめるべきか」に変えてほしい

135 :
feature ブランチを rebase してから --no-ff merge
feature ブランチを rebase してから --ff merge
feature ブランチを rebase せずに --no-ff merge は、複数人開発だとデフォルトこっちになるけどffマージになっちゃうこともあるので一応指定
feature ブランチを rebase せずに --ff merge は、複数人開発だとffマージできなくてエラーになること多い

136 :
元記事のコメントも読んだほうが良いぞ

https://blogg.bekk.no/why-you-should-stop-using-git-rebase-5552bee4fed1

137 :
綴り間違い治すだけとか
rebaseしたくなるなー

138 :
後でbisectした時に困るって話?

139 :
綴り間違い治した程度でbisectが困ることにはならんと思ってるが違うの?

140 :
ログメッセージの修正だけが目的で
元と同じ場所にrebaseするだけなら大丈夫だろう

masterの新しいコミットの上に何も考えずにブランチのコミットをrebaseするのは
後々問題を引き起こす

141 :
後々ってのはどういうこと?
問題が発生するならrebaseしたその時じゃないのか?見落としは別として。

142 :
これ大前提としてコミット一つ一つを
どう運用しているかによるよな

コミットにバグが含まれていたとしても
マージする単位で整合性が取れていればOKなのかとか

人によってはコミットを作業履歴みたいに
・○○修正した
・ミスが有ったので訂正
・タイポ
・修正漏れがあったので対応
・今日はここまで
みたいにする人もいるし

143 :
作成したリポジトリから複数回プッシュした変更分ってmasterにも複数回マージすれば良いのんかね
それとも最後のプッシュぶんだけマージすれば変更分は全てマージされるん?
gitよくわかんねぇんご

144 :
commitした時点で独立した完全版だから
最後のやつだけでいいよ

145 :
差分や増分バックアップとは違うんだ

146 :
>>143
コミットIDというのは歴史全て含んでそのID
だから、遠い過去を書き換えてもコミットIDは変わる
IDが分かれば歴史もすべてわかる

147 :
誰かgit初心者の勉強につきあってくれる人はいないかなぁ
そんな人を探して初レス

148 :
勉強につきあってもいいよという人がいたら↓にきてよ

open.open2chネットの/test/read.cgi/nohara/1511913106/

149 :
2.15.1

150 :
Git で管理しているJavaのクラスを
リファクタリングで別のパッケージに移動させた場合、

物理的な移動 と 中身の変更(パッケージ宣言の変更) が同時に発生するので
これらを同時にコミットすると、Git上で履歴が追跡できなくなるのがつらい

いまは、ファイルだけ移動させていったんrenamedでコミットしたあとに、
別のコミットで中身(パッケージ宣言)を書き換えてしのいでいるんだけれど、
途中でコンパイルが通らないコミットができるのが、あまりうれしくない…

みんなどうやっているの??

151 :
git log も git diff も、--followオプションを指定すれば、クラス名の変更ぐらいは余裕で追跡してくれる
git blame はオプション無しでも大丈夫っぽい

152 :
2つの質問していいですか?
一つ目の質問してもいいですか?
なぜpushには-uオプションがあるのにpullにはないのですか?
2つ目の質問してもいいですか?
GITのコマンドが完全に成功するか完全に失敗するかのどちらかというのは
複数の人が同時に同じレポジトリーに対して別のGITからコマンドを実行しても
成り立ちますか?

153 :
たぶん -u オプションの意味を勘違いしてる
pushでも特に必須なオプションじゃない

同時にリモートリポジトリ操作は大丈夫なようになってる

154 :
>>152
cloneなr常に成功するかもな

155 :
mao.2ch.sc/test/read.cgi/linux/1468149353/501

501 login:Penguin sage 2017/12/22(金) 00:20:40.83 ID:0/XqAwW+

誰もやらんかもしれないけど
@ WSL の Ubuntu の bash から使う git
A Git for Windows の Git Bash から使う git
これらを混ぜると危険

Aでサブモジュールを含むローカルコピーを取ってきた後
サブモジュールを取り直す時に
間違って@で取ると
以降 git status --porcelain が失敗する

TortoiseGit が Git for Windows に依存するので
TortoiseGit でのいろんな操作も失敗するようになる

ようやく気づいたよ、、

修復方法はサブモジュールを
Git for Windows のGit Bash から取り直すこと

156 :
Git v2.16.0-rc0

157 :
よくわからないので教えてください。
リポジトリとなるフォルダとして、 git-sampleフォルダを作成し登録しました。
この中で20181231.txtというファイルを作ってコミットし、成功しました。
ここで、別のファイルも管理したいと思い、git-sampleフォルダの中で、
テスト用.txtを作成し、コミットさせると、20181231.txtと同じブランチに
紐づいてしまいます。
それぞれを別のファイルとして管理させたい場合は、ファイル登録時に
どうすればよいのでしょうか?

158 :
>>157
同じmasterブランチでは
別のファイルとして見えてるんでしょ?
今ので合ってるよ

159 :
git add する前に git branch しろってこと?

160 :
>>158
素人で申し訳ないのですが、樹形図列に表示されている線が1本のみで、
その1本に20181231.txtとテスト用.txtが紐づいている感じですが、
それぞれのファイルごとに樹形図があると思っていたのですが、そうでは
ないのでしょうか?
それであれば、ファイルごとの状態を把握するのが難しいような・・

161 :
>>160
masterブランチにマージする前提で使うのが基本だよ
途中は樹形図のように広がってもなるべく最後は一つにマージする
樹形図のように広がっている時は多くの人が編集途中だったり、
個人であってもあれこれ途中のものを入れてる段階で、
最終的には確定した一つのものにする

162 :
>>160
ファイルごとの状態、
というのがよく分からんけど
あるファイルの編集履歴を見たいなら
git log とか git blameとかで見れるよ

163 :
>>160
もしかして、 fast forward merge ばかりしてるとか?
merge時にmasterブランチに履歴が混ざるのが嫌だと言う話なら以下を参考に

https://qiita.com/nog/items/c79469afbf3e632f10a1

git config --global --add merge.ff false
git config --global --add pull.ff only

というか
それ以前にブランチすら作ってないのかも?

164 :
>>161-163
いろいろ親切に回答をしていただいて申し訳ございません。
SourceTeeeを使っていることを書いていませんでした。
なので、CLIのほうはまだちんぷんかんぷんです。ごめんなさい。
でも、でてきた各用語についてはこれから勉強させて
いただきます。
ちなみに実際にやっていきたいのは、
[構成図]フォルダ内にある、物理ネットワーク.xlsxや論理ネットワーク.xlsx
などの各ファイルのバージョン履歴がファイルごとに見れるようにしたい。
それがSoueTreeでどのようにできる(表現される)のか試しに始めた次第です・・

165 :
>>164
遥か昔、バージョン管理ツールは、ファイル単位で履歴を管理する方式から始まったんだけど、
不便だったので、特定のディレクトリ以下の複数のファイルの状態をまとめて履歴管理する方式に取って代わられた

ファイル単位で履歴を見る方法は用意されてると思うけど、SourceTreeはよくわからん

この辺が参考になるかな?
https://teratail.com/questions/12039

166 :
「未コミットの変更状態」が作業ディレクトリに残った状態で
他人がコミットを進めたブランチをpullしてくると
作業ディレクトリはどうなるの?

167 :
>>166
pullすることで更新されるファイルが作業ディレクトリで未コミット状態なら、
pullの途中のマージでエラーになる

168 :
Git v2.16.0-rc1

169 :
Git v2.16.0-rc2

170 :
Git v2.16.0

171 :
「Git 2.16」リリース
https://mag.osdn.jp/18/01/19/174500

172 :
Git v2.16.1

173 :
Gitは間違いなく開発を不便にしている
自分の足跡を強制的に残すことを余儀なくされているから
そうすると自分の変更の差分を勝手にチェックしてくるやつが
でてきて「この余計なファイル何?」とか「この変更何?」とか
「削除して」「コミット取り消して」言い始めて何回も
自分の作業が無駄になる。
自分の作業や時間をムダにしないためのツールなのに。
コンフリクトが発生したから取り消すんじゃない。
バグが実際に起きたか取り消すわけじゃない、
単に「監視」されて、監視したやつにとって「不可解だと思ったから」
それだけの理由で何度もコミットを取り消したりファイルをごちゃごちゃ
編成したりを余儀なくされる。
バックアップ要ファイルとかtmpとかコメントアウトとかインデントとか
コーディング規約とかちょっとでもお気に召さなかったらいくらでも
もとに戻せるんだから「戻せ」となる。
こんなことなら一度加えた変更は二度と戻せないほうがマシかもしれない。

174 :
ソースコードもペーパー大好き日本人の感覚で言えば
稟議書のごとく書式チェックされる。
ちょっとでも書式が崩れていたら(問題なく動いたとしても)
すぐ差し戻される。
日本人は救いがないくらい馬鹿すぎる、なんだこの情弱国家は。

175 :
適性ないから今すぐ仕事やめた方がいいよ

176 :
他人が読めない糞コード書くからやり直しさせられてるんだな
gitが品質向上に役立ってることが分かりました

177 :
Jenkins と GitBucket との連携に関する問題が解決できず質問しました。

具体的には、GitBucket のリポジトリに push したとき、Jenkins ジョブが自動的に起動するようにしたいのですが、
そのジョブが自動的には起動しません。

GitBucket のリポジトリの Service Hooks の設定で [Test Hook] ボタンを押すと、HTTP ステータスコード 200 が帰ってきます。
また、同設定ページの [ Which events would you like to trigger this webhook?] で [Push] にチェックを入れています。
この状態でも、GitBucket のリポジトリに push しても Jenkins のビルドが起動しません。

しかし一方で、Jenkins のジョブは Multibranch Pipeline ですが、
GitBucket のリポジトリに push した後、Jenkins のジョブの [Scan Repository Now] を実行すればジョブは起動します。
つまり手動では問題なく起動するということです。

原因として何が考えられるでしょうか?


(Git とJenkins のどちらのスレに質問するのが適切かわからず、
とりあえず賑わいがあるこちらに質問しました)

178 :
>>177
スレチ
jenkins側のプラグインの問題っぽいね
何使ってるか知らんけど
悪いことは言わんからGitter行け

179 :
>>178
Jenkins のプラグインを調べてみます。
ありがとうございました。

180 :
>>179
pushならGitBucketプラグインでも連動できることは確認してるよ

181 :
>>177
http://int128.hatenablog.com/entry/2016/10/04/230243
http://int128.hatenablog.com/entry/2016/10/06/224444
この辺の話じゃなかろうか

最近のGitBucketでは問題無いと言う話も聞くけど、うちじゃどこかのバージョンからか
上手く動かなくなって、原因探るのもめんどうだからポーリングに変更しちゃったわ

Jenkins側のPluginがAPIアクセス時のアドレスにポート番号まで含めて自由に設定出来れば解決出来そうだが……

182 :
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

183 :
git config --global user.name "xxxx"
git config --global user.email "yyyy"

としたんだけど、何もメッセージが出ない。
念のため、xxxx の文字列をローカルディレクトリで検索してみたけど
どこにも記録されてないみたい。エラーが起きてるのにエラーメッセージが出ない?

184 :
git config --global --list

185 :
ローカルで探すつもりなら
git config --local hoge.hoge fugafuga

186 :
Git v2.16.2

187 :
GIT SVNでSVNのリポジトリのtagsにGITのtagを反映させるのはどうしたいいんでしょうか? GITだけ(SVNは入れてない)で開発していてtagをつけた後にリモートにdo commitしてもtrunkに入ります。 

188 :
Git v2.17

189 :
「Git 2.17」が公開
https://mag.osdn.jp/18/04/04/163000

190 :
>>187
svnのtagは実質ブランチで、gitのtagと全然違うから無理。
git-svnでsvnからgitへの移行時もsvnのtagはbranch扱いだし、方法は無いと思う。

191 :
>>190
無理ですか SVN入れてる人に頼んでみます
 

192 :
なんでこんな分かりにくくて複雑で使いにくいものが流行ってるの?
もっとシンプルで簡単なものでいいじゃん。
プロジェクトメンバーのほとんどのヤツが良く理解してないのに
使わされるからめちゃくちゃになる・・・

193 :
めっちゃ便利なんだが??
分かってる人が分かってない人にちゃんと教えるべきでは?
御社の教育体制を見直すべきでは?

194 :
>>192
どんなのが判りやすいと思う?
っていうかgitの前はどうしてたん?

195 :
git の特徴は、直接リポジトリへ保存しないこと

一旦、自分のPC 内に保存して、そこで少し待つことができる。
その後しばらくしてから、リポジトリへ保存する

196 :
流行ったのはGithubの影響が大きいだろうね
実際、GoogleのPerforceとかFacebookのMercurialとかGitを否定して他のバージョン管理システム使ってるところも多いけど、一番数の多い中間層でブームになってこの状況なんだと思う

197 :
gitが流行ったのは大手がこぞって使ってるからだよw

198 :
大手っていうのはプロジェクトの話ね
大手プロジェクトはだいたいgit

199 :
大手のオープンソースプロジェクトがGithubに移行したってこと

200 :
Windowsの開発すらGitだもんな

201 :
bitbucket なら、5人以下のメンバーなら、プライベートでも無料

202 :
水銀はいいと思うんだけど、なかなか流行らなかったな

203 :
mercurialが性に合うし hg-gitが優秀だから
裏側でmercurial使ってgithubに投げ込んでる

204 :
Git2.17は移動したコードに対する差分表示やオブジェクト検索機能が向上した
https://www.infoq.com/jp/news/2018/04/git-2.17-released

205 :
くーる、gitくるー、gitくるー

206 :
わっちょい

207 :
神様
汝へ
git rm --cached hoge.txt すると gitの管理下から外れ、ローカルのファイルは残るけど、pushするとリモートからは削除されちゃうのだけれども、削除されずにgit管理化から除外する方法
を教えてもらえますように。

208 :
git rm --cached hoge.txt すると gitの管理下から除外され、ローカルのファイルは削除されずに残るけど?

209 :
>>208
神出現w
ローカルには残るけど、statusみると deleted: hoge.txt になっているので、pushするとリモート先からは削除されちゃうのです。

210 :
>削除されずにgit管理化から除外

どういう状態?

211 :
>>210
環境依存する設定ファイルをgitで管理していたのだけれど、それをgitの管理から外すために、
・git rm --cached で除外(ファイルは削除いたくない)
・.gitignore に追加
・commitしてリモートへpush
・別環境でそれをpullすると、除外したファイルが消えてしまう
これを削除されないようにするのはどうすれば良いか、、というご相談です。

212 :
skip-worktreeでどうかな?

213 :
http://livetest.net/load/20180511-071412-034.jpg

214 :
わかばちゃんのGITの本どうなんだろうなぁ

215 :
良かったよ

216 :
よかったか
値段がきついけど年に1冊ペースででるからなぁ

217 :
うわぁ、いい本と聞いて見に行ったけど、あれ買う勇気も
読む勇気もないわ。

218 :
「一般小説の表紙がどんどんラノベ化していってることに戸惑う人々」を解説する
http://srpglove.hatenablog.com/entry/2018/04/16/224342

219 :
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

QHYQI

220 :
来週のサイエンスZEROが仮想通貨なんだが
http://www4.nhk.or.jp/zero/x/2018-06-03/31/24902/2136678/
予告動画で流れてるコマンドが git だった件

221 :
「Git」に任意のコード実行の脆弱性、更新版で対処
http://www.itmedia.co.jp/news/articles/1806/01/news086.html

222 :
SVN大勝利!

223 :
Git v2.18.0-rc0

224 :
Gitの脆弱性により任意のコードが実行できる
投稿日 2018年6月7日
https://www.infoq.com/jp/news/2018/06/git-vulnerability-2.17

225 :
M$とは大違いだな

>さらに、追加のセキュリティレベルとして、これらのリリースでは、問題のある.gitmodulesファイルを含むリポジトリへの
>pushesを拒否する。これは、次のことを意味する。

>ホスティングサイトが悪意のあるコンテンツの拡散を防ぐことで、古いクライアントを使っている顧客を保護します。

226 :
>>225
どこが?

227 :
>>225
ここで述べられてるいくつかの脆弱性・修正のうち、
https://www.infoq.com/jp/news/2018/06/git-vulnerability-2.17

NTFSに関するものはこれだけでは?

> 修正された脆弱性の2つ目は、NTFSファイルシステムを使用するレポジトリに
> 特有の脆弱性であり、攻撃者がランダムなメモリ内容を読み取れるように
> NTFSパスの健全性チェックを欺くことができる。

つまり、あんたの引用したそれはNTFSとは関係ない
Linuxにも影響がある脆弱性

228 :
こういう記事を見てもMSを批判することは、かっこいいことみたいだね。

GitHubからGitLabへ移行しよう
ttps://qiita.com/flmil/items/89ca07fa976546365c49
> きっかけは、Microsoftは2018年6月4日(米国時間)に、
> GitHubを(約75億ドルで)買収すると発表したことだ。

229 :
放射脳みたいなものだね
昔ちょっと失敗したからっていつまでも原子力はダメだと言うのはばかばかしい
Microsoftも確かに悪い時期はあったけど今はユーザーや開発者にとってすごくいい会社だよ

230 :
>>229
原子力は問題ですね、特にビジネスロジックの中にリスク管理が全く含まれないところが
原子力も保険に入る必要があるのですが、その保険を定義できない常況なのです

231 :
マイクロソフトはありだけど原子力はないわ

232 :
>>229
原発でマスゴミの可笑しなところは
事故前(もんじゅとか美浜とかの時代)は少量漏れただけであれほど危ない危ないって騒いでたのに
事故が大きくなると何も言わなくなったこと
今も騒ぎ続けてないと可笑しいんだが
発狂して死んでもいいレベル

233 :
どうです?原発問題とMSのgithub買収にはなんの関係もありませんが、
こうやって原発問題を批判すると、なんてことでしょう?MSがひどい会社に
見えてきませんか?これが話術というものです。

234 :
なるほど

235 :
>>228
書いたやつもコメントもアホすぎわろた

236 :
単なるアレルギーでgitlabに移行する奴は、ロクに技術選定出来ないだろうし、一緒に仕事したくない

237 :
gitlabはオープンソースにする理由がなく
逆にソースを外部に預けることができない
政治的な理由がある場合に
社内サーバーにインストールして使うものだろう

238 :
ローカルなリポジトリならなんでもいいからgitlab固有のメリットではないかな
gitlabは多機能だから他のサービスを乱立しなくても開発環境を作れるのが便利(jenkinsやめてgitlab-ciなど)
あとはブランチのアクセスコントロールは便利だと思う
本当はSVNみたいにサブディレクトリ単位でアクセスコントロールしたいけど…

239 :
社内とか部署内専用でやるならgit単独で充分

240 :
いやいやそんなわけない

241 :
オンプレミスでやるにしてもGitBucketのローカルインストール版とか使った方がgit単独より便利だぜ

242 :
Googleにお薦めされたgitの記事なんだけどなんだこれ
https://qiita.com/carotene4035/items/469569a5b5b9904f7d32

243 :
>>242
今流行りの異世界転生物ラノベやな

に作者の
「あー、人生やり直してー、今の記憶を持ったまま、レベルMAXでやり直してー」
という願望からスタートする妄想やで

244 :
単にどこまで戻るかっていうより
失敗したとこまで戻ってやり直しても
それ以降の上手く行ってる部分はそのまま継続したいっていう
みんなが持ってる願望

245 :
Git で使っている、SHA-1だけど去年位からそろそろやばいっていう感じになってきて、
object_id っていう感じで切り出しを進めていたんだけど、次の2.18 でほぼ外出しできる模様。

次の次ぐらいで、SHA-1を置き換える動きが加速するかもね。

246 :
ハッシュアルゴリズムの脆弱性が出たとき既存レポジトリは
どうにかできるんだろうか?
githubの人に会ったときに聞いとけば良かった

247 :
オブジェクトのIDが復号されたらなにがまずいのw

248 :
指定したハッシュ値を持つオブジェクトって、もう簡単に作れるのかな?

249 :
中身が何でも良ければ簡単だろ

250 :
2.18が出る直前になって、MLに  "security: potential out-of-bound read at ewah_io.c |ewah_read_mmap|"
って、セキュリティバグほどではないけど、少しやばいのが見つかって、2.18のリリースが少し遅れている模様。

251 :
gitの開発グループではハッシュ値をobject_id に切り出しているんだけど、
それ以外にもMLに "Kill the_index part 1, expose it" っていうメールが
投げられて、index を隠蔽しようという動きも出てきている。

252 :
Git v2.18.0

253 :
https://public-inbox.org/git/20180609205628.GB38834@genre.crustytoothpaste.net/T/#t
> To summarize my view, I think my ordered preference of hashes is
> BLAKE2b, SHA-256, and SHA3-256.

だって。SHA3-256.とかになるのかなー

254 :
Introducing Git protocol version 2
Friday, May 18, 2018
https://opensource.googleblog.com/2018/05/introducing-git-protocol-version-2.html

git 2.18 から protocol v2 の機能が入ってきた模様。

1) Server-side filtering of references
2) Easy extensibility for new features like ref-in-want and fetching and pushing symrefs
3) Simplified client handling of the http transport

255 :
へーすごい
https://blogs.msdn.microsoft.com/devops/2018/06/25/supercharging-the-git-commit-graph/

256 :
githubを手に入れたMSがgitにまで手を入れてくるってことだな。
まずgithubを対応させる。そしてgitの拡張プラグインを作る
git本家に対応を迫る

257 :
>>256
何言ってんのwww

258 :
>>257
サーバーサイドで処理するgitコマンドが増えるって話だよ

259 :
>>258
ちゃんと読んだ?

260 :
なにを? 俺はこれからのgitが
どうなるかって話をしただけだが?
今起こってる何かの話じゃなくて

261 :
powershell化するん

262 :
>>256
統失

263 :
MSって以前からgit に積極的じゃん

MicrosoftがWindowsのコードリポジトリをGitに移動
https://www.infoq.com/jp/news/2017/07/microsoft-windows-git

Visual Studio のgit 対応とかもやってるし。

それから、↓のJohannes SchindelinもMSの人だよね。
https://git.github.io/rev_news/2018/05/16/edition-39/

264 :
gitがWindowsのAPIに対応しないでmsys依存で動いてた期間が長かったからねえ

265 :
あとVSのgit対応はAndroidStudioに比べて酷く見劣りする

266 :
>>265
たとえば?

267 :
>>266
今時のIDEなら、ソースの編集画面で、行が修正されてたかどうか表示があるよね?

AndroidStudio はこれがカレントブランチのHEADから修正されてるかどうかを表示してくれる
最新バージョンだと、この修正されてるかどうかの表示から、行の固まりを直接コミットできたりする
add -p がソースの編集画面でできるってことね

全体的に、ソースの編集が、ファイルを編集するのじゃなくて、コミットを編集するイメージでできちゃうのがいい

268 :
>>267
それが「酷く見劣りする」のかい?

269 :
>>267
正直ニッチ需要

270 :
VSは、ファイルシステム上のソースを編集するIDEに、レポジトリを操作する機能を追加しただけ
Android Studioはレポジトリ上のソースを直接編集するIDEになりつつある

前者が一周遅れているのを酷く見劣りすると表現した
後者はニッチなんかじゃなくて、これからIDEの基本的機能になるよ

271 :
>>270
具体的に

272 :
>>271
>>267

273 :
>>270
どうでもいい機能

274 :
この辺どうでもいいって言ってる奴は、コミットする時statusやdiffで確認とかしてなそう
gitignoreも適当で何でもかんでもコミットに突っ込むタイプ

275 :
>>274
根拠のない決めつけ頭おかしい

276 :
>>270
いらない機能だね

277 :
マウント取りたいだけやろ?

278 :
>>275
>>267みたいな機能は、>>274みたいな奴には必要ない機能だからね
逆にコミットを丁寧に作りたい奴にはとても便利な機能

279 :
無駄な機能使って悦に浸りたいだけか

280 :
底辺には必要ない機能

281 :
中央管理に逆戻りしてるだけにしか思えん。

282 :
どこが中央管理?

283 :
これだからコミットオナニストは困る

284 :
糞みたいなコミットでプルリク投げんなよ
買ってもらったGithubが泣いてるぞ

285 :
ブーイモへの賛同者なし

286 :
MS が周回遅れなのはいつもの事だろ

287 :
GUIも
インターネットも
OSSも
Gitも
いつも手のひら返し

288 :
Supercharging the Git Commit Graph
https://blogs.msdn.microsoft.com/devops/2018/06/25/supercharging-the-git-commit-graph/

MSの人がGit 2.18 のcommit graph について熱く語っている。

289 :
>>288
>>255

290 :
>>288
ありがとう

291 :
>>288
thx!

292 :
>>288
この改善は、普通の規模のリポジトリにはほとんど影響無い

モジュール分けしてなくて馬鹿みたいにでかい原始的なWindowsのリポジトリをそのままGitで管理するようにしたら、log --graph の表示が遅すぎて使い物にならなくなって、しょうがないから git に対策入れたって話

293 :
>>292
よく読んでみ
WindowsじゃなくてLinuxを指標としてるから

294 :
>>293
指標にしてるのはWindowsとLinuxカーネルのリポジトリ両方だろ

Linuxカーネルリポジトリで異様に改善されてるのは branch --contains だけ
これはそんな頻繁に使うもんでもないし、ブランチ全部ローカルにpullしてくる必要もないんで特に問題にならん
log --graph 6秒も許容範囲

それにくらべて、WindowsリポジトリはGVFS使ってチートしてるのに、log --graph が24秒もかかって、
これは使ってる人切れるだろ
今回の改善でこれがなんとか5秒になるわけだ

295 :
>>294
自分に都合のいいコマンドだけ取り出すとは苦しいね
>指標にしてるのはWindowsとLinuxカーネルのリポジトリ両方だろ
Gitについては言及なしかい?

296 :
>>295
Git のレポジトリが普通の規模のリポジトリ
コマンド1回あたり数百ミリ秒が数十ミリ秒になったって意味ない
だからほとんど影響無いって >>292で書いてる

俺にとって都合の悪いコマンドのことを書いてくれない?

297 :
>>296
どうやら数値が目に入らないようだ

298 :
>>296
お前が許容できるかどうかじゃなくて純粋に数値を見なさい
6秒近くかかってたのが1秒もかからなくなることに価値を見いだせないならこの業界向いてないよw

299 :
>>297-298
Linuxカーネルで6秒が1秒になったのなんて、Windowsリポジトリで24秒が5秒になったのに比べれば全然たいしたことないな
6秒を問題とするなら、Windowsリポジトリが5秒になったのなんて全然問題解決してないじゃん阿保かと

300 :
git使っててコマンドライン操作にこだわるのはいいけど
コミットグラフ意識してないひとマジでちゃんと勉強してほしい

301 :
なにをどう意識すりゃいいんだっけ?

302 :
>>300
意識したらどうなるの?

303 :
>>300
ちゃんとコマンドラインにこだわってる人は、
log --graph --branches --remotes --pretty=format:〜
とかを使ってコミットグラフ表示を見てると思うけどね

304 :
>>299
阿呆はお前やろwww
悔しかったらお前もGitのパフォーマンス改善してみれば?

305 :
>>299
これをたいしことないと思えるとはすごいな
仕事でもいまだにXPのRAM2GBとか使ってそう

306 :
>>305
巨大なレポジトリで頻繁に log --graph 見るようなときはローカルブランチで作業中とかなので、コミット範囲指定すれば一瞬で結果返ってくるし特に気にならない
いま試しにlinuxカーネルレポジトリクローンしてみたけど、master上だと確かに数秒かかるけど、ローカルブランチからならコミット範囲指定して一瞬だわ

307 :
ストップウォッチで6秒を誤差1秒以内で押せる人だけが、
速くなったすげーすげーと喜びなさい

308 :
pullするときにガンガンマージコミット作る人とかいるやん?
ちゃんと設定しといてほしい

309 :
>>308
何を?

310 :
>>309
git config --global --add merge.ff false
git config --global --add pull.ff only

311 :
>>310
その設定嫌いだから断る

312 :
addやcommitする際に特定の文字列が含まれているフォルダ以下を除外する方法を教えてください
datasets-XX、datasets-YYのようなフォルダを除外したいです

313 :
.gitignore じゃなくて?

314 :
.gitignoreに*datasets*と書いたんですけどadd *とやると無視してくれませんでした

315 :
>>311
この設定が嫌って、、
gitをSVNみたいに使ってるところとか?
こわい

316 :
>>315
押し付けがましい変な奴

317 :
>>314
すでにコミットされてるファイルが存在するフォルダは.gitignoreに追加しても無視できない
それをあえて無視したい場合には以下のどっちかを使うんだけど
git update-index --assume-unchanged
git update-index --skip-worktree
どっちを使うべきかは git update-index でググってみて

318 :
プロはgit pullなんか使わない

319 :
>>318
そんなこと言ってるやつがいたら、そいつはプロじゃない

理由が上から目線で馬鹿はミスするから使うなだったら
完全にアウト。自分(ミスした本人)が理解してない証拠

320 :
おれも普段はfetchとmerge使って
pullはffが確定してる特定条件でしか使わんなあ

321 :
fetchとmergeで済むならpullでいいだろw

322 :
例えばmvはcpとrm使ってやれるけど、mv使うでしょ?
それと同じだよ。楽な方使え

それにgitのよくある使い方は、pullしたブランチにコミットを追加するのではなく
新たにそこからブランチを切って作業する。
そしてpullしたブランチっていうのは通常他人の作業ブランチ。
だから他人がコミットを追加する。

つまり何が言いたいかというと
1. pullしたブランチは、他人の手によって成長する
2. 自分はそのブランチにコミットを追加しない
ということなんだから、ffは高い確率で確定している
多くの場合はgit pullでOK(--ff-onlyつけときゃffできないときエラーになる)

fetchしてmergeは、cpしてrmするのと同じで、無駄な作業をやってるだけ
そういうのは丁寧な作業でもなんでもないから

323 :
merge するときだけ fetch するわけじゃなくて、上流の状態を確認するために fetch は頻繁にやってるのよね
だから merge するときも、まず fetch してブランチの確認してから、問題なければ merge する手順でやる

あと >>322 は、今の一般的な git の使い方とは思えない
他人の作業ブランチをpullするとか自分のとこじゃかなりレアケースで、mergeするのはmasterなりdevelopとかの上流のブランチなことがほとんどだよ

324 :
mergeするのは
自分の作った自分だけがコミットするフィーチャーブランチを
他の人とも共有して使うブランチにマージする時、
っていうのが多いよね

フィーチャーブランチを作ったのがだいぶ前でも
コンフリクトがなさそうなときは
masterブランチのヘッドにリセットハードしてからフィーチャーブランチをマージ、
コンフリクトしまくる場合はいったんmasterブランチをフィーチャーブランチにマージしてコンフリクトを解決してからmasterブランチにマージ、
時間あるときはリベース
そんな感じじゃないの

325 :
>>324
だいたいそんな感じだけど、masterのヘッドにリセットハードってチェックアウトじゃダメなの?

326 :
>>325
実は>>324に書いてる方法はあまりやらず、本当はpullしない派なので、、
異端なのかな、、

fetchしまくって常にmasterブランチの動向を監視、
他の人の作業でmasterブランチが成長してきてmergeできなさそうになってきたら
再度フィーチャーブランチを作って
元のフィーチャーブランチの作業をすべてチェリーピック、
フィーチャーブランチの作業が終わればmasterブランチの先端に合わせて(リセットハードして)フィーチャーブランチをmerge
こんな感じ

327 :
>>323
> 他人の作業ブランチをpullするとか自分のとこじゃかなりレアケースで、mergeするのはmasterなりdevelopとかの上流のブランチなことがほとんどだよ
master、developも含めて、他人だよ。

masterやdevelopに自分が直接コミットすることはない。
このブランチからはgit pullするだけ。
そしてそれは常にffになる。ffにならないのは異常事態
誰かがとんでもないミスをしたということ

ffになったかどうかはgit pullのログ見てればわかることだし
--ff-onlyつけてれば、ff以外は弾かれる

つまりは、あんたは
fetchして問題ないか"毎回"確認してmergeしてる
俺はgit pullして"問題があったときだけ"確認してる

328 :
俺の場合

> fetchしまくって常にmasterブランチの動向を監視、
git pullしまくって常にリモートのmasterに
ローカルのmasterを追尾

masterが変更されるたびに、
フィーチャーブランチをgit rebase master
マージできる場合は、git rebase masterは成功する
コンフリクトが起きればマージできないということ
「mergeできなさそう」なんて曖昧な判断はいらない
コンフリクトを解決すれば、当然またマージできるようになる



ただしプルリク出したあとは、他の誰かがレビューしたってことなので
その作業が無駄(分かりづらく)にならないようにmasterをマージする方法に切り替える
(masterをマージすることで逆に分かりづらくなる場合はgit rebase masterする場合もある)

329 :
>>326に書いてある

> 再度フィーチャーブランチを作って
> 元のフィーチャーブランチの作業をすべてチェリーピック、

git rebase master一発で↑これ相当のことをやってることになる

>>326はmergeできなさそうになったらやると言ってるが、
俺はmasterが変更になるたびにやってる。
git rebase masterならそれが可能。しかも簡単。

330 :
>>327
別にpullが失敗するかどうかだけを確認してるわけじゃない

masterからブランチ切るときとか、masterにマージするときには、origin/masterの状況がどうなってるか確認したいからまず fetch する

331 :
>>328
fetch はフィーチャーブランチがカレントブランチのままできる

いちいち master を checkout して pull しまくるとかマゾなの?

332 :
>>331
じゃあお前どうやってんの?

333 :
あ、なんだ。masterをfetchしまくってるマゾだったかw

334 :
ごめん。masterをfetchしてmergeしまくってるマゾだったねw
絶対ffは成功するのに、わざわざfetchして確認(何を?w)してから
mergeしてご苦労さんw

335 :
fetchはカレントブランチに関係無く、すべての上流ブランチ取り込めるの知らないの?

336 :
>>335
え? まさか、masterにcheckoutする作業、
つまりgit checkout masterって叩くのが面倒って
だけの話をしてるの?
え?まじでコマンド操作が苦手なだけってオチ?

337 :
カレントブランチ変更はいろいろ面倒だから頻繁にはやりたくないけど、
originの状態は常に把握しておきたいから fetch を使う
そして fetch 済みなら pull 使う必要もない
これだけのこと

338 :
>>336
お前ほんとにgit 使ってプログラム書いてる?
コミットしてないファイルとか整理せずに checkout いきなりすんなよ

339 :
あと自動ビルドとか文法チェックとかcheckout 契機にはじまってしまうからな
頻繁にはやりたくない

340 :
>>337
うわwww
ローカルにリモートのブランチを持ってこないとか言い出した。
そうかお前、ローカルのmasterブランチないんだね。リモートのmasterしかないんだね。
すげー変な使い方w


>>338
コミットすりゃいいじゃん。
他にもstashすればいいし
何いってんの?gitの使い方知らないの?

341 :
>>339
> あと自動ビルドとか文法チェックとかcheckout 契機にはじまってしまうからな

自分で間違った使い方した上に、
自分で自分の首を絞め、
そして自分に文句を言ってる図w

342 :
checkout時に、自動ビルドや文法チェックなんて
する間抜けはまずいないから、ネットでググったら
すぐこいつ見つけられそうw

343 :
>>340
>>337のどこにローカルにリモートブランチ持ってこないなんて書いてあるんだ?
必要なときにはローカルに反映させるが、それを頻繁にはやらない

344 :
>>342
IDEが自動ビルドとか文法チェックやってる
checkout して内容変われば当然やり直す

IDEじゃなくてもバックグラウンドでそういう監視プロセス動かすことも多い

345 :
>>340
リモート確認するためにstash やコミットするとか
やっぱりマゾか

346 :
pull じゃなくて fetch しておくとどんな差分が落ちてきたか diff origin/master とかで見れるから便利だったりするお

347 :
自分の作ったフィーチャーブランチすら複数同時並行で作業が進むことだってよくあるんだから
いちいちローカルのmasterブランチの位置がリモートと比べてどうなってるかチェックしたってよくない?

348 :
>>347
したってよいの?

349 :
よいよね

350 :
fetchに課金されるわけじゃないんだから好きにしたらいい

351 :
>>345
リモート確認すればいいだけでは?

352 :
ギットハブには来ない
投げっぱなしの外注先
branchもない
mergeできない

353 :
git使ってプログラムかいてるだってwプププw

354 :
gitを使うことが目的になってる人たちがいるからレスバトルで荒れるね

355 :
たとえ荒れてても建設的な議論が出来ればそれでいい

356 :
でも残念ながらくだらないマウントの取り合いなんだよね

357 :
>>356
おまえいつもくだらないマウント取られてるよなwアホなん?

358 :
>>352
山下達郎来た

359 :
これまでひとりでプログラムかいてたのでバージョン管理ツールを使ったこと無く
チーム開発業務でgitを使うことになったのでいくつか質問させてください

ブランチ チェックアウト コミット プッシュ

の流れでやってくださいとはいわれたんですが
それぞれがリモートローカルどっちで何がおこるか正確にわかってなくて
万一社内のファイル破壊したら怖いので
対応するコマンドとリモートローカルどっちにどんな影響があるか知りたいんですが

gitの使い方を説明するブログってまずローカルにファイルを作ってプッシュするところからはじめてるものばかりなんですが
最初からリモートに社内のファイルがあってそれを更新する場合initは不要なのでしょうか

cloneはread onlyでbranchではなくリモート側に何の影響もないであってますか?

branchはローカルで行うものでリモートには影響はあたえませんか?

デバッグ等には設定ファイル等複数のファイルを更新するんですが
最終的にリモートに反映させるファイルを1つだけにすることって可能でしょうか

その場合どの段階でどうやってファイルを限定すればいいのでしょうか

あとBitBucketっていうアカウントを作るよう指示されたんですがGitとはどういう関係があるんでしょうか
リモートのおき場所を提供してるクラウドサービスぐらいの認識で
すでに社内ファイルがおかれてる場合はウェブ上の作業は必要なく
ローカルでgitコマンドを叩くだけで大丈夫でしょうか?

具体的にコマンド含めて教えていただけるとありがたいです
初歩的な質問ですいませんがよろしくお願いします

360 :
>>359
プッシュさえしなければ何してもOK
プッシュする前に何をプッシュしようとしてるのか必ず確認すること

361 :
branchやcheckoutを行っただけでは
リモート側にはそれを行ったことすら通知はされないってことで大丈夫でしょうか?
間違って(必要のないファイルまで)branchやcheckoutをしても
やり直したり取り消したりすることはできるということでしょうか?

362 :
>>361
プッシュさえしなければ何してもOK
プッシュせずにいろいろ試してみて

363 :
すばやい返答ありがとうございます
とりあえずコミットまですすめて
pushするときだけリーダーに確認とってみます

364 :
BDR

365 :
リモートブランチとローカルブランチの使い分けについて教えてください。
よく推薦されているブランチとしてmaster、develop、feature、release、hotfixがありますが、これは全部リモートブランチに作るものなんでしょうか。
例えばf1という機能追加を行いたい場合、どのようなフローになるのが適切でしょうか。
・masterからdevelop/d1をブランチ
・develop/d1からfeature/f1をブランチ
・改修
・feature/f1をdevelop/d1にマージ
・develop/d1からrelease/r1をブランチ
・リリース作業
・release/r1をmasterにマージ

上記で問題ない場合、普通に使う分にはローカルブランチの出番がないように思えます。
そもそもfeatureブランチはローカルに作るものだったりするのでしょうか。

GitHubとかのWebサービスは使わずに自社内完結で開発者10人以下のプロジェクトです。

366 :
ローカルブランチなんて自分の作りたいように作ればいいよ
プッシュさえしなければ何してもOK

367 :
>>365
featureやhotfixをリモートに作るかどうか、リモートにpushするかどうかは、ツールや運用依存だと思う
でも普通はdevelopやmasterにマージする前にレビューするだろうから、pushすると思うけど

368 :
いまプロジェクトのドキュメントファイルがあって
それをbitbucketでかきかえてほしいって指示されてるんですけど
具体的になにをすればいいんでしょうか

gitの仕組みはウェブ上でいろいろよんではみたんですが
ファイル単位で具体的にどこにどういうことがおこるのかが分からなくて怖くて何もできてない

いまアカウント登録してリモートリポジトリがみえてる状態なんですが
bitbucket上の画面で何をすればいいのでしょう
コマンドでcloneをたたいてローカルにファイルをコピーするのはブランチとは違うのでしょうか?

まる2日かかってドキュメントを編集するところにすらたどり着けなくて情けなすぎる…

369 :
何をどうすればいいのかわからないとリーダーに相談したら?

370 :
単にbitbucketの使い方聞きたいならスレチ

371 :
結局まる1日かけて何ひとつできなかった
Git難しすぎる
世の中のエンジニアさんってみんなこんな難しいもの独学で自然に覚えられるものなのか
自信なくなってきた

372 :
github使い方知りたいのに書籍はどれもSourceTreeの解説ばかり

373 :
>>367
やっぱそうですよね
ちなみにローカルfeatureに何度かコミットしたブランチをリモートにマージした場合でも最終コミットの情報だけがマージされると思ってて良いのでしょうか

>>371
自分は試せる環境もないのにsvnからgitの移行提案書書かされてます
マージとリベースとかやってみないとイメージ湧かなくてほんと困る、、、

374 :
>>373
git試す環境とかVMのLinuxにGitbucketインストールしてみるなりGitHubの無料アカウント作ってみるなりすればいいだけだろw

375 :
>>372
『Pro Git』読めばいいんじゃ?

376 :
>>374
まずクラウドサービス使うのと仮想立てるの禁止だし
アプリインストールも申請しないとダメだしでかなり厳しい
ライセンスでいろいろ問題があってから申請もまともに通らないです
こんな会社うちぐらい?
普通は気軽にクラウドや仮想使えてるのかな?

377 :
何なのこの糞ツールほんと

ブランチはローカルでやるものだと思ってたらウェブでやるのかよ…
clone fetech branch checkout の違いもまったくわからないし

朝9時から17時間かかってようやくコミットまでいけてプッシュできたと思ったら
プルリクエスト作れとか意味わからん指示きた

プッシュならわかるけどなんでプルするのに承認がいるんだ?

378 :
>>377
gitの話題ではないのでこちらへどうぞ
OSSホスティング総合【SourceForge,GitHub,etc..】
http://mevius.2ch.sc/test/read.cgi/tech/1384821518/

379 :
>>377
糞なのはツールじゃなくてお前の頭やろ

380 :
>>378
すまんまじで煽りなのかまじなのか分からんのだが
gitの話題じゃないってどういうことなん?
理解できてないから検討はずれなのかもしれんけど自分はgitの話してるつもりなんだが
gitコマンドってこのスレでいうgitとは違うのか?

結局分かってるやつにわからんやつの何がわからんか理解できない典型的な糞ツールだな

ウェブ調べてもどや顔で説明かいてるやつは分かってるやつしか分からない説明ばかり
クローン ブランチ フェッチ チェックアウト プル マージ とか全部同じような説明してるし
リモートローカルどっちのデータが変わるのかタグだけがかわるのか何もかわらないのか説明してるのがほとんどない

addも最初意味わからなかったし直感的に理解できんのコミットぐらいしかないわ

381 :
>>380
プルリクエストはGit関係ねーよ

382 :
プルリクエストはgitの機能ではない
ホスティングサービスが独自に提供してる機能

383 :
ああ そういなのか

プルリクエストしたら1箇所なおしてっていわれたから直したんだが
git log みるといままでの人もほとんど1人1回のコミットしかしてなかったし
コミット履歴が多いのださいからと思って1つ前のコミットのリセットをして新しくコミットしなおしたんだよ

そしたらプッシュできなくなったんだよ
プッシュしたコミット履歴がないと別のブランチにみえるからコンフリクトってのをおこしたのか?
何となくやっちゃだめなことやったってのは分かったわけ

だからプッシュした状態のデータに戻してからもう1段階修正してこみっとすればいいんだと思うんだけど
プッシュしたデータをローカルに復元するのがどうやってもできないんだよ

クローン ブランチ フェッチ チェックアウト プル マージ どれ使えばいいんだよ
まじで睡眠時間削ってもう数十歳とよみまくってるけどまったく理解できない

384 :
>>376
自宅で勉強

385 :
バカには使えないツールなんで……

386 :
プログラマがバカでもなんとかなった(ように見えた)のはgit登場より前まで。git以後はバカにはプログラマは務まらなくなったし、SEより高いカネ積んでも雇えなくなってきてる。

387 :
睡眠時間削って数十歳読んでも分からんのは逆にすごい

388 :
>>376
クラウドはともかくソフトウェア開発でVM禁止とか信じがたいな
仕事にならんやんか

389 :
最近VirtualBOXが禁止になったな。
標準インストールされるUSB周りのプラグインが有償ものだったらしい。
VMware workstation playerも有償だから、貧乏プロジェクトはこまって
10年くらい前の廃棄予定PCかき集めてたな。

390 :
Windowsの標準機能のHyper-Vでええやん

391 :
そんなケチなところがproなんか使ってるわけない

392 :
dockerでいいやんと思ったが、Windows環境だとHyper-V必須か

393 :
cloud9でいいやん
もうPCに仮想環境とかいらん
ハワイで遊びながら夜にホテルのベランダで開発したい

394 :
>>393
githubの使い方分からんと言ってる奴がなに言ってんだw
>>372

395 :
>>386
つまりおまえはプログラマー諦めたんかw

396 :
だれかまじでたのむ
1時間1万はらうからリモートのファイル更新する方法おしえちくり

つーかgitスレの住人つめたすぎね?
他のスレはきいたらなんだかんだで教えてくれんのに

397 :
>>396
普通にコミットしてプッシュで良いやん

398 :
>>396
あとさ、とりあえず自分のドロップボックス内とかさ、もしくはgithubとかにリポジトリ作ってオレオレgitで試せば良いんじゃない?

399 :
clone、pull、push 試すだけならネットワークすらいらんで
ローカルディレクトリ指定で clone すればいい

400 :
>>396
コミットしてプッシュするだけなのにそれができない意味が分からないんだよ

401 :
ちがうの
>>383をよんで
異常事態なの

1回目にpushしたときのコミットをresetしちゃったん

だから1回ローカルをリモートの状態に戻したいんだけど戻せない
fetchしたらdivergeしてるっていわれるの
もうなにがなんだか分からない

402 :
>>401
cloneし直せ

403 :
>>401
最初から全部やり直せ
中途半端に push したのはご主人様に言えば掃除してくれる

404 :
>>402
え cloneでいいの?
ちょっと試してみる

405 :
git分からん奴が何でgithub使ってんだ・・・OSDNでも使ってろよ

406 :
git push -f すればいい。
自分が管理するブランチの歴史を書き換えて
強制pushするのはよくやること

407 :
>>401
intellijとかのGUIクライアント使ったほうがいいんじゃない?
履歴とか差分とか見ながらのほうが把握しやすいと思う。checkout & revertも簡単だし。

408 :
>>377
> clone fetech branch checkout の違いもまったくわからないし

409 :
この場合はcloneし直してpushしてあるはずの自分のブランチをpullするのがいいだろ

410 :
cloneしたら書き換えた内容全部きえちゃった;;
泣きそう;;

設定ファイルめっちゃっかきかえたのが全部なくなった…

でもとりあえずpushはできたのでありがとうございます

411 :
ていうかcloneするときブランチ名一文字もいれてないのに
どのブランチをコピーするかってどうやってきまってるの?
リモートにはマスターと自分がブランチさせた2つがあるんだけど
それぞれをクローンしたいときってどうやって指定するの?

412 :
いやなんでバックアップしてやらない

413 :
git addしたのしか書き換わらないと思ってた…

ソースと設定ファイルがあって
設定ファイルは各自の個別設定なのでpushしちゃだめなやつだから
かきかえたソースだけaddしたのに設定ファイルまで上書きされちゃった

addってgitが管理するファイルを選ぶコマンドじゃないの?
糞ブログども嘘ばっかり書きやがる

414 :
ソースと設定ファイルについて詳しく説明してくれ
何を言いたいのか意味がわからん

415 :
あと、糞ブログがいやなら、ほぼ公式マニュアルである git-scm.com のページだけ参考にすればいい
git clone について調べたいなら git clone site:git-scm.com だ

416 :
使うファイルに設定ファイルAとドキュメントBがあって

Aは最初は汎用設定だけかかれてて自分の環境にあわせていろいろ追加して使うファイルで
リモートには変更しちゃだめなやつ

Bは今回かきかえてアップデートするファイル

Aをがんばってかきかえて動く環境つくってBをかきかえてBだけをプッシュしたんだけど
みんながクローンしなおせっていうからしなおしたらAももどっちゃった
もどして;;

417 :
糞ツールのせい
糞ブログのせい
みんなの言うとおりにしたら失敗した
ぜーんぶ他人のせい

418 :
そもそもcloneって新しくローカルコピー作るだろ?
その前の(pushしようとした)作業コピーはどこやったの。

419 :
よくわからない
とりあえずもう終わったのでもういいです
また月曜日に設定しなおさなきゃいけないけど…

420 :
gitにはそういう設定ファイルを安全に維持する方法があるけど
おまえは馬鹿で何が起こったか理解しようとしないから
いつか大失敗してクビになってください

421 :
こんな無能が本当にプログラム書けるのかよw

422 :
>>401でローカルをリモートの状態に戻したいって言うからcloneしろって教えたのに、なんでリモートの状態に戻ったことに文句付けてんだよw

423 :
まあ、いい経験じゃね?

・『Pro Git』読む
・プロジェクトリーダーとかに聞く
・Gitクライアント使う

とかすれば?嘆いてるだけじゃ何も生まんよ

424 :
>>419
だからintellij使えって。
お前にゃcuiは早過ぎる。

425 :
むしろdiffとpatchからやるべきでは
で、cvs, subversion, darcs, mercurial, fossile, veracityと進む

426 :
https://forest.watch.impress.co.jp/docs/special/1131501.html

MSがWindowsにどうでも良い機能を短期間に大量に追加するようになったのは
Gitが遠因なのか?

427 :
昔からのMSの伝統芸

428 :
>>426
Sets便利そうでいいね

429 :
ブランチにマスターの変更を取り込むにはリベース?チェリーピック?どうすればいいの

430 :
リベースはやってはいけないものと教え込まれて育ってきたけど正しい?

431 :
gitのコマンドは必要だから搭載されている
やってはいけないものなどない。
会社のレベルが低いということだな

432 :
何もかもなかったことにするのがリベースだよね?
そんなことが許されるの?

433 :
>>432
なんのために間違った作業を残しておくの?
何に使うのかを言って

434 :
>>433
「間違った作業」という判断が間違いだったときのため。

435 :
>>434
なら「間違った作業」のブランチを別に作ればいいだけ

436 :
何も無かったことにするためにリベースを使うのは
ちょっと特殊な用途だと思う

437 :
なかったことにするのはreset --hard

438 :
>>432
リベースはフィーチャーブランチを作り直すために使うんじゃないの
何もなかったことにするというのはだいぶ違うと思う

439 :
>>437
リセットハードしても何もなかったことにはならんでしょ
リセットハードする前にそこでブランチ作ったり
単にハッシュ覚えとくだけでもガベージコレクション前なら戻れるし
ある時点にリセットするっていう
そのままの意味でいけますやん

440 :
ここでなかった事にすると言ってるのは、コミットの履歴上でのことでしょう

441 :
間違えてパスワード入ったままpushして
元に戻したいっていうのが一番多い案件

442 :
そんなわけないだろ

小さくコミットをして言って、途中で不要なコミットを
なくしてレビューしやすくするのがrebaseの目的

このコミットでコードを修正しました。
その修正の際に入れたタイポを直したのが
このコミットです(ドヤー)とか見せられても
誰も嬉しくないんやで

443 :
>>442
これあるわー
フィーチャーブランチの中で作ったデグレを修正したコミット履歴とかいらんねん

444 :
>>442
squash

445 :
squashは全部まとめるものだからだめ

446 :
リベースしたら分岐元のバージョンが新しくなるだけじゃなくて
過去のコミック履歴も消えるの?
消えた履歴はもうたどれない?

447 :
コミック?

448 :
リベースする前のフィーチャーブランチの先端のハッシュIDが残ってたらそこでブランチ作ったりできるしなんとかなるよ

449 :
一応見といて

2018年6月請求の不使用取消審判について

2001年以降、我々のオープンソース商標に関しては特に大きな変化はありませんでしたが、
先月18日に一部の指定商品に対して不使用取消審判が請求されました。
請求人は「[https://opensauce.co/株式会社OPENSAUCE]」(金沢市)であり、
料理レシピを共有するプラットフォーム提供などを行う事業を計画している会社のようです。

https://mag.osdn.jp/18/07/30/220000

450 :
2018-07-31
GCCのgit移行が難航中
https://cpplover.blogspot.com/2018/07/gccgit.html

451 :
>>450
別に30年分の履歴を全部覚えておく必要もないだろ

452 :
歴史は大事

453 :
jdkがgitに試験的に移行
https://github.com/Project-Skara/jdk

454 :
アメリカと日本はなぜ太平洋戦争で戦うことになったの?
http://www12.plala.or.jp/rekisi/taiheiyou-amerika.html

455 :
設定ファイルの中にパスワードが入っていてどうしても別ファイルに分離できない
なにかやり方が無いか探したら、フィルタを作る方法があるようだな

http://blog.davydovanton.com/2015/11/14/ignore-file-lines-in-git/

456 :
Git 2.18がGitプロトコルバージョン2のサポートを追加
https://www.infoq.com/jp/news/2018/08/git-2.18-v2-protocol-commitgraph

457 :
>>456
最後の一文

公式リリースノートでGit 2.18の全機能一覧を読んでください。

458 :
バージョン管理ツール「Git」は一体どういうものなのか?
https://gigazine.net/news/20180904-git-version-control-system/

なんでgigazineがgitなんか解説してんの?
ライトなIT系ニュースサイトのお前には力不足だろうに

459 :
訂正

どうでもいいコンピュータ関連の話題紹介サイトのお前には力不足だろうに

460 :
違うな

ナードが好きそうな話題紹介サイトのお前には力不足だろうに

461 :
GIGAZINE以上の内容が書けて拡散できるお前がやれば?

462 :
>>461
あの程度のgitの説明なら、誰でもかけるだろうなw
でもそんなのすでにたくさんあるからやる必要がない。

463 :
NGID:ROt4XEkp0

464 :
へーんしん!

465 :
あ、ファイルダウンロード中だったw
しばらくしてからIPアドレス変更するよ

466 :
gigazineω
わかなちゃんの方が優秀

467 :
結局IPアドレス変更するの忘れた。
日付が変わると同時に変えるとしよう

468 :
自分より立場が上で途中から加わった人が”タイムスタンプが変わるのとファイルがロックできないとから使い物” <意訳>にならん。
GITからZIP管理にしようと言い出した。
どう説得したらいい? 

469 :
もっと上の人と話する

470 :
マージ最強
ロックはクソ

タイムスタンプはビルドシステムがファイルの変更に反応するのに必要

471 :
Git LFSのロックとか
ロックのあるSVNにしようじゃなくてzipかよ

472 :
ホントにzip強制されるようなら転職不可避だな。
git以外でもろくでもない判断が下されるに違いない。

473 :
これやってトラブっても何も責任もてんがw

1. gitのメリットを言ってもらう
zipのメリットなら色々屁理屈言ってきそうなので
gitのメリットを言えないなら、それは無知であることを自覚させられる

2. gitのメリットの話と、人間の問題を切り分けて考えてもらう
gitのメリットがわからないのか、わかった上でそれを使う人間の技術力が低いから使えない
という話なのか、どちらかなのかはっきりさせる

474 :
3. 学習コストが云々言われたら、学習による開発効率向上による
コスト削減と比較してみたのかを聞いてみる。
コストコスト言うやつほど、"比較"をしてない。

コストは何をしてもかかるものなので、コストがかかる
っていうのは何の意味も持たない

475 :
>>468
ZIPでロックってどうやるの?

476 :
旭化成に聞け

477 :
>>470
たぶんそういう理由じゃないかと

478 :
タイムスタンプは記録されているものを反映させればいいだけだから
zipなんかよりも完璧に管理できますって言えるな。

もちろん開発中はタイムスタンプを更新しないと不具合が発生するので
絶対にやらないこと。あくまで馬鹿向けのためのできると示すため

479 :
上司はmakeも使ったことなさそう

480 :
上司の上司に言って無能上司を更迭するしかない。
あるいは逃げるか。

481 :
どうぞどうぞでいいんじゃね?
メリットを享受する人間に実行してもらうのが吉。
俺はそれでもgitを使い続けるし、zipにしろって言われても無視する。(誰も困らないし。

482 :
>>481
要するに最終的にお前が会社を辞めるという結論でしょ?

483 :
468です。
みんなありがとう
その人には、自分の修正だけやってもらってGITでの管理は私がマージ&コミットすることになりました。本人は、VSS(ソースセーフ)にしたいらしい。

484 :
【このハゲ―、麦だろ】 TPPに米と毛が駆逐される  <農林10号>  頭髪すら枯らせるモンサント
http://rosie.2ch.sc/test/read.cgi/liveplus/1536286354/l50


ピザデブ、ピザハゲ、ピザ糖尿。

485 :
VSSか
Window10ではもう動かないんじゃなかったっけ

486 :
http://medaka.2ch.sc/test/read.cgi/prog/1531667040/
の39〜48あたり

VSSは遅いだけではなく破損するって時点で致命的
共有フォルダに毛が生えた程度のものと考えると良い

マージはあるみたいだが基本的に結果を確かめられないので博打になる

487 :
ブランチあったらどうやってロックするんだ?

プログラミングではしばしば複数のファイルを編集する必要があるが
どのファイルを編集するのか全て作業前に把握して
全部ロック掛けるってのもむり

あ、このファイルも編集しないと
って思ったらもうロックされてたり

互いに同じファイルをロックしようとして作業が止まったらどうするんだ
相手が作業終わるまでサボる?
何ロックしてやがんだ!と文句を言いに行く?

ロックしたまま忘れたらどうする?
ロック無理やり解除して横取り?

488 :
>>487
質問する前にVSSの仕組を調べたら

489 :
>>482
まあ、それでもいいと思ってる。

490 :
>>487
そもそも、ロックなどされない!

各人はリポジトリから、最新のファイルをダウンロードして、
自分の(ローカル)PC 内で、更新・保存するだけ

つまり、Git は、他のVSS と違って、一旦ローカルPC に、更新・保存しておく段階がある。
そして、切りの良い所で、それをリポジトリにアップロードする

そのアップロードは他人にも報告されるから、
アップロードされた最新のファイルを、ダウンロードし直せばよい

491 :
VCS = Version Control System
VSS = Microsoft Visual SourceSafe

492 :
Girのマージでロジックが変わってしまうパターンってなんかある?
VSSロックは官公庁の開発では割とアリだなと思ったよ

493 :
>>492
あるよ。(だからマージされた後自動テストを走らせる)

例えば一つのブランチで、ファイルの上の方に
#define VALUE 100 という定義を追加する。
ずっと下の方で、VALUEを参照したコードを書く。
もちろんテストは通る


別のブランチで、ファイルの中頃に
#define VALUE 200 という定義を追加
そのすぐ下で、VALUEを参照したコードを書く
もちろんこれもテストは通る

この2つをマージすると

#define VALUE 100
#define VALUE 200
VALUE=200を期待しているコード
VALUE=100を期待しているコード

となる。

gitに限らずどんなものでもブランチ単体では問題ないし、
コンフリクトも起こさずにマージできるが、
テストに失敗してしまうことはある

494 :
2.19.0

495 :
>>490
むしろロックでの開発が分からんって話なんだけど

テキストファイルを一回の作業で一個だけ編集する
ブランチは無し
って状況でも無けりゃ使えなくね

さらに
VSSは複数のファイルを同時にコミットみたいな機能が無いみたいに書いてあったけどまじ?

496 :
>>495
VSSにブランチの概念はない

497 :
Git v2.19.0

498 :
Highlights from Git 2.19
https://blog.github.com/2018-09-10-highlights-from-git-2-19/

499 :
「Git 2.19」リリース
https://mag.osdn.jp/18/09/11/155000

500 :
>>495
人間から見た操作的には同時コミット(チェクイン)可能ではあるが、履歴は基本的にRCS/CVS的なファイル単位の差分管理のみ。

501 :
Now available: Git for Windows 2.19, including experimental built-ins for rebase and stash that make them both much, much faster! https://gitforwindows.org/

502 :
共有用なんかで作るベアレポジトリって、中身はHEADとかbranch/とかばかりで、実際に管理しているファイルは入ってませんよね
git ls-filesしても、なにも出てきません

そのベアレポジトリで管理されてるファイルの一覧を見る方法を教えてください

cloneすると、管理しているファイルもclone先に作成出てきますが、そうて'はなく、コマンド等で確認したいです

503 :
git ls-files in bare repository

https://stackoverflow.com/questions/25906192/git-ls-files-in-bare-repository

504 :
>>503
d

505 :
>>453
こっちになった
移行じゃなくてミラーだけど
https://github.com/openjdk/jdk

506 :
Git 2.14.5, 2.15.3, 2.16.5, 2.17.2, 2.18.1, and 2.19.1

507 :
CVSとかsubversionでブランチを作るのはgitに比べると遅いといわれる理由は何なんや

gitではブランチはコミットオブジェクトを指すだけの参照だから、ブランチを作成するには、コミットオブジェクトを書き込むだけで済むから高速というのはわかる

一方CVSやsubversionではブランチをどうやって作ってるんや(´・ω・`)

508 :
CVSは知らんがsubversionのブランチってほぼファイルコピーみたいなもんだからじゃない?

509 :
svnはブランチ作るだけなら言うほど遅くないと思うがな。
ブランチ作った時点では差分がないからファイル内容はコピーされないで参照ができるだけだよ。
それでもgitよりやることは多いだろうけど、ブランチ作るのもリモートリポジトリ操作だからってのが一番大きいんじゃないかな。

CVSはRCSというdiffファイルで世代管理するツールがベースになっている。
リポジトリもRCSそのままのdiffファイルに毛が生えたようなテキストファイルの束だから遅いと聞けばそりゃまあそうだろうと思う。
当時のPC環境が今より数段遅かったというのもあるがローカルで使っても遅かった。

510 :
>>507
subversionはブランチはリモートに作るもの
ローカルだけでは作れないので遅いし
ネットワークがつながってないと使えない

511 :
新たなGit Submoduleの脆弱性にパッチが当てられた
https://www.infoq.com/jp/news/2018/10/git-submodule-vulnerability

512 :
>>511
Windowsは関係ないやつだっけ

513 :
ブランチ作成でファイルを全部コピーするのはVSSぐらいだろ?

514 :
>>513
VSSにブランチの概念はないが

515 :
>>514
ファイルの共有および分岐、マージ機能
https://msdn.microsoft.com/ja-jp/library/cc844084.aspx

516 :
VSS使ってる人を見たことが無い

517 :
>>516
ここにいるよ

518 :
見えねえよ!

519 :
GitHubを使ってみたくてGit勉強してるんだけど
GitがGUIで使えるような奴はなんか欠点あるの?Windows環境とかでもCLIでやってる人が多いのはなぜ?

520 :
日常的によく使う操作はIDE使った方が早いけど複雑な処理になったらCUI使わないとできなかったりするね
要は使い分け

521 :
>>520
逆じゃないかな。
日常的にやってる操作はCUIの方が楽でしょ。
変遷をグラフィカルに表示して一望したかったりする時にGUIが大いに役立つ。

522 :
要は使い分けだよ
CUIが必要なければ使わなくていいし
とりあえずはCUIで勉強するのがおすすめ

523 :
>>521
ほんそれ
CUIで充分

>変遷をグラフィカルに表示して一望したかったり
githubのnetworkで観てるわ

524 :
なるほど
みなさんありがとう

525 :
>>521
グラフを見るなら
git log --oneline --decorate --graph --branches --tags --remotes

https://qiita.com/imudak/items/4a8549b46fe2e509a08c

526 :
どうしてもキャラクタ表示じゃなきゃやだっていうこだわりが無けりゃ gitk --all& 一択だね。

527 :
初心者です。

長くなったソースファイル(s1.cpp)があり、
このコードの一部を、新規作成したファイル(s2.cpp)に分割したいと考えています。
この時、どのような方法で移行するのがGit的には望ましいのでしょうか。

とりあえず今までは、まず単純にコピーしてコミット、
両方のファイルから不要部分を削除(+微修正)してコミット、
といった感じで2回コミットしていました。

なお、開発環境はWindows10 Pro、言語はC++、UIはGit Bash、
ホスティングサービスはGitHubを想定しています。

528 :
git的にはどうでもいいと思うけど、ファイルコピーしたという事実をわざわざ履歴に残したいの?意味なくない?

529 :
>>528
コピーした事実というか、s2.cppからs1時代の履歴を追えるようにする
というのが一番の目的です

現状でも、分割したタイミングで分割したよとメッセージを残しておけば
人間なら内容を理解できるので、そちらを見てくれるとは思います

システム的なルールに限らず、定番のやり方だとか
別ツールで利用するときに相性の良い方法などあるのかな?
と思った次第

530 :
>>527
一回で充分

人間は
AをBにcopy
Aを編集
Bを編集

のつもりでも

gitは
AをBにrename
Aを新規作成
Bを編集

だったりする
(必ずこうなる訳ではない)

良きに計らえ

531 :
>>530
ありがとう
リネーム扱いになるってことは、基本的にはちゃんと追ってくれるってことでいいのかな

532 :
いまの操作でほぼ確実にログやblameが追跡できているのであれば
多分ほぼベストな方法なんじゃないかと思う

533 :
各commitの変更を見たりcheckoutするときとかはSourceTreeの方が便利だなぁと感じる
rebase -iとかfilter-branchを使う時はCLIでやってる

534 :
次に出る、2.20では

* "git rebase" and "git rebase -i" have been reimplemented in C.

なんだな。いろいろバグが出そう。

535 :
privateなリポジトリに誰がcloneしたか見る機能あります?

536 :
孫cloneできるのに意味あるのかな
GitHubやGitLabの監査ログには書かれると思う

537 :
個人の開発でパソコン二台で運営してる時、それぞれのパソコンでuser.nameとuser.emailは使い分けるべき?

538 :
>>537
ありえない

539 :
何を運営してるか知らないけど、2台とも同じユーザが使うならuser.nameとuser.emailも同じでいいでしょ

540 :
>>538-539 ありがとうございます。

541 :
>>537
分けるべきだよ

542 :
>>541
なぜそう思った?

543 :
もしかすると、特定の用途のときに優位性を発揮するとかはあるのかもしれないが
すぐには思いつかないなあ

544 :
https://public-inbox.org/git/20181025024005.154208-1-sandals@crustytoothpaste.net/T/#t

でSHA-256の実装はほぼ完了。

Design of multiple hash support
https://public-inbox.org/git/20181106001340.GC890086@genre.crustytoothpaste.net/T/#t

で複数のhash サポートについて議論している。

545 :
.gitattributesで自前のxfuncnameを使おうと思ってるんだけど、xfuncnameの方をリポジトリに設定することって出来ないかな?

546 :
Git v2.20.0-rc1

547 :
Git Rev News: Edition 45
https://git.github.io/rev_news/2018/11/21/edition-45/

を読んでたんだけど、開発者紹介で

Developer Spotlight: Elijah Newren

> I’m a husband to the most amazing woman in the world, and a father
> to one son and six daughters. My wife is expecting again,

すげーw。嫁が8人目を妊娠中とかどんだけw

ユタ大学ってことはモルモンなのかな。

548 :
>>547
嫁さん大好きなんだろうな。なんかほっこりする

549 :
元気があってよろしい

550 :
Git v2.20.0

551 :
「Git 2.20」リリース
2018年12月10日16:45
https://mag.osdn.jp/18/12/10/164500

552 :
朗報、GitHub無料ユーザーも無制限にプライベートリポジトリを使えるようになる
https://jp.techcrunch.com/2019/01/08/2019-01-07-github-free-users-now-get-unlimited-private-repositories/
“GitHub”の非公開リポジトリ、無償プランでも無制限に 〜新しい料金プランが発表
https://forest.watch.impress.co.jp/docs/news/1161195.html

Thank you Microsoft!

553 :
MSが買収してよかったなー

554 :
いいね

555 :
+1

556 :
bitBacketどうすんの!潰れる!

557 :
jira使ってるところはbitbucket使うし問題ない

558 :
jira使ってるけどGitLab……

559 :
gitLabカワイソス

560 :
そいえば謹製のCIだかCDだかってどうなったん?

561 :
ワークフローとパフォーマンスを改善したGit 2.20
https://www.infoq.com/jp/news/2019/01/git-2.20-released

562 :
gitはバージョンアップしなくても使えるからバージョンアップしない

563 :
次の次( git 2.22 ? ) あたりで、 git switch ってコマンドができるみたいだな。
git checkout とは似て非なるコマンドのようだ。

564 :
マジで?

tortoise gitはswitchって文言をcheckoutのために使ってるからややこしいね

565 :
stashとcheckoutを合わせたようなニュアンスを感じるが、どんなもん?

566 :
>>563
どこ情報?

567 :
チェリーピックっていつ使うのか全くわからない…

568 :
最新リリースのバグ対策を進めながら、そのうちいくつかのバグ修正が旧リリースにも必要なことが判明したときとか
同僚が開発してた機能にDBの定義変更があって、自分の担当する機能にも同じ変更の影響があることに後から気付いてSQL周りを貰いたくなったときとか

569 :
>>566
https://public-inbox.org/git/20190130094831.10420-1-pclouds@gmail.com/T/#t

570 :
>>567
よそのブランチから良さげな修正だけを持ってくる時に使うくらいかな

571 :
>>567
きれいなコミット履歴を作りたいときに多用するよ

コミットを終えた汚い(他の人がレビューしづらい、自分で振り返りづらい)ブランチの先端で
別の名前のブランチを作っておき、
やり直したいところで新たなブランチを作り、
そこに汚いブランチから、コミットの順序を入れ替えたり一部のみ取り込んだりするときにチェリーピックを使うよ

572 :
そのブランチの分岐元でならともかく、先頭でやるなら rebase -i かな。

573 :
>>570-571
なるほど…

574 :
rebase -i いいよね

575 :
数人の開発だけどリベースは一度も使ったことない

576 :
1人で開発するときもリベースは使う

577 :
1人だとrebase -iの嵐

578 :
自分はほとんど使った経験ないけど
revabse -i があることで、割と気楽にコミットできる心理的メリットみたいなのあると思う

579 :
なんだよrevabseって。

580 :
チームによってrebace派とmerge派があって、
色々難しいお。

581 :
revabse vs rebace vs rebase vs merge
ファイッ

582 :
リバブス?

583 :
reverbしろ

584 :
マージのポリシーの派閥はこのぐらいある
rebase せずに merge --no-ff 派
rebase せずに merge 派
rebase して merge --ff 派
rebase して merge --no-ff 派

585 :
branchとcheckoutとcherrypickとrebase -iとmerge全部バンバン使うでしょ

586 :
>rebase して merge --ff 派
>rebase して merge --no-ff 派

どちらか一方を revabse に汁

587 :
もう許してw

588 :
頼むからrebaseは個人だけにしてくれ

589 :
おまえの頼みなど聞かん

590 :
Purge & Ttap

591 :
trap

592 :
レス乞食に餌を与えないでください

593 :
コマンド全くわからん
どうすれば勉強できますか?

594 :
所詮は道具なんだし、
必要なときに調べながら使えばいいと思う

595 :
ランボー派です

596 :
俺はコナン派

597 :
stashしたらcheckoutできなくなったんですが

598 :
Git v2.21.0-rc2

599 :
>>597
stash の pop や apply はコンフリクトする可能性があるから、git status で確認

600 :
stageしてない変更を全部消すのってどうやるんでしたっけ?

601 :
git checkout .

602 :
ググればわかることを聞く奴って伸びないだろうね

603 :
>>601
ありがとうございました
>>602
サーセン
ググってもわからんかった

604 :
>>600
git checkmate

605 :
https://github.blog/2019-02-24-highlights-from-git-2-21/

606 :
Git v2.21.0

607 :
いくらバージョンアップしても今まで以上のことは何もする必要ないからもうバージョンアップしなくていい

608 :
いや、どんどんバージョンアップして欲しい

609 :
git reset --hardを最強に高速化してほしい

610 :
Git 2.21」リリース
2019年2月26日16:30 末岡洋子
https://mag.osdn.jp/19/02/26/163000

611 :
git punish

612 :
>>569
Duy が git restore と git switch の新しいパッチを3/8 に投げてる。


https://public-inbox.org/git/20190308101655.9767-1-pclouds@gmail.com/T/#t
https://public-inbox.org/git/20190208090401.14793-1-pclouds@gmail.com/T/#t

613 :
gitkで表示されるコミットヘッダに Follows: という直近のタグっぽいものがあるけど、
同じものを表示するコマンドって何?
git log かなと思ってヘルプを探したけどわからなかった。

614 :
Follows が前で Precedes が後ろなのね
git describe で直近の tag は分かるけどちょっと挙動が違うし、Precedes は調べられなさそう
git tag --contains の結果をひとつづつチェックして Precedes を、
git tag --no-contains の結果をひとつづつチェックして Follows を、
探してるのかな?

615 :
なるほど、単純な話じゃないんだ。ありがとう。

616 :
GitのwindowsGUIの質問はスレ違い?
普段MercurialでTortoiseHgを使ってるのだが
Gitも触ってみようとTortoiseGitを導入したところ、これが使いにくい

複数のブランチがある状況で、リビジョングラフを見ながらdiffテキストをサクッと見たり、
コミット等を行ったり、リビジョンに復旧したりしたいが
TortoiseHgだと単一ウィンドウですべて収まってできて便利なんだけど、
TortoiseGitは状況の把握と操作が複数のウィンドウにまたがっていて簡単にはできないような気がする
コマンドライン実行をそのままウィンドウ出力にしている感じ

これに文句が出ていないのは、何かうまい使い方があるということ?
(いくつかのウィンドウを開きっぱなしにするのが常識とか)
それともGitとMercurialの考え方の違いからくるものなのか?

617 :
文句が出ないのは誰も使ってないから

Git for Windows の方が良い

618 :
エクスプローラに統合されるのはウザイから亀シリーズは使わないなあ
自分はVisual Studioとgit bashの併用だけど、単体のGUIはSourceTreeが人気らしいね

619 :
>>617
妙に情報少ないなと思ったがやはりTortoiseGitはマイナーか
ありがとう

620 :
>>618
SourceTreeいいですね、ありがとう

TortoiseGitは意味わからんな、なぜHG版とここまで使用感が違うのか
歴史的な経緯だろうが

621 :
SourceTree派だけどお気に入り。
git初めての新米たちにも教えやすくてありがたい。

622 :
sourcetreeはインストールして放置してるけど何が強みなんだろうか
ブラウザ(プルリク/マージ)+VSCode+GitLensで出来ない機能ってある?

623 :
GitLensいいな、もう少しでIntelljIDEAのGit拡張に追いつけそう

624 :
>>622
VSCodeに依存せずに使えるメリットがある

625 :
>>616
ログを表示したあとのグラフのウィンドウの左下にある2つのチェックボックスにチェックを入れて
すべてのブランチを表示
プロジェクト全体を表示
を有効にすればよいのでは

626 :
TortoiseGitめっちゃ気に入って使ってるけどなあ
日本語化するとGitのコマンド名と離れすぎてよく分からなくなるから
英語のまま使うのがいいよ

627 :
>>622
強みか微妙だけど、gitに絞ったGUIだから初心者には取っつきやすいし操作が覚えやすいと思う。

628 :
>>620
どちらかと言うとTortoiseHgが特殊。

629 :
Mercurial使ってる人まだいたのか

630 :
そりゃまだsvn使ってる現場さえも珍しくないですからね

631 :
>>630
その理屈はおかしい

svnはgitが出る前の標準だった。使ってる所は多かったので今も残ってるだろう。
そしてsvnの次として、同時期に似ているコンセプトで git or mercurial がでてきた。
すぐにgitが勝利したので、mercurialを使ってる所は少ないままだったはずだ。

632 :
>>631の謎理論が面白かったので俺も謎理論を展開してみる

svnからgitやmercurialに移行する動機は大いにあってもmercurialからgitに移行する動機はさほどなく、場合によっては新しくmercurialを採用することもありうる
となるとsvnユーザーは出涸らし状態であり、svnよりmercurialの方がユーザー数が多いと言える

633 :

ユーザー数や検索トレンドの推移を見ればどの理屈が事実に最も近いかわかると思うんだが

634 :
>>632
svn -> mercurial ・・・ 初期に僅かに移行。その一部はgitに移行。最初から少なく更に減っている。
svn -> git ・・・ 殆どがこのケース。多い
svn ・・・どちらにも移行できない所がまだ残ってる。移行したとしてもgit

mercurialに移行した所よりも、svnのまま移行できない所の方が多いので
mercurialのユーザーは少ないよ。

635 :
facebook は mercurial 使ってるはず
google も独自 vcs で、git をメインには使っていない

636 :
What's cooking in git.git に switch と restore について記載来た。

> Two new commands "git switch" and "git restore" are introduced to
> split "checking out a branch to work on advancing its history" and
> "checking out paths out of the index and/or a tree-ish to work on
> advancing the current history" out of the single "git checkout"
> command.

早くて 2.23 あたりかなー

637 :
>>450
GCCのgit への移行は

昨年末に

GCC Is Still Months Away From Transitioning To Git, Reposurgeon Being Ported To Golang
https://www.phoronix.com/scan.php?page=news_item&px=GCC-Reposurgeon-Py-To-Go-90

って記事が出て、さらに数か月かかるのかと思っていたら、

https://gcc.gnu.org/wiki/GitMirror
を見ると readonly ではアクセスできる模様。

638 :
gitattributesとeditorconfigで文字コードと改行コードが二重管理になってしまった
どっちかを移譲にできないものか

639 :
git flowについてと、実際の運用に適用する時について教えてください。
一次開発が終わりリリース済みのシステムがあります。今後二次開発があり、開発開始時期は同じですが、顧客テスト(例えば6/1、7/1、8/1)、本番リリース(例えば6/20、7/20、8/20)の時期が異なる機能が複数あります。

一次開発終了時点をmasterブランチ、二次開発用にdevelopブランチまでは作成しました。
今後開発する際は、developブランチから機能ごとにfeatureブランチを作成し、顧客テスト時はテストを行う機能(featureブランチ)をdevelopブランチにマージする運用が良いのでしょうか?(顧客テストokならdevelopをmasterにマージ)

気になっているのは、先に8/1顧客テスト用の機能を作った場合、マージしない(できない)ままのブランチが発生するのが良いのかわからないことです。

プルリクは使用しない想定です。

良い案があれば教えてもらえると助かります。

640 :
その3つの機能が依存関係が少なくてパラレルに開発した後にマージするので問題が起こりにくいのか、
それとも依存関係があってシリアルに開発、もしくは互いを調整しながら開発してしないといけないのかで違いそうな気がする。
前者ならはじめにブランチ作ってdevelopにマージしてテストすればよいと思うけれど、
後者ならdevelopブランチ1本で開発していってテストのときだけ
その時点でdevelop顧客テスト用のブランチを切ってテスト対応はそっちで行って
developにマージする、とかが良いような気がする

641 :
git flowならreleaseブランチを作ろうよ
8/1顧客テストの機能をdevelopにマージしたいけど前の機能がまだmasterにマージできていないので無理、という状況を避けられる
リリースのタイミングが多少変わった程度でブランチ設計を見直さずに済む

642 :
ffって何?

643 :
<< ● □ > >>

644 :
>>642
git ffで検索ぐらいしろ。
fast forwardの略。

645 :
 個人プロジェクトの管理がにっちもさっちも状態に陥ってきたので、噂のGitを導入しようと勉強開始したのですが。

 現在オーム社の『入門git』(初版平成21年/第9刷平成25年)を読んでいるのですが、途中まで読んでやや古い書籍である事に気が付きました。
 当方Windows10なのでGitHubがMS社に買収された事だし導入もかなり簡単になってるかな・・・と思ったら、CygwinとMSYSへの記述があって、思ってたのと違うと改めてネットで調べ直したのですが。
 >>1の関連サイトの"Pro Git - Table of Contents"によれば違う分類による方法が幾つかあるみたいですね。

 そうなると、読み始めたオーム社の入門書はどこまで現状に即しているのでしょうか。
 基本的な操作が変更される事はないでしょうが、非推奨とかになる事も考えられるので。
 あと、良い書籍紹介があると嬉しいです。

646 :
>>645
ごちゃごちゃ言わずに手動かさんかいボケェ!

647 :
>>645
何も考えずにgit for windows入れたら済む話だと思うよ
cygwinがベースの技術使われてるけど別途インストールする必要はないし

648 :
>>645
gitとGitHubは全く別のもの。プロジェクト的には無関係。

gitの本がGitHubについて詳しく書いていることはまずないし、
買収前のGitHub社も、Microsoftも、gitの開発には関わっていないといって良い。
(Git LFSなど一部影響を与えているがコア部分ではない)

649 :
javascriptの勉強するためにJava始めました観たいな感じ

650 :
GitHubがGitクライアントのひとつではないということは、エンドユーザーからみればどうでもいいことなのかもしれない
それこそがSaaSの目指すべき透過性のry

651 :
GitHubはサーバーじゃないのか

652 :
>>651
githubデスクトップアプリのことを言ってるんじゃないかな

653 :
>>646-652
 反応ありがとうございます。
 当方WINDOWSに入る前もファイラ時代が長かったもので、コマンドライン感覚が退化してしまっています。
 深く考えず教本を読破して、その操作を猿真似して馴染む事を目標に作業再開しようと思います。
 指針を与えてくださり、ありがとうございました。

654 :
別に無理して最初からコマンドライン使う必要もないと思うけど
Visual StudioとかVSCodeとかGUIからgit扱えるし

655 :
git extensions...

656 :
gitを学ぶだけでも一苦労だ

657 :
今時gitが使えないとチームで開発できないからプログラミング言語同様必須知識だよ

658 :
基本的な流れは分かったけど
細かいコマンドやオプションまで入れたらとんでもない量ある

659 :
https://qiita.com/xtetsuji/items/555a1ef19ed21ee42873
upstreamという名前を付けてるけど
リポジトリ自体に名前がついてるんじゃなくて
リポジトリの利用者側が勝手に名前を付けてるの?

おかしくない?

660 :
そうすることで名前の重複問題を解決させようとしてるのか
名前空間みたいな概念が無いのか

661 :
ローカルリポジトリから見たremoteの名前なんだから勝手につけて当然。originだってそう。

662 :
>>659
エイリアスだよ
本当のリポジトリの名前は、URIそのもの
URIは一意なんだから名前空間などなくてもかぶらない
長いから、originとかupstreamという別名を付けてるだけの話

663 :
git remote -v
でリモートリポジトリの一覧が表示されますが、
push先として設定されているリモートリポジトリを一部削除する事はできますか?
fetch元としては使い続けたい

664 :
できる

665 :
>>663
https://stackoverflow.com/questions/7556155/git-set-up-a-fetch-only-remote/

666 :
そのリモートリポジトリはgithubのなんですが
そもそもgithubのリポジトリは権限が無ければ書き込まれないかも、と思ったんですが
合ってますか

667 :
そりゃ他人が勝手にウイルスコード埋め込めるわけ無いやろ

668 :
いや、できるんじゃないか・・・これ・・・
githubガバガバ

669 :
ローカルリポジトリに権限の概念はないぞ。
リモートにpushできるかは権限による。

670 :
Git v2.22.0-rc0

671 :
https://www.theregister.co.uk/2019/05/03/git_ransomware_bitcoin/

↑によると、git向けのランサムウェアがあるらしいので、
peffがパッチ投げてたけど、2.22に入るのかな?

672 :
>>637
ESR Switches To Threadripper But His GCC SVN-To-Git Conversion Could Still Take Months
https://phoronix.com/scan.php?page=news_item&px=ESR-Threadripper-GCC-Git

gccのsvnからgitへの変換はまだ数ヶ月かかるらしい。

673 :
そこまでしてやる必要あるの?

674 :
>>673
あるやろ。
いまどきgitじゃないと開発者が寄って来ない。
開発者が居ないOSSは死ぬよ。

675 :
「今時」ってそれだけの理由かよ。
開発者だけどどっちでもいいわ

676 :
> 開発者だけどどっちでもいいわ

どっちでもいいってことは、どっちも知ってるはずだけど
違いしてていていってんの?svnとgitの比較言える?

677 :
違い知ってて言ってんの?

678 :
昔はsvn使ってたけど今更使うのは嫌だよ

679 :
git cloneしたフォルダをコピペで別の位置に移したら
何か問題出る?

680 :
無問題

681 :
githubで自分がフォークしてるプロジェクトがあって
他の人もフォークしてて、他の人がその人のリポジトリでやったコミットを本家にPRしてて、
でもマージされてなくて、でも自分のフォークでそれをマージしたい場合、どうすれば?

682 :
そのコミットを自分のフォークにマージするだけ

683 :
>>675
emacs, ruby など大きなプロジェクトがgit に移行している。
何故移行したか、どんな効果があったか、事例見ると判る話。

684 :
masterブランチで開発していて、
リリースする時、masterの全部の修正をリリースするんじゃなくて
一部だけリリースする時、リリース用のブランチを作ってそこに
リリースしたいもののみを集めるってやり方でいい?

そしてリリース用のブランチをリリースするわけだけど、
そこにはmasterに入れてないコミットが含まれる。
READMEの修正とか

そういった場合、masterにそれを戻さないといけないんだけど、
リリース用のブランチをmasterにmerge戻すと、同じコミットが二重にできちゃうじゃん?
それを防ぐにはどうしたら良い?mergeじゃなくてcherry-pickで戻す?
それともsquashする?(コミット消したくないけど)
それともリリース用のブランチをmasterからの変更にrebaseしてから、masterにマージする(少し面倒そう)

685 :
git flow使えよ

686 :
基本個人開発なんでそこまで面倒くさいことはしたくない
今回バグ修正のプルリクが来て、今masterでやってる作業の切りが悪いので
プルリクと先に出せる部分を、先に出したほうがいいなと判断したので
例外的にリリースブランチを切った

687 :
git flowなんてめんどくさくもなんともないやろ
むしろmasterで開発してるからそんなめんどくさいことになってるんじゃないか

688 :
github flowへの文句なら、github flowを論破してからにしてくれ

689 :
説明しなくてもわかると思うが、
一人github flow = レビューする人はいない = ブランチきってその都度一人マージ = masterでの開発と何も変わらん

690 :
日本語通じてないわこいつ

691 :
日本語通じてないのはお前だ。
俺はgit flowが複雑であることは世界共通の認識であることを知っているし、
その事実に関して反論していないし、興味も質問もしていない。
git flowが複雑ではないという話をしたいならよそでやれってこと

692 :
はっきり言わないとわからないようだから言っておくと

git flowは複雑(事実)だから使わないと言ってる。
git flowは複雑(事実)ではないと主張したいのなら、俺ではなく世界とやってくれ
git flowは複雑(事実)ということは、俺が主張していることではない。

693 :
ごめん触れちゃいけないキチガイやったわ

694 :
>>693もうレスしないでね。

ということで >>684 の質問へのレスよろしく

695 :
なんで1回git flowの話からgithub flowの話に逸れたん

696 :
git flowとgithub flowの区別も付いてないのは置いといて、複雑なので我流でやりますというなら好きにやればいいんでないの

697 :
githubで本家にPR出して、しかしやりとりのなかで
revertだとか再コミットだとかでヒストリーが伸びて、
本家側は最後の1コミットだけをマージする、ということはできるんだろうか?

698 :
githubでOSSを修正したい場合、
さらにそのOSSをカスタムしたソフトウェアを作りたい場合、
フォークを2つ作るべき?

699 :
もし最後の1コミットだけマージできるとして、それにどんな意味があるの?

700 :
例えばコミット1をPR、問題点が指摘される、コミット1をrevertしてコミット2を作る。
このときコミット2だけをマージして欲しい。
ところがgithubの画面上ではコミット1もrevertもコミット2も表示される。
その一連のヒストリーが表示されてしまう。

さらに、PR中に本家の追従をしてマージコミットが入るかもしれない。

701 :
git使うとヒストリーを適切に保つ必要が出てきて
開発が難しくなる

702 :
実際の作業ヒストリーは紆余曲折を経ているわけで、
自分のforkリポジトリにそういうヒストリーがあるのは妥当。
追跡しやすいし。

ところが本家にマージする段階ではヒストリーを圧縮して1コミットにしたい。
でもそんな操作できなかった。
しかもPR中にも紆余曲折してヒストリーが伸びる。
どうやってヒストリーを圧縮すれば?

703 :
squashするとマージした人がAuthorになるという記事があったが
コミットした人になると言ってる記事もあるな

https://qiita.com/ko-he-8/items/94e872f2154829c868df#squash-and-merge
>この時、マージコミットSのAuthorはBになります

https://qiita.com/pshiko/items/1e9acd114b7e85884866
>最近某OSSに出されたPRが、git merge --squash <branch> でマージされたことにより、コミットのAuthorが書き換えられてしまった

704 :
>>695
> なんで1回git flowの話からgithub flowの話に逸れたん

よく見ればわかるが、git flowの話もgithub flowの話もしていない。マージの話
ただ「git flowが複雑で、それよりもシンプルなgithub flowなどがある」のに
git flowが複雑だという事実を知らなそうな人に、git flowを使えと言われたから、
世間の認識を知らないなって思っただけ

705 :
>>702
単に本家のコミット(通常はmasterのHEAD)からの
修正へとrebaseすればいいだけ

706 :
>>696
> 複雑なので我流でやりますというなら好きにやればいいんでないの

git flowが他のフローに比べて複雑なのは世間で共通している認識なので
その話をすることに意味はない。そのレベルの話はしてない。

707 :
git難しい

コミット内容に問題があり修正したい
→修正&動作確認成功
→前のコミット内容は単に要らなくなったからrevertしよう
→作業ディレクトリで変更されているせいでエラー
→じゃあrevertじゃなくて新たなコミットで

みたいな。revertダメなんだ、みたいなのが多い。
分かる?gitのために発想を制限される感じ。
作業手順を見通せるようになるには相当な経験を積む必要がある

708 :
しかも人によってrevertした方がヒストリー的に好ましいというかもしれない
でも作業手順上、revertしていいのかは新しい変更内容で動作確認をした後じゃないと
分からないから、revertは自然じゃない。

709 :
>>707
> 作業手順を見通せるようになるには相当な経験を積む必要がある

gitは作業手順を見せるもんじゃないよ。
変更履歴を見せるのであって、作業履歴を見せるものじゃない。
あんたが一日こういうふうに頑張りましたっていう報告はいらない
欲しいのは結果

だいたいrevertは、みんなが共有しているブランチでやるものであって
個人的なブランチでは使う必要がない
前のコミットが要らなくなったらrebaseして消すのが普通
欲しいのは結果であって、途中の作業報告なんかソースコードの修正の邪魔
(作業報告したけりゃissueでもprでもslackでも好きなところでやればいい)

710 :
”見通せる”の意味が分かってないのか

711 :
作業の履歴はコードベースでどんな間違いが起こりやすいかが分かる
rebaseで履歴を消すというアイデアは同意できない

712 :
> 作業の履歴はコードベースでどんな間違いが起こりやすいかが分かる

それ何が目的?何がしたいのかわからない。

713 :
>>710
ああだこうだという試行錯誤があると
コードの変更が "見通せない"

あんたの試行錯誤のあとなんかどうでもいい。
結果を見せろ。重要なのは結果だ。

714 :
ただのアップロードツールだとしか思ってない人いるみたいだし
そういう人はロダ使えば良いと思うの

715 :
コードの変更は本家のヒストリーで分かるから
forkリポジトリに細かい履歴が残っているのは基本的に良い事

716 :
>>715
だから試行錯誤の後とコードの変更履歴は別
残すのはコードの変更履歴(みんなに公開する確定した修正の履歴)であって
試行錯誤の履歴(みんなに公開しない確定してない修正の履歴)じゃない

他人が見る価値がないようなものを残したって
見ないんだから意味ないだろ。
それはノイズでしかない

717 :
試行錯誤はpushする前にやれよ

718 :
>>717
当然pushする前にも試行錯誤するが、
レビューしてもらうためにpushする必要がある。

ただしその内容は確定した変更内容ではないので
全てを残す必要はない

719 :
>>717
わかった
とりあえずpushしておくよ

720 :
コミットの内容はあとから見るっていうことを
全く考えてないんだよなw


あとから見る時、見なくても良いものがたくさんあったら
本当に見なければ行けないものがどれかわからなくなる。

あとから見るということを全く考えてないから
記録だけしていればいいと間違った考えになる

あと見るだけじゃなくコミット単位でcherry-pickしたりするので
一連の修正がバラバラになってると再利用できなくなる。

721 :
Git v2.22.0-rc2

先日のLinusからの指摘の修正は入ってない模様。

722 :
Git v2.22.0

723 :
Gitはコミット間違えたとかブランチ名間違えた時の修正がめんどくさい

724 :
>>723
どういう手順で修正してる?
ちょっと書いてみたよ

(どうせやり方知らないくせにって思ってる)

725 :
>>723
何に比べてどうめんどくさいの?

726 :
きっとzipとくらべてだろうな

727 :
>>726
比較にならんな

728 :
>>563
>>636
新しいコマンド、 "git switch" と "git restore" は次の2.23で入る模様。

729 :
Git v2.23.0-rc1

730 :
Git v2.23.0-rc2

Qiita に git switch / restore の記事を載せるべくアップを始めた奴いる?

731 :
そもそもコマンドライン直接叩くことって少なくね

732 :
少なくないよ

733 :
そもそもキータ()なんて情弱サイトに書くやつ少なくね

734 :
gistにメモ書きできない人間にキータ(笑)は向いてない

735 :
Git v2.22.1

736 :
gitの本探してるのだけど
cuiメインでguiの本があまりなくて困っています
いい本知りませんか?

737 :
GUIはいっぱいある上に決定版がないからあんまりないんじゃないの

738 :
CUI知ってればGUIの本は要らない
逆は偽

739 :
CUIでgitの概念学んだらGUIにほぼそのまま応用できるからGUIの本は不要だわな

740 :
TortoiseGitでのマージが感覚と反対で最初逆にやってしまった

741 :
セキュリティの都合上インターネットに繋げない開発環境があって(ファイルを1個やりとりするのは可能、rsync的なことは無理)、手元のマシンとのリポジトリ同期に困ってたんだが
(format-patchとamじゃhashまでは面倒見てくれないしコミット毎の管理になるしで面倒)、
bundleという機能を見つけたんだがすごく便利だな

コミットの範囲は確認しなくちゃいけないけど、push、pullとほとんど同等な感じで使えるね。

742 :
git switch/restoreはgit checkoutがコンテキストによって全然違う動作をすることを避けるべくブランチ間の移動はswitch、ファイルをHEADまで戻すはrestoreにしたってことなんだな

確かにcheckoutでやらかしたことあるから嬉しいんだが、switch/restoreに慣れると古いgitにイライラしそうだな。

743 :
Git v2.23.0

744 :
Highlights from Git 2.23
https://github.blog/2019-08-16-highlights-from-git-2-23/

745 :
resetも分割しろや

746 :
>>736
GUIなんていらない
CUIなら必要なレポート簡単に書けるでしょ
git log --name-status --pretty=format:"Xxx Yyy Zzz" |foo|bar|baz...

747 :
サブプロジェクトを使ったことがありません。
現プロジェクトの3つの派生プロジェクトを始めるることになりました。共通のソースは9割です。此の場合は、共通のソースをサブプロジェクトに移して使用するのが良いのでしょうか

748 :
747はサブプロジェクトじゃなくてサブモジュールの誤りです

749 :
逆じゃね

750 :
これからも派生が増えてくならそれでいいけど、あまり増えないなら、ブランチで管理するかな。

751 :
>>747
管理体制次第だな。
普通はブランチ管理じゃない?
共通ソースの管理者が別にいるならモジュール化も検討するけど、そこまで大きなプロジェクトならgitプロフェッショナル必要な気がする。

752 :
>>747です。
ご意見ありがとう。 変更が多いのは共通部分なんでブランチで管理すると他のブランチへのマージを忘れそう。

753 :
今後マージするかどうかは運用次第として、一旦ブランチはしておけば良い
ブランチしたのをマージしない運用にするのは簡単だけど、ブランチしないで分離したプロジェクトをマージするのは面倒くさい

754 :
保守

755 :
個人開発者です。
2年前までlocalでgitコマンドを使ってた。
その後、開発から離れてたんだけど、再度戻ってきた。

昨日からGithubへpushする様になって、色々勉強中。
ヨロピコ!

756 :
>>755
ちなみに参考になったのは、
実践Git、第4章
Web+DB Magazine vol. 50(2009)、はじめてのGit

Pro Gitって参考になる?

757 :
ProGitが一番

758 :
>>757
>ProGit
thx

iPadで読もうとSendToKindleってメールサービスでmobiファイル送ってみた。

ドキドキしながらKindleで同期すると本が来た。
ヨカっタァ。

しかし、すごいボリュームの本だ。

759 :
tree object
commit object
のデータ構造を理解した。

coutesy of WEB+DB vol.50

760 :
>>758
最近使い始めたAir Dropってので送ろうとしたらNGだった。

761 :
GitHubだけど
パソコンのwebブラウザで
new repository
は出来るのに
スマホのwebブラウザだと
new repository
のボタンが出て来ないのはなぜ?
あとクライアント(コンソール)からコマンドで
new repository
ってどうすれば出来る?

762 :
ここ良いね
https://git-scm.com/book/ja/v2

763 :
https://codenotfound.com/github-add-remote-git-gui-windows.html

764 :
>>761
俺もlocalのterminal.appで作業する際、remote(Github)にnew repositoryを作製する方法を知りたい。

多分、出来ないのかな?

765 :
pythonとかでスクレイピングでもすればいけるかもしれないが
最近はgithubも二段階認証になって色々面倒なことに

766 :
>>764
出来ない理由
terminal.appでnew repositoryできるとすると、数万のrepositoryがbotによって作製されるかもしれない。

shell scriptを書いてやれば、そういった嫌がらせも出来てしまう。
それは避けたいので、ボタンを使ったUIになってるのでは?◀New Repositoryが。

あくまで俺の妄想っす。

767 :
markdownで書いた、図入りのテクニカル文書を管理したいんだけど、blogでは色々面倒で、GitHub使おうかと思うんだけど、良いかなぁ?

ソースコードのsyntax highlightが出来て、imageも埋め込めるmarkdownを管理したいんだけど。

それとも、便利なblogサイトある?
livedoor blogをsyntax highlight plugin付きで試したら、大なり小なり記号<、>をエスケープしないとsource codeを表示できないので、ガッカリなのだ。

768 :
GitHub GistにMarkdown文書を置いた時に、imageファイルってどうやって管理すれば良いのだ?

imgurとかに置いて、url指定するってのがbest practice?

769 :
>>768
ここにいくつか解法が示されてる。
https://gist.github.com/Tatzyr/3847141

しかし、
GitHub上のフォームで画像をコピペするとGitHubのS3にアップロードされ、URLがはりつきますよ。

これは、どう言う操作の事だ?

770 :
>>769
そう言う事かぁ。
https://gist.github.com/kannankumar/4c613cac6d9db896062a16e1cc57d3e5

771 :
gistに貼り付けたmarkdown中にimage貼り付けたけどresize出来ん。
https://gist.github.com/uupaa/f77d2bcf4dc7a294d109
ここにresizing howto記載されてるが、Gistでは効果無し。

<img>タグを使えば上手くresizeされるんだけど、![](url)形式で書きたい。

772 :
ここまで酷い自演は久々に観た

773 :
>>772
自演じゃなくて、スレッド(のつもり)なんすけど。

Xcode11 Release来た。
XVim2.xcplugin動くかな?

774 :
過疎ってんだから日記帳にするなり好きにすればいいよ

775 :
>>774
あんがと!

Web+DB vol.50 2009の初めてのGit、って記事、ヨカっタァ。
tree object, commit objectのデータ構造がよく解った。

あと、Garbage Collectionの記事が読みたい。どこからも参照されなくなったcommit objectがpurgeされる話とか。

776 :
>>775
https://git-scm.com/book/ja/v1/Git%E3%81%AE%E5%86%85%E5%81%B4-%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9%E3%81%A8%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AA%E3%82%AB%E3%83%90%E3%83%AA

ここに記事が

777 :
>>761
GitHubに対して出来る事は、git-remoteコマンドのオプションのみ!

new repositoryの作製はterminal.appからコマンド打って出来ない。

see git help remote

778 :
>>763
https://codenotfound.com/github-add-remote-git-gui-windows.html
ここの
Configure Git GUI
からの
Create New Repository
はどういう仕組みで実現してるのだろう

779 :
Fetch Immediately じゃなくて
Initialize Remote Repository and Push の方を選んだときの動作ね

780 :
>>777
api叩けばいいやろ

781 :
>>778
Configure GitHub
のセクションに記載があるとおり、WebサイトでNew Repositoryする。
Git Gui on Windowsからはできないんじゃ無いの?

782 :
>>780
API Referenceはどこに?

783 :
>>782
ほい
https://developer.github.com/v3/repos/#create

784 :
なんか希望が見えて来た
有賀豚

785 :
>>783
これダァ。
great THX.

gg://github rest api

786 :
stackoverflow
how to create repository in github through github api

github community GitHub API Development
REST API v3 Not able to create repo using the code given

787 :
>>637
>>672
GCCのgit への移行は、もうちょっとらしい。

GCC's Conversion To Git: "Within The Realm Of The Practically Achievable"
https://www.phoronix.com/scan.php?page=news_item&px=GCC-SVN-To-Git-September-2019

788 :
それって副産物としてSubversionからGitへの変換プログラムが生まれるってことだよな?

789 :
/s/Subversion/SVN/

790 :
一般的な応用を期待しているならgit svnという十分に便利なものが既にある

791 :
じゃあそいつはGPLじゃないからつかわんかったってことか

792 :
RMSがもっと若ければ
とっくにtigとか造ってんじゃね

793 :
>>788
>>791
GCCのSubvesion のダンプはかなり大規模かつ複雑でgit svn ではgitのリポジトリには
変換できないらしい。

なのでESRが自分のツール(https://gitlab.com/esr/reposurgeon) で変換しようとしている。

794 :
svnのダンプが開発者にも謎な物になってしまってるのが
原因らしいが

795 :
ドキュメント大事って話か(´・ω・`)

796 :
共有フォルダ上にリポジトリ置いてローカルで開発ってのをやろうと思ってるんだが大丈夫じゃろか
前からいる人はずっと一人でやってた環境らしくてバージョン管理というものをやったことがないらしい
調べたけどSVNはそういうの止めろってことらしいからgitを考えているのだが

797 :
大丈夫じゃよ

798 :
サンクス。ちゃんと動いた。ほっとしたしリモートからプル出来たときはちょっと感動したわ
ありがとうvisualstudio。そしてgithubもtortoisegitも申請しなきゃいけない会社は潰れろ

799 :
Git v2.24.0-rc0

800 :
>>798
githubみたいなクラウドサービス使うのに許可がいるのは当たり前だろ

801 :
共有フォルダSVNがダメならgitもダメじゃないの?なんか差分あったっけ

802 :
共有フォルダにベアリポジトリ置くなら可能

803 :
>>800
いやいやwww

804 :
>>800
だよな

>>803 >>798
https://hayabusa9.2ch.sc/test/read.cgi/news/1571409806/

805 :
masterからdevelopブランチを切って、ローカルではdevelopからfeatureブランチ切ってそれをいじる
developにマージしてdevelopをプッシュする。不要になったfeatureは削除する
っていう一連の流れを勉強したんだけど、しまったここの関数ちょっとおかしいとかそういうほんとちょっとした変更でもいちいちfeature作るって作業はしたほうがいいの?
あんまり意味が無いような気が

806 :
チーム開発なら必要。必ずコードレビューするから、ローカルでdevelopへのmergeなんてしない。

807 :
なるほど
二人だけのチームで多分コードレビューなんてしもしないと思うんですけどその場合でも必要ですかね
あとfeatureブランチはリモートにはプッシュしないっていう認識で大丈夫ですか

808 :
featureの扱いというよりは、developへのmergeをどこでするか統一しておかないと、各々の環境でdevelopの履歴が分かれていくやろ

809 :
featureをリモートにpushして、コードレビューおよびdevelopへのmergeをおこなうのが一般的。ローカルのdevelopは、基本的にfetch or pullとfeatureの作成用途のみ。

810 :
むぅそもそもリモートで作業するってのが考えてなかったというかその辺りよくわからないですね
>>796なんですがリモートリポジトリってローカルで作業していったものをどんどん突っ込んでいくものという認識です
ちょっと勉強が足りなかったようです

811 :
普通はGitHubやGitLabみたいなホスティング環境を用意するからね

812 :
2人に閉じた開発なら結合後にdevelopだけでごりごり開発してもいいよ
いつの間にか気持ち悪いマージコミットが多数生じるだろうけど
気持ち悪いと感じる人がいないならそれはそれで

813 :
マージコミットも歴史の一環なんだから、必要と思う派だな俺は

814 :
マージコミットが気持ち悪いとか意味分からん

815 :
developからdevelopへのマージコミットがキモいということでは

816 :
コミットツリーの美しさとかにこだわりが
ある人がいるらしい

817 :
それは海外の有名OSSでもわりといる
俺は個人的には全く気にしないけど

818 :
>>815
そうそれ

マージコミットのあいだにも価値の多寡があるということ
歴史としての価値があるからこそノイズが多いと経緯を追い難くなる
そこを一切否定するならrebaseコマンドの存在意義も(ほぼ)否定することになる

819 :
気持ちはよくわかるが、pull requestベースでの開発だとコミットはあまり気にしなくなるよね
それよりcherry-pick厨はマジで○んでくれ

820 :
10人くらいのオフィスで現状何でもかんでもnasに突っ込んで管理してます
HTMLやらcssやらのファイルだけでなく、画像データやofficeやAdobe系のファイル諸々、トータルで2テラくらいあるんですが、git使った方がいいですかね?

821 :
Git v2.24.0-rc1

sparse-checkout は2.24には入らない模様

822 :
>>820
あほ

823 :
>>820
賢い

824 :
>>820
バイナリはあんまりメリットないと思うぞ

825 :
Git v2.24.0-rc2

826 :
>>825
rc0のバグが二件MLに投げられてたけど、
rc2では一件しか反映されてなくて、
ds/commit-graph-on-fetchは反映されてなかったので、
cookingのリプライで、この件はa corner caseでは無いってメールが投げられてる。

rc3が出そう。

827 :
うっかりデバッグする前にコミットしちゃったときに限ってデバッグするとバグが出るのはなぜなのか・・・・・・

828 :
うっかりコミットしてもpush前ならなんとでもなる

829 :
バグがでたらその場でコミットするすらある
その後確実に直したかを確認できるように

830 :
コミットはなんぼでもするでしょ
プッシュでさえみんなと共有してないブランチでなら構わずやることすら多々ある

831 :
Git v2.24.0

832 :
visual studioで使ってるけど本当に便利すぎて手放せないわもう
例えコミット細かくやりまくってもうどこで何をやったか履歴でよく分かんなくなっても関数の上に変更回数が出てしかもどのコミットだったかとかすぐ分かる
ありがてぇありがてぇ

833 :
>>832
おお!それ便利そうだな

834 :
visual studioはやっぱり便利なIDEだよ

835 :
VSってSVN統合はサポートしてないんだっけ?

836 :
新コマンドのsparse-checkoutが盛り上がっているけど、
v2.25 に入るかどうかはまだ不明。
https://public-inbox.org/git/pull.316.v4.git.1571147764.gitgitgadget@gmail.com/T/#me0705177b18287f1037278d870f86d8cba58ccc3

837 :
githubでプルリクをマージする人ってプルリクを送った側と受け取った側とでどちらが良いんでしょうか
個人的にはプルリクって、もしこの修正が問題なければ取り込んでくださいって意味だから
受け取った側が承認してマージまでするのが自然な形だと思うんですが、
なぜか今の職場ではプルリクを送った側が自分でマージするルールになっています
私がおかしいのでしょうか

838 :
>>837
そういうルールもありだと思う
承認する人が多忙だとその方が仕事が早いし

839 :
それってアクセスコントロールしてない無秩序状態ってことだろ?
頭のおかしい開発者が勝手にマージしはじめたらめんどうだ

承認者とマージ実行者を別にするのはよろしい
マージ実行者を開発者全員にするのはよろしくない

840 :
それだってケースバイケースだろう。
たしかに頭のおかしい開発者が存在する場合はいろいろ考慮が必要だろうが。

841 :
オープンソースのプロジェクトにプルリク送る場合って受け取った側が承認してマージまでするじゃん
githubを作った人の想定では、プルリクを受け取った側がマージするのが正しいんだと思うんですよね
ていうか自分で送り付けて(プッシュ)おいて、自分でマージするってことはそれはもう"プル"リクエストではなくて、
"プッシュ"リクエストじゃないんですかね
githubを作った人の想定通りに素直に使うのが自然で良いと思うんです

842 :
開発効率を上げるとかバグを減らす為にルールを作るので
ルールを守るためにルールがあるのじゃない

843 :
プルリクを送った側がマージすると開発効率が上がったりバグが減るんですかねちょっとわかりませんね

844 :
ここまでくるとちょっとウザい。
あんたの疑問はもっともだと思うからあとは職場の人とよく話し合ってくれ。

845 :
どこにも書いてないこと言い出して逆ギレしてるようでは
かなりお荷物さんだろうねえ

846 :
は?お前がR

847 :
社内に頭のおかしい人なんてそうそういないだろと思ったけど
こういうレスを見ると自信なくなる
最初の質問「私がおかしいのでしょうか」については
そうかもねと答えざるを得ない

848 :
どんな解釈をしたら、お前”が”し ねになるのか分からない笑
君の質問は正しいよ、あなたがおかしい。

849 :
>>839
職場に頭がおかしい人がいるならgitで解決しようとしてる場合じゃない

850 :
私がおかしいのでしょうかと質問する人は大体周囲が見えてない自己中なので、何言っても無駄

851 :
お前の書き込みなんか何の価値もねえわ
向いてないからR

852 :
おお、マジで周囲が見えてない
ムダだったな

853 :
TortoiseGitのグラフ表示時矢印が古い方を指すように下向きに
なった。2.9.0 設定何か触ったかな 

854 :
変更のない同一ファイルのときに

git commit -am “こめんと”

を打つとエラーになるけど、エラーを回避するコマンドとか無いかな?
もしくは更新・差分があったときのみcommitするようなパラメータとか

855 :
>>854
>もしくは更新・差分があったときのみcommitするようなパラメータとか
まさにこれがデフォルト動作だからエラーになってるんでは
更新・差分はないが直前のコミットメッセージを直したいということなのであれば git commit --amend -m "こめんと" すれば良い

856 :
--allow-empty でいいんじゃね

857 :
Multiple Git vulnerabilities in 2.24 and older
https://github.blog/2019-12-10-multiple-git-vulnerabilities-in-2-24-and-older/

858 :
Git v2.25.0-rc0

859 :
Git v2.25.0

リリース直前にgit rebace -iの機能を巻き戻した模様。

860 :
「Git 2.25」リリース、「git sparse-checkout」コマンドの追加や細かい機能強化が行われる
2020年1月14日17:15 末岡洋子
https://mag.osdn.jp/20/01/14/171500

861 :
>>836
2.25に入りましたね

862 :
大体ググって覚えて使ってる個人の感想としては、
ざっくり『addしてcommitしてpush、後はbranch作ってなんか切ったり結合したり出来れば大体なんとかなる』というノリでgit使ってるんですな何か他に知っておいた方が良い操作とかあるんでしょうか?
ブランチ名やコミットメッセージを付ける等の補助的なオプションに関する知識は勿論前提として。

863 :
壊れた時の治し方

864 :
初期に便利だと思ったのは
stash
ignoreのバリエーション
skip-worktree
reset
reflog
あたりかな

865 :
stashなんか怖くて別の場所にチェックアウトしちゃう

866 :
>>862
何をおいてもgit rebase。これ使わないとgitの価値が無いと言ってもいいぐらい

867 :
ちょっと違うけど、vcodeのアドオンにあるgitのdiffとかhistoryを見る機能は便利。

868 :
rebaseとか未だに有用性が理解できない

869 :
はちゃめちゃに大きくなったリポジトリの整理でgc, filter-branchなんかは使わなきゃいけないときがあるね。
大体開発もクライマックスで泣きながらやる羽目になるイメージがあるけど。

870 :
>>868
神経質でええカッコしいの俺にとっては重要機能

871 :
rebaseは-i以外めったに使わないな

872 :
遅くなりましたが皆さんありがとうございます、なんとなく枝を繋げればいいや
というイメージでしたがリセット機能や消去機能こんなに充実してるんですね。
正直広まってる理由オープンかつコストが掛からない上有名なソフトが集まっているから
だと思ってたんですが、コマンドで大体できるしGUIも綺麗ですしそこらのソフトウェアが
内蔵してる管理機能より遥かに有用なことを色々聞いて実感しました。

873 :
masterブランチをpullし忘れてmergeがめんどくさくなる時あるんですが、どうすればいいですかね?

874 :
rebase

875 :
>>873
pullを忘れない

876 :
rebaseは下手すると似たところで何度も競合して余計面倒になるような

877 :
mergeがめんどくさくなった時点で気付くだろうからそこでやり直せばいい。

878 :
patch

879 :
gitでファイル分割ってどうすりゃいいんだ
//old.cs
class Foo {...}
class Bar {...}
↑これを↓こうしたい
//foo.cs
class Foo {...}
//bar.cs
class Bar {...}

git mv old.cs foo.cs
cp foo.cs bar.cs
git add bar.cs
git commit
vim foo.cs # class Barを削除
vim bar.cs # class Fooを削除
git commit
これだとFooは履歴を辿れるけどBarは履歴を辿れないので困る

880 :
https://stackoverflow.com/questions/47401843/git-copy-file-as-opposed-to-git-mv
https://stackoverflow.com/questions/16937359/git-copy-file-preserving-history
https://thinca.はてなぶろぐ.com/entry/20090217/1234799036

881 :
初歩的な質問で申し訳ないんだけど教えてください
今小さなプロジェクトを個人で動かしてて、部署のファイルサーバの自分のフォルダにリモートリポジトリを置いて、visual studioでコミットしてプッシュしてみたいな単純な使い方してます
それで今度チームでやることになってgithubとかgitlabとかの導入を考えているのですがプルリクエストというのがよく分かりません
色々サイト見ているのですがプッシュしたあとにプルリクエストを作成して……みたいなこと書いているんですが、プッシュしたらリモートリポジトリ変更されちゃいますよね?
プルリクエストされた担当者がコードをチェックするならプッシュの前じゃないといけないのではと思うのですが
よろしくおねがいします

882 :
ブランチの概念も知らないとみた

883 :
>>881
別ブランチにコミットしたものをpushするんだよ。
んでもってそのブランチに対してプルリクエストする。

884 :
o - o - o - o <- ローカル/master, リモート/master
\ o - o - o <- ローカル/ブランチ1
ローカル/ブランチ1をpushするんだよ。
ブランチの切り方はgit branch --help見てね。
チーム開発の記事を読んでおくといいかもね。
ブルリクについてはgithubとかの開発について調べてみるといいよ

885 :
Git 2.25.1

886 :
>>883-884
あぁぁそういうことですか。あ、いや自分でやってるときはgithub flowでしたっけ。masterとdevelop切ってそこからfeature切ってみたいなやり方してたんですけど
>>884だとリクエスト受けた側がmasterにマージする感じになってますけどmasterって製品版だからあまりいじっちゃまずいんじゃありませんでしたっけ。マージ先は受付側が決めるってことでいいんですかね
それと別ブランチ切らずにmasterブランチにいじってプッシュしてきたりしたらまずいと思うんですがそれは拒否できたりするんですかね

887 :
pull request 来てそのまま merge して repository 壊すタイプ

888 :
レポジトリは3つあるよ。
1. プルリクエスト受ける側 (オーナーA)
2. そこからforkして、じぶんのリモートになるレポジトリ(オーナーB)
3. 2からローカルにcloneしたレポジトリ(オーナーB)
pushは2と3のやりとりで、featureブランチ開発してpush。そのブランチをプルリク出して、レビュー。プルリクはGiHub/GitLabの操作。コードが良ければ、1のオーナーが2のブランチを1へマージ(っていうかpull)。
その後にmasterにマージするかは1の人次第だよ。masterの運用は、1の人が考えればいいよ。どんな開発かわからないけど、普通はデプロイするときにmasterにマージするんじゃないかな。

889 :
gitって初心者には難しくないですか?
まともなレベルと規模のチーム開発を経験しないと、その機能がなんのためにあるのかイメージし辛いし
こういうのってどうやるの?って毎度毎度ググる日々…

890 :
無理してでも覚えてもらう以外なかろう。
pull, push, add, commit, checkout, status, diff
これくらいをとりあえず覚えてもらって、困ったら聞いてもらうようにするとか。

891 :
>>888
理解しました。1.と2.が別物という認識がありませんでした。なるほど何分一人で一つのリモートに対してずっとやってきてたもので

892 :
リポジトリ壊して怒られたことある人います?

893 :
いませんよ

894 :
壊されて怒ったことなら

895 :
リモートのが壊れただけなら
自分のところにある正しいものをpush

896 :
リポジトリ壊すとハカイダーの称号が与えられる

897 :
わりと push -f を気軽にやるのなとビビったことはある

898 :
>>793
遂に、先月GCCのリポジトリがGit に移行完了した模様。


It's 2020 And GCC Has Finally Converted From SVN To Git
Written by Michael Larabel in GNU on 12 January 2020 at 07:31 AM EST

https://www.phoronix.com/scan.php?page=news_item&px=GCC-Is-On-Git

899 :
githubの使い方覚えようと思ってsourcetreeとかGitKrakenとかCUIでやるかとか色々検討したけど結局いつものVisualStudioにエクステンション突っ込むので落ち着いてしまった
だめだVSに完全に調教されている。俺は軟弱なプログラマだ

900 :
すれち

901 :
ツールの話はスレチなの?

902 :
>>901
GitHubの話がスレチなんじゃないか?
ソースコード ホスティング総合【GitHub,GitLab,Bitbucket等】
https://mevius.2ch.sc/test/read.cgi/tech/1531824290/

903 :
>>902
でも>>899の言ってる内容はGithub限定の話ではないけど

904 :
気にするほどのことはないので大丈夫だよ。

905 :
たまにいるgithub=gitな人でしょ

906 :
このスレって常連は10人位か?

907 :
またまたご冗談を

908 :
点呼
1

909 :
点呼禁止

910 :
点呼 2

911 :
なんやかんやありまして

912 :
点呼3

913 :
オレが3人分になる…

914 :
ここまで俺の自作自演

915 :
でんこ
10

916 :
点呼4

917 :
Git v2.26.0-rc0

918 :
https://opensource.com/article/20/3/git-cola
Make Git easy with Git Cola
Get started with Git Cola, a graphical user interface for Git.

919 :
Qiitaだけでも、git入門、git基礎、いまさらgitについてまとめてみた的なのが乱立してる時点で
初学者に理解されにくい糞仕様が存在してるのではと思われそう。

920 :
CUIってだけで難しいと思われるこんな世の中じゃ

921 :
管理者が使うコマンドとフローを制限してやる必要があるな
あと定番で使うコマンドのオプション指定がハイフン2つなのはイケてないと思う

922 :
ハイフン2つのオプションの方が自動補完しやすいから楽じゃん

923 :
GUIがなのはCUIが使えない人に対するハラスメントだと言われたことある

924 :
CUIおじさんとORM嫌いおじさんとstaticおじさんて同じ人?

925 :
gitでcuiの人はいくらでも居るでしょう

926 :
Windows 10, WSL, Ubuntu 18.04 では、最初から、git が入っている
Ruby のバージョンマネージャー、rbenv をインストールしたけど、
rbenv-installer の説明通りに、以下を実行する
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash
このシェルスクリプト内で、勝手に、git を使ってる!
git init
git remote add -f -t master origin https://github.com/rbenv/rbenv.git
git checkout -b master origin/master
git clone https://github.com/rbenv/ruby-build.git "${rbenv_root}/plugins/ruby-build"

927 :
Git 2.25.2

928 :
Git v2.26.0

https://github.blog/2020-03-22-highlights-from-git-2-26/

929 :
「Git 2.26」リリース、git rebaseのデフォルトバックエンドが変更される
https://mag.osdn.jp/20/03/24/150000

930 :
git が難しいのは利用グループごとに使い方が異なっていて標準の使い方がないからだよ。
応用の効く多様性のあるツールという利点なんだけど、自分たちの使い方だけが唯一の正解と思っているアホが多すぎる。

931 :
>>930
どうしたの?急に
何かつらいことでもあったの?

932 :
まあ、Excelも難しいし、インターネッツも難しいよな
標準の使い方がないから

933 :
Excelの標準的な使い方は方眼紙だろJK

934 :
ExcelもXML形式になったから
Gitで差分管理できるようになるといいなあ

935 :
xlsxをzip展開した状態でリポジトリに入れればいいのかな

936 :
VSCode の、Git の拡張機能で、差分表示できないの?

937 :
>>930
同意。git自体はかなり使いやすいツールだと思う。
最近気になるのは若い連中がなぜかSIerみたいな運用を好むってところかな。
それやりたいならsvnでも使ってりゃいいのにと思う。

938 :
>>937
具体的にはどういう運用?

939 :
mergeまでにあほみたいな数の承認の山が必要な運用

940 :
具体的には?

941 :
なんだただの馬鹿か

942 :
使い方が間違えてるなら指摘すればいいのに

943 :
>>941
どうやって承認してるかも言えないの?

944 :
まさかGitHubのコードレビュー機能が嫌だとかそういうレベルの話?

945 :
>>934
コンフリクトしたときに手動マージする自信がないなぁ

946 :
たにぐちまこと
Git+GitHub入門 #01:リポジトリーの作成とコミット
https://www.youtube.com/watch?v=_PyuylNk64o&list=PLh6V6_7fbbo_M3CqTeJvuXB08--fibyBu
YouTube に、分かりやすい動画がある

947 :
Git v2.27.0-rc0

948 :
脆弱性?

949 :
リモート追跡ブランチは全コミットオブジェクトやファイルを含んでるの?
一部メタデータだけとかじゃなく?

つまりリモート追跡ブランチがリモートリポジトリの最新状態を反映していれば、
オフラインでもリモートリポジトリの最新状態を(リモート追跡ブランチから)ローカルリポジトリに反映できる?

950 :
ローカルリポジトリじゃないな。
オフラインでもワークツリーにリモートリポジトリの最新状態を反映できるか?

951 :
できる

952 :
https://qiita.com/uasi/items/69368c17c79e99aaddbf
これのmasterとかmy-local-fooは何というんだ?

953 :
1)リモートリポジトリ無しで自分のPCだけでgitを使っている場合、
リモート追跡ブランチは一切存在しない?
2)その場合、自分のローカルリポジトリからcloneすることは可能?
つまりGitは次々と拡散的にcloneしていけるものなんだろうか?
言い換えれば、リモートリポジトリなるものの正体は単に誰かのローカルリポジトリだろうか?

954 :
図の奴はmasterもmy-local-branchもローカルリポジトリのローカルブランチ
ローカルに作成してどこへも push してないローカルリポジトリには、リモート追跡ブランチは存在しない
ローカルリポジトリからcloneすることは可能で、次々と拡散的にcloneできる
しかし、一般的には、cloneやpush/pullだけする上流のリポジトリは、--bare オプションを付けて作成されていて、ワーキングツリーが存在せず、checkout とかできない
さらに、github みたいなサービス上に存在するリポジトリの実体はもっと違うものであってもいい

955 :
Git v2.27.0

956 :
基本的なことでしたらすみません
マージしてpushしようとしたら、既にリモートのブランチが更新されてた場合ってどう対応してますか?

957 :
>>956
fetchして、ブランチを全部表示すると、
自分のブランチとリモートブランチが枝分かれしてるから、
そのリモートブランチを持ってきて、自分のブランチにマージしてからコンフリクトを解消、改めてプッシュしたらいいのでは
それか、自分のブランチをリベースするか
(リモートブランチの先端に自分のブランチの変更をすべてチェリーピックするのと同等)

958 :
>>957
自分も前者のやり方で対応してたのですが、
マージ先のブランチを更新する人が多く、pushするタイミングが難しくて質問してみました
リベースはやったことないので調べてみます

959 :
pullしてそのままpushするだけでいいよ
履歴を綺麗に保ちたいならgit pull -rebase
時間のかかる大規模なマージのときは事前にコミュニケーションをとって不幸な競合をなるべく回避するように根回し
ひとつのブランチに対してコミットする人が多すぎるならブランチ運用の設計がまずいかもと相談する

960 :
その状況だと、リベースとマージは同じだと思うよ。
pushするときに毎度マージが発生するのは仕方ないかもしれないけど、
それをマージしおわってpushしたらもう更新されてたっていうのなら、運用見直したほうがいいと思う。
調停する人置くとかしないとならんかな

961 :
Masterって言葉は差別的らしい。

こういう流れを受けて、git 本体のMLでも議論されてる。
Rename offensive terminology (master)
https://public-inbox.org/git/bef39243-806f-7c4a-c3d1-f3500ec377be@iee.email/T/#t
というスレで議論されてる

うーん

962 :
主人も婦人も夫人も差別語だな
フェミ厨の出番だぞがんがれ

963 :
Masterさんを迫害するな差別主義者どもめ

964 :
メタリカのアルバム「Master Of Puppets」の邦題が「メタル・マスター」というのは、どう考えてもおかしい。

965 :2020/06/13
BLMの飛び火だろうか
ATA規格のmaster vs slaveが避けられるのはわかる
masterのあるじとしての語義は宜しくないんだろう
でもmaster copyのような原本としての語義までケチをつけるのはどうなのか
Master Yodaのような達人や先生の語義は言わずもがな

>>962
mistressも同じだからフェミ云々はお門違いだろ

Google NaCl プログラミング 2mol
【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】
【独学】一人で勉強する奴らのスレ【自習】
家計簿ソフトを作る
【マック】Macintoshプログラミング質問箱
MSX-BASICの奥義を伝授するスレ
【DI】Java Spring Frameworkを語るスレ 5.0
構造化プログラミングはまだ必要ではないのか?
P2P型の完全匿名掲示板はまだ出来ないの?その5
【統計分析】機械学習・データマイニング27
--------------------
禁煙記念日【2004/10/05 00:00:00】
【ツダケン】津田健次郎 とかいう声優の仕事が増えまくってるらしい [856517811]
モー娘。佐藤の「写真集で水着を着たくない理由」が話題「私達には売上の7割も入らない。そんな安い対価では嫌」
【嘘つき】立憲民主党はたくさんだ【能なし】
【文春】辛坊治郎が日テレ女性社員に「壁ドン」パワハラ★3
奈良高専 1年 I科 情報交換スレ
全ツッパスレ144
猫あそび
【社会】テレワーク実施は97・8% 経団連調査
喪女がオカルトを語るスレ Part.2
☆。三重での一人暮らし2。★
【HONDA】 ホンダ N-ONE vol.86
東方シリーズはなぜオワコンになったのか?
自主製作のAVの販売事業を始めたい
【アウトロー】吉永雅敏(Yoppi)【軍団長】Jonny
振腹婆ヲチスレ
☆会社が俺達を裏切る時・思考実験
【スズキ】スペーシア・カスタム・カスタムZ★33
【令和でも】スズキ変態スレ120【スズキに乗れ】
ステイゴールド産駒応援スレッド part110
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼