Git 16©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
ソースコード管理を行う分散型バージョン管理システム、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

0952デフォルトの名無しさん (ワッチョイ 2ab9-4KSb [123.48.128.206])2020/06/01(月) 20:15:32.26ID:FNfjc0Rl0
https://qiita.com/uasi/items/69368c17c79e99aaddbf
これのmasterとかmy-local-fooは何というんだ?

0953デフォルトの名無しさん (ワッチョイ 2ab9-4KSb [123.48.128.206])2020/06/01(月) 21:15:21.19ID:FNfjc0Rl0
1)リモートリポジトリ無しで自分のPCだけでgitを使っている場合、
リモート追跡ブランチは一切存在しない?

2)その場合、自分のローカルリポジトリからcloneすることは可能?
つまりGitは次々と拡散的にcloneしていけるものなんだろうか?
言い換えれば、リモートリポジトリなるものの正体は単に誰かのローカルリポジトリだろうか?

0954sage (ワッチョイ 8a84-4KSb [115.176.139.111])2020/06/01(月) 22:04:07.44ID:cdzKAQgn0
図の奴はmasterもmy-local-branchもローカルリポジトリのローカルブランチ

ローカルに作成してどこへも push してないローカルリポジトリには、リモート追跡ブランチは存在しない

ローカルリポジトリからcloneすることは可能で、次々と拡散的にcloneできる

しかし、一般的には、cloneやpush/pullだけする上流のリポジトリは、--bare オプションを付けて作成されていて、ワーキングツリーが存在せず、checkout とかできない

さらに、github みたいなサービス上に存在するリポジトリの実体はもっと違うものであってもいい

Git v2.27.0

基本的なことでしたらすみません
マージしてpushしようとしたら、既にリモートのブランチが更新されてた場合ってどう対応してますか?

>>956
fetchして、ブランチを全部表示すると、
自分のブランチとリモートブランチが枝分かれしてるから、
そのリモートブランチを持ってきて、自分のブランチにマージしてからコンフリクトを解消、改めてプッシュしたらいいのでは

それか、自分のブランチをリベースするか
(リモートブランチの先端に自分のブランチの変更をすべてチェリーピックするのと同等)

>>957
自分も前者のやり方で対応してたのですが、
マージ先のブランチを更新する人が多く、pushするタイミングが難しくて質問してみました

リベースはやったことないので調べてみます

pullしてそのままpushするだけでいいよ
履歴を綺麗に保ちたいならgit pull -rebase
時間のかかる大規模なマージのときは事前にコミュニケーションをとって不幸な競合をなるべく回避するように根回し
ひとつのブランチに対してコミットする人が多すぎるならブランチ運用の設計がまずいかもと相談する

その状況だと、リベースとマージは同じだと思うよ。
pushするときに毎度マージが発生するのは仕方ないかもしれないけど、
それをマージしおわってpushしたらもう更新されてたっていうのなら、運用見直したほうがいいと思う。
調停する人置くとかしないとならんかな

Masterって言葉は差別的らしい。

こういう流れを受けて、git 本体のMLでも議論されてる。
Rename offensive terminology (master)
https://public-inbox.org/git/bef39243-806f-7c4a-c3d1-f3500ec377be@iee.email/T/#t
というスレで議論されてる

うーん

0962デフォルトの名無しさん (アウウィフ FF67-+Do1 [106.171.64.134])2020/06/13(土) 09:41:05.39ID:rZLMUl8aF
主人も婦人も夫人も差別語だな
フェミ厨の出番だぞがんがれ

Masterさんを迫害するな差別主義者どもめ

0964デフォルトの名無しさん (ワッチョイ ffad-E0Y3 [61.26.120.165])2020/06/13(土) 11:06:15.43ID:QZzer1mT0
メタリカのアルバム「Master Of Puppets」の邦題が「メタル・マスター」というのは、どう考えてもおかしい。

BLMの飛び火だろうか
ATA規格のmaster vs slaveが避けられるのはわかる
masterのあるじとしての語義は宜しくないんだろう
でもmaster copyのような原本としての語義までケチをつけるのはどうなのか
Master Yodaのような達人や先生の語義は言わずもがな

>>962
mistressも同じだからフェミ云々はお門違いだろ

Masterを「原版」not主人の意味に定義すりゃ終わる話だな。
手間かけて修正するほどの話じゃない。

言い出しっぺはパッチ出したのかな?

SJWにはうんざりする

デフォルトのブランチ名の上書きのためのパッチがMLで議論されてる。
パッチの作者はMSの人だと思う

[PATCH 0/9] Allow overriding the default name of the default branch
https://public-inbox.org/git/xmqqd05xtp2g.fsf@gitster.c.googlers.com/T/#t

Github、人種差別を連想させるコーディング用語の見直しへ
https://www.gizmodo.jp/2020/06/github-to-remove-master-and-slave-coding-terms-widely-s.html

米GizmodoがGithub広報に確認したところ「3つの変化を起こすため、Gitプロジェクトや他のバージョン管理ベンダーと共に積極的に取り組んでいます」と詳細を明かしています。それによると3つの変化とは次の通り。

(1) 新規リポジトリでデフォルトのブランチ名を‘master’から変更する
(2) すべての新規リポジトリで、自分のデフォルトのブランチ名を簡単に選択できるようにする
(3) 既存リポジトリでデフォルトのブランチ名を変更する方法について、ユーザー向けのガイダンスやツールをリリースする

今回、見直されている用語は長い間批判されていましたが、GithubのほかPythonも非攻撃的な用語への切り替えに着手していること、
さらにGitlabが最初のイテレーションに取り組んでいて、ユーザーが自分のデフォルトのブランチ名を選択できるように動いていることを明かしています。

git自体も差別じゃないんか

せめてエイリアスにしてくれ
こんなくだらない理由で改修とかバカバカしすぎる

gitのブランチ名はmastet以外に好きに変えられるからいいとしても、デファクトスタンダードな用語をいまさら変えるなんて混乱が起きそうだ
これからmasterブランチのことをなんて呼んだらいいんだろう

「メインブランチ」でいいじゃん。

>>969
githubの話は別のスレでやってくれ

0975デフォルトの名無しさん (アウウィフ FFa3-HKig [106.171.70.17])2020/06/21(日) 16:17:31.25ID:rRP2z2l8F
>>973
パワハラでsubmoduleから提訴されるんですね


Git v2.28.0-rc0

rebase -i でコミット整理してる時、面倒なコンフリクトが大量に発生したら皆さんどうしてますか?
やっぱり手動で逐一解決しますかね?

>>978
rebase中止して、conflict解消したcommitして全部sqash

Git v2.28.0

0981デフォルトの名無しさん (ワッチョイ 02ad-RnSF [61.26.120.165])2020/07/28(火) 18:56:12.85ID:55CoBPro0
macOSの brew が鬼のような速さでgit更新に対応してた。

git公式がポリコレ機能アピールしててワロタwwwww
もうこの世界オワタwwwww

https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.28.0.txt

The name of the primary branch in existing repositories, and the default name used for the first branch in newly created repositories, is made configurable,
so that we can eventually wean ourselves off of the hardcoded 'master'.

0984デフォルトの名無しさん (エムゾネ FFff-QWST [49.106.174.66])2020/07/29(水) 09:54:08.36ID:H7KKJzsxF
M$が関わると碌なことにならない

git本体にMSの魔の手が及んだ訳では無いだろ

gitとGitHubを混同してる人結構いるもんね

Highlights from Git 2.28
https://github.blog/2020-07-27-highlights-from-git-2-28/

筆頭にポリコレ機能が…

git 〜地図にない場所〜

コミット&プッシュしたとき
ローカルリポジトリ更新されて
リモートリポジトリでコンフリクトでエラーが出て止まったときって
プルしようにもローカルリポジトリでエラー出て
プッシュはもちろんできなくて
作業フォルダは>>>>>>>>>>文字列で
やられちゃってるじゃないですか?

一旦リモートリポジトリの全部とって
手動でマージしたいんですけど
なんとか前の状態に綺麗に戻せませんでしょうか?

git checkout .

>>990
あ、やっぱりそのブランチは死んだと見るべきってことですね
回答ありがとうございました

>>991
ブランチは死んでない、なぜならコミットしてるのだからそこまでは戻せる
pull(リモートとのmergeのこと)にconflictして失敗したのだから、ダメになったのは作業コピー

作業フォルダが>>>>>でやられてるという理解がまず変じゃない?
Gitが分かりやすく競合位置をマーキングしてくれてるだけの一般的な状態
そこから生でテキストを編集するのが怖いならGUIのツールを使えばいい
これができないと常に競合に怯えることになる

ソース全体に無駄にフォーマッタをかけてしまって大量に競合した等、訳あってマージを取り消したいなら
git merge --abort
でマージ前に戻る
綺麗にpullしたいならさらに
git reset --hard HEAD^
でコミット前に戻してからpullして手動マージ

マージコミットを作ってもいいなら
git checkout --theirs .
でリモートのファイル内容になる
git checkout .
だとローカルが優先されるんじゃないかな、間違ってたらすまん
どちらにしてもマージの仕組みを理解していない人がこれやると不味いミスをやらかすかも

>>994
それって亀Gitやsourcetreeだとどういう操作になりますか?

>>996
亀ならログを開いてマージ直前かコミット前のコミットを選んでリセット
リセットするときhardを選ぶ

不馴れならhardでマージ前に戻してからmixedでコミット直前の状態に戻して、自分がコミットしたときの編集内容をアナクロな手段で待避しておいた方が安心かもな

>>997
ありがとうございます

@pushで失敗したときのローカルリポジトリのソースをエクスポートで退避
Aリセットhard
B一応プル
C@を手作業でマージ
Dcommit&push

って感じでやってみます!
今度コンフリクトしたら


10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1114日 11時間 27分 51秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。