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 1)リモートリポジトリ無しで自分のPCだけでgitを使っている場合、
リモート追跡ブランチは一切存在しない?
2)その場合、自分のローカルリポジトリからcloneすることは可能?
つまりGitは次々と拡散的にcloneしていけるものなんだろうか?
言い換えれば、リモートリポジトリなるものの正体は単に誰かのローカルリポジトリだろうか? 図の奴はmasterもmy-local-branchもローカルリポジトリのローカルブランチ
ローカルに作成してどこへも push してないローカルリポジトリには、リモート追跡ブランチは存在しない
ローカルリポジトリからcloneすることは可能で、次々と拡散的にcloneできる
しかし、一般的には、cloneやpush/pullだけする上流のリポジトリは、--bare オプションを付けて作成されていて、ワーキングツリーが存在せず、checkout とかできない
さらに、github みたいなサービス上に存在するリポジトリの実体はもっと違うものであってもいい 基本的なことでしたらすみません
マージして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
というスレで議論されてる
うーん 主人も婦人も夫人も差別語だな
フェミ厨の出番だぞがんがれ メタリカのアルバム「Master Of Puppets」の邦題が「メタル・マスター」というのは、どう考えてもおかしい。 BLMの飛び火だろうか
ATA規格のmaster vs slaveが避けられるのはわかる
masterのあるじとしての語義は宜しくないんだろう
でもmaster copyのような原本としての語義までケチをつけるのはどうなのか
Master Yodaのような達人や先生の語義は言わずもがな
>>962
mistressも同じだからフェミ云々はお門違いだろ Masterを「原版」not主人の意味に定義すりゃ終わる話だな。
手間かけて修正するほどの話じゃない。
言い出しっぺはパッチ出したのかな? デフォルトのブランチ名の上書きのためのパッチが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のブランチ名はmastet以外に好きに変えられるからいいとしても、デファクトスタンダードな用語をいまさら変えるなんて混乱が起きそうだ
これからmasterブランチのことをなんて呼んだらいいんだろう >>969
githubの話は別のスレでやってくれ >>973
パワハラでsubmoduleから提訴されるんですね rebase -i でコミット整理してる時、面倒なコンフリクトが大量に発生したら皆さんどうしてますか?
やっぱり手動で逐一解決しますかね? >>978
rebase中止して、conflict解消したcommitして全部sqash 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'. コミット&プッシュしたとき
ローカルリポジトリ更新されて
リモートリポジトリでコンフリクトでエラーが出て止まったときって
プルしようにもローカルリポジトリでエラー出て
プッシュはもちろんできなくて
作業フォルダは>>>>>>>>>>文字列で
やられちゃってるじゃないですか?
一旦リモートリポジトリの全部とって
手動でマージしたいんですけど
なんとか前の状態に綺麗に戻せませんでしょうか? >>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
って感じでやってみます!
今度コンフリクトしたら このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1114日 11時間 27分 51秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。