Git 16©2ch.net

ソースコード管理を行う分散型バージョン管理システム、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.net/test/read.cgi/tech/1457412803/
Git 15
http://mevius.2ch.net/test/read.cgi/tech/1486239735/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured

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

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

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

138デフォルトの名無しさん (ワッチョイ e33d-LtnT [211.125.197.29])2017/11/25(土) 16:13:13.39ID:scmEtkJ60
後でbisectした時に困るって話?

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

140デフォルトの名無しさん (アウアウアー Saab-LtnT [27.93.161.230])2017/11/25(土) 18:33:01.06ID:Khw/xjwda
ログメッセージの修正だけが目的で
元と同じ場所にrebaseするだけなら大丈夫だろう

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

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

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

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

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

143デフォルトの名無しさん (ワッチョイ 0595-3a+g [150.249.159.53])2017/11/26(日) 21:22:48.07ID:NknDgLnA0
作成したリポジトリから複数回プッシュした変更分ってmasterにも複数回マージすれば良いのんかね
それとも最後のプッシュぶんだけマージすれば変更分は全てマージされるん?
gitよくわかんねぇんご

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

145デフォルトの名無しさん (アウウィフ FFa9-yX5g [106.171.65.200])2017/11/28(火) 12:41:47.97ID:EqW/cfNYF
差分や増分バックアップとは違うんだ

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

147デフォルトの名無しさん (ワッチョイ c5e9-WTEI [182.165.117.50])2017/11/29(水) 08:47:58.58ID:LckLrbbe0
誰かgit初心者の勉強につきあってくれる人はいないかなぁ
そんな人を探して初レス

148デフォルトの名無しさん (ワッチョイ c5e9-WTEI [182.165.117.50])2017/11/29(水) 08:55:48.00ID:LckLrbbe0
勉強につきあってもいいよという人がいたら↓にきてよ

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

2.15.1

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

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

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

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

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

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

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

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

154デフォルトの名無しさん (ワッチョイ 2323-S6Dr [122.215.159.99])2017/12/21(木) 13:22:44.51ID:PbmhXIq30
>>152
cloneなr常に成功するかもな

mao.5ch.net/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 から取り直すこと

Git v2.16.0-rc0

157デフォルトの名無しさん (ワッチョイ c711-kLma [122.22.135.249])2017/12/31(日) 18:18:45.28ID:Du3gmatL0
よくわからないので教えてください。
リポジトリとなるフォルダとして、 git-sampleフォルダを作成し登録しました。
この中で20181231.txtというファイルを作ってコミットし、成功しました。
ここで、別のファイルも管理したいと思い、git-sampleフォルダの中で、
テスト用.txtを作成し、コミットさせると、20181231.txtと同じブランチに
紐づいてしまいます。
それぞれを別のファイルとして管理させたい場合は、ファイル登録時に
どうすればよいのでしょうか?

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

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

160デフォルトの名無しさん (ワッチョイ c711-kLma [122.22.135.249])2017/12/31(日) 23:02:24.79ID:Du3gmatL0
>>158
素人で申し訳ないのですが、樹形図列に表示されている線が1本のみで、
その1本に20181231.txtとテスト用.txtが紐づいている感じですが、
それぞれのファイルごとに樹形図があると思っていたのですが、そうでは
ないのでしょうか?
それであれば、ファイルごとの状態を把握するのが難しいような・・

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

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

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

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

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

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

166デフォルトの名無しさん (ワッチョイ 8f9f-48kh [114.16.82.189])2018/01/02(火) 07:35:38.59ID:xHknK7DQ0
「未コミットの変更状態」が作業ディレクトリに残った状態で
他人がコミットを進めたブランチをpullしてくると
作業ディレクトリはどうなるの?

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

Git v2.16.0-rc1

Git v2.16.0-rc2

Git v2.16.0

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

Git v2.16.1

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

174デフォルトの名無しさん (ワッチョイ 5e7f-ArRo [119.245.33.33])2018/01/27(土) 15:36:45.37ID:FKF1aZVQ0
ソースコードもペーパー大好き日本人の感覚で言えば
稟議書のごとく書式チェックされる。
ちょっとでも書式が崩れていたら(問題なく動いたとしても)
すぐ差し戻される。
日本人は救いがないくらい馬鹿すぎる、なんだこの情弱国家は。

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

176デフォルトの名無しさん (スププ Sdf2-szy9 [49.96.19.35])2018/01/27(土) 16:19:47.17ID:R/dV78Std
他人が読めない糞コード書くからやり直しさせられてるんだな
gitが品質向上に役立ってることが分かりました

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 のどちらのスレに質問するのが適切かわからず、
とりあえず賑わいがあるこちらに質問しました)

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

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

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

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

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

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

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

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

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

git config --global --list

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

Git v2.16.2

新着レスの表示
レスを投稿する