Git 16©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
jira使ってるところはbitbucket使うし問題ない gitはバージョンアップしなくても使えるからバージョンアップしない 次の次( git 2.22 ? ) あたりで、 git switch ってコマンドができるみたいだな。
git checkout とは似て非なるコマンドのようだ。 マジで?
tortoise gitはswitchって文言をcheckoutのために使ってるからややこしいね stashとcheckoutを合わせたようなニュアンスを感じるが、どんなもん? 最新リリースのバグ対策を進めながら、そのうちいくつかのバグ修正が旧リリースにも必要なことが判明したときとか
同僚が開発してた機能にDBの定義変更があって、自分の担当する機能にも同じ変更の影響があることに後から気付いてSQL周りを貰いたくなったときとか >>567
よそのブランチから良さげな修正だけを持ってくる時に使うくらいかな >>567
きれいなコミット履歴を作りたいときに多用するよ
コミットを終えた汚い(他の人がレビューしづらい、自分で振り返りづらい)ブランチの先端で
別の名前のブランチを作っておき、
やり直したいところで新たなブランチを作り、
そこに汚いブランチから、コミットの順序を入れ替えたり一部のみ取り込んだりするときにチェリーピックを使うよ そのブランチの分岐元でならともかく、先頭でやるなら rebase -i かな。 自分はほとんど使った経験ないけど
revabse -i があることで、割と気楽にコミットできる心理的メリットみたいなのあると思う チームによってrebace派とmerge派があって、
色々難しいお。 revabse vs rebace vs rebase vs merge
ファイッ マージのポリシーの派閥はこのぐらいある
rebase せずに merge --no-ff 派
rebase せずに merge 派
rebase して merge --ff 派
rebase して merge --no-ff 派 branchとcheckoutとcherrypickとrebase -iとmerge全部バンバン使うでしょ >rebase して merge --ff 派
>rebase して merge --no-ff 派
どちらか一方を revabse に汁 所詮は道具なんだし、
必要なときに調べながら使えばいいと思う stashしたらcheckoutできなくなったんですが >>597
stash の pop や apply はコンフリクトする可能性があるから、git status で確認 stageしてない変更を全部消すのってどうやるんでしたっけ? >>601
ありがとうございました
>>602
サーセン
ググってもわからんかった いくらバージョンアップしても今まで以上のことは何もする必要ないからもうバージョンアップしなくていい git reset --hardを最強に高速化してほしい Git 2.21」リリース
2019年2月26日16:30 末岡洋子
https://mag.osdn.jp/19/02/26/163000 gitkで表示されるコミットヘッダに Follows: という直近のタグっぽいものがあるけど、
同じものを表示するコマンドって何?
git log かなと思ってヘルプを探したけどわからなかった。 Follows が前で Precedes が後ろなのね
git describe で直近の tag は分かるけどちょっと挙動が違うし、Precedes は調べられなさそう
git tag --contains の結果をひとつづつチェックして Precedes を、
git tag --no-contains の結果をひとつづつチェックして Follows を、
探してるのかな? GitのwindowsGUIの質問はスレ違い?
普段MercurialでTortoiseHgを使ってるのだが
Gitも触ってみようとTortoiseGitを導入したところ、これが使いにくい
複数のブランチがある状況で、リビジョングラフを見ながらdiffテキストをサクッと見たり、
コミット等を行ったり、リビジョンに復旧したりしたいが
TortoiseHgだと単一ウィンドウですべて収まってできて便利なんだけど、
TortoiseGitは状況の把握と操作が複数のウィンドウにまたがっていて簡単にはできないような気がする
コマンドライン実行をそのままウィンドウ出力にしている感じ
これに文句が出ていないのは、何かうまい使い方があるということ?
(いくつかのウィンドウを開きっぱなしにするのが常識とか)
それともGitとMercurialの考え方の違いからくるものなのか? 文句が出ないのは誰も使ってないから
Git for Windows の方が良い エクスプローラに統合されるのはウザイから亀シリーズは使わないなあ
自分はVisual Studioとgit bashの併用だけど、単体のGUIはSourceTreeが人気らしいね >>617
妙に情報少ないなと思ったがやはりTortoiseGitはマイナーか
ありがとう >>618
SourceTreeいいですね、ありがとう
TortoiseGitは意味わからんな、なぜHG版とここまで使用感が違うのか
歴史的な経緯だろうが SourceTree派だけどお気に入り。
git初めての新米たちにも教えやすくてありがたい。 sourcetreeはインストールして放置してるけど何が強みなんだろうか
ブラウザ(プルリク/マージ)+VSCode+GitLensで出来ない機能ってある? GitLensいいな、もう少しでIntelljIDEAのGit拡張に追いつけそう >>622
VSCodeに依存せずに使えるメリットがある >>616
ログを表示したあとのグラフのウィンドウの左下にある2つのチェックボックスにチェックを入れて
すべてのブランチを表示
プロジェクト全体を表示
を有効にすればよいのでは TortoiseGitめっちゃ気に入って使ってるけどなあ
日本語化するとGitのコマンド名と離れすぎてよく分からなくなるから
英語のまま使うのがいいよ >>622
強みか微妙だけど、gitに絞ったGUIだから初心者には取っつきやすいし操作が覚えやすいと思う。 >>620
どちらかと言うとTortoiseHgが特殊。 そりゃまだsvn使ってる現場さえも珍しくないですからね >>630
その理屈はおかしい
svnはgitが出る前の標準だった。使ってる所は多かったので今も残ってるだろう。
そしてsvnの次として、同時期に似ているコンセプトで git or mercurial がでてきた。
すぐにgitが勝利したので、mercurialを使ってる所は少ないままだったはずだ。 >>631の謎理論が面白かったので俺も謎理論を展開してみる
svnからgitやmercurialに移行する動機は大いにあってもmercurialからgitに移行する動機はさほどなく、場合によっては新しくmercurialを採用することもありうる
となるとsvnユーザーは出涸らし状態であり、svnよりmercurialの方がユーザー数が多いと言える ?
ユーザー数や検索トレンドの推移を見ればどの理屈が事実に最も近いかわかると思うんだが >>632
svn -> mercurial ・・・ 初期に僅かに移行。その一部はgitに移行。最初から少なく更に減っている。
svn -> git ・・・ 殆どがこのケース。多い
svn ・・・どちらにも移行できない所がまだ残ってる。移行したとしてもgit
mercurialに移行した所よりも、svnのまま移行できない所の方が多いので
mercurialのユーザーは少ないよ。 facebook は mercurial 使ってるはず
google も独自 vcs で、git をメインには使っていない 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 あたりかなー >>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 ではアクセスできる模様。 gitattributesとeditorconfigで文字コードと改行コードが二重管理になってしまった
どっちかを移譲にできないものか 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顧客テスト用の機能を作った場合、マージしない(できない)ままのブランチが発生するのが良いのかわからないことです。
プルリクは使用しない想定です。
良い案があれば教えてもらえると助かります。 その3つの機能が依存関係が少なくてパラレルに開発した後にマージするので問題が起こりにくいのか、
それとも依存関係があってシリアルに開発、もしくは互いを調整しながら開発してしないといけないのかで違いそうな気がする。
前者ならはじめにブランチ作ってdevelopにマージしてテストすればよいと思うけれど、
後者ならdevelopブランチ1本で開発していってテストのときだけ
その時点でdevelop顧客テスト用のブランチを切ってテスト対応はそっちで行って
developにマージする、とかが良いような気がする git flowならreleaseブランチを作ろうよ
8/1顧客テストの機能をdevelopにマージしたいけど前の機能がまだmasterにマージできていないので無理、という状況を避けられる
リリースのタイミングが多少変わった程度でブランチ設計を見直さずに済む >>642
git ffで検索ぐらいしろ。
fast forwardの略。 個人プロジェクトの管理がにっちもさっちも状態に陥ってきたので、噂のGitを導入しようと勉強開始したのですが。
現在オーム社の『入門git』(初版平成21年/第9刷平成25年)を読んでいるのですが、途中まで読んでやや古い書籍である事に気が付きました。
当方Windows10なのでGitHubがMS社に買収された事だし導入もかなり簡単になってるかな・・・と思ったら、CygwinとMSYSへの記述があって、思ってたのと違うと改めてネットで調べ直したのですが。
>>1の関連サイトの"Pro Git - Table of Contents"によれば違う分類による方法が幾つかあるみたいですね。
そうなると、読み始めたオーム社の入門書はどこまで現状に即しているのでしょうか。
基本的な操作が変更される事はないでしょうが、非推奨とかになる事も考えられるので。
あと、良い書籍紹介があると嬉しいです。 >>645
ごちゃごちゃ言わずに手動かさんかいボケェ! >>645
何も考えずにgit for windows入れたら済む話だと思うよ
cygwinがベースの技術使われてるけど別途インストールする必要はないし >>645
gitとGitHubは全く別のもの。プロジェクト的には無関係。
gitの本がGitHubについて詳しく書いていることはまずないし、
買収前のGitHub社も、Microsoftも、gitの開発には関わっていないといって良い。
(Git LFSなど一部影響を与えているがコア部分ではない) javascriptの勉強するためにJava始めました観たいな感じ GitHubがGitクライアントのひとつではないということは、エンドユーザーからみればどうでもいいことなのかもしれない
それこそがSaaSの目指すべき透過性のry >>651
githubデスクトップアプリのことを言ってるんじゃないかな >>646-652
反応ありがとうございます。
当方WINDOWSに入る前もファイラ時代が長かったもので、コマンドライン感覚が退化してしまっています。
深く考えず教本を読破して、その操作を猿真似して馴染む事を目標に作業再開しようと思います。
指針を与えてくださり、ありがとうございました。 別に無理して最初からコマンドライン使う必要もないと思うけど
Visual StudioとかVSCodeとかGUIからgit扱えるし 今時gitが使えないとチームで開発できないからプログラミング言語同様必須知識だよ 基本的な流れは分かったけど
細かいコマンドやオプションまで入れたらとんでもない量ある https://qiita.com/xtetsuji/items/555a1ef19ed21ee42873
upstreamという名前を付けてるけど
リポジトリ自体に名前がついてるんじゃなくて
リポジトリの利用者側が勝手に名前を付けてるの?
おかしくない? そうすることで名前の重複問題を解決させようとしてるのか
名前空間みたいな概念が無いのか ローカルリポジトリから見たremoteの名前なんだから勝手につけて当然。originだってそう。 >>659
エイリアスだよ
本当のリポジトリの名前は、URIそのもの
URIは一意なんだから名前空間などなくてもかぶらない
長いから、originとかupstreamという別名を付けてるだけの話 git remote -v
でリモートリポジトリの一覧が表示されますが、
push先として設定されているリモートリポジトリを一部削除する事はできますか?
fetch元としては使い続けたい そのリモートリポジトリはgithubのなんですが
そもそもgithubのリポジトリは権限が無ければ書き込まれないかも、と思ったんですが
合ってますか そりゃ他人が勝手にウイルスコード埋め込めるわけ無いやろ いや、できるんじゃないか・・・これ・・・
githubガバガバ ローカルリポジトリに権限の概念はないぞ。
リモートにpushできるかは権限による。 >>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
あるやろ。
いまどきgitじゃないと開発者が寄って来ない。
開発者が居ないOSSは死ぬよ。 「今時」ってそれだけの理由かよ。
開発者だけどどっちでもいいわ > 開発者だけどどっちでもいいわ
どっちでもいいってことは、どっちも知ってるはずだけど
違いしてていていってんの?svnとgitの比較言える? git cloneしたフォルダをコピペで別の位置に移したら
何か問題出る? githubで自分がフォークしてるプロジェクトがあって
他の人もフォークしてて、他の人がその人のリポジトリでやったコミットを本家にPRしてて、
でもマージされてなくて、でも自分のフォークでそれをマージしたい場合、どうすれば? >>675
emacs, ruby など大きなプロジェクトがgit に移行している。
何故移行したか、どんな効果があったか、事例見ると判る話。 masterブランチで開発していて、
リリースする時、masterの全部の修正をリリースするんじゃなくて
一部だけリリースする時、リリース用のブランチを作ってそこに
リリースしたいもののみを集めるってやり方でいい?
そしてリリース用のブランチをリリースするわけだけど、
そこにはmasterに入れてないコミットが含まれる。
READMEの修正とか
そういった場合、masterにそれを戻さないといけないんだけど、
リリース用のブランチをmasterにmerge戻すと、同じコミットが二重にできちゃうじゃん?
それを防ぐにはどうしたら良い?mergeじゃなくてcherry-pickで戻す?
それともsquashする?(コミット消したくないけど)
それともリリース用のブランチをmasterからの変更にrebaseしてから、masterにマージする(少し面倒そう) 基本個人開発なんでそこまで面倒くさいことはしたくない
今回バグ修正のプルリクが来て、今masterでやってる作業の切りが悪いので
プルリクと先に出せる部分を、先に出したほうがいいなと判断したので
例外的にリリースブランチを切った git flowなんてめんどくさくもなんともないやろ
むしろmasterで開発してるからそんなめんどくさいことになってるんじゃないか github flowへの文句なら、github flowを論破してからにしてくれ 説明しなくてもわかると思うが、
一人github flow = レビューする人はいない = ブランチきってその都度一人マージ = masterでの開発と何も変わらん 日本語通じてないのはお前だ。
俺はgit flowが複雑であることは世界共通の認識であることを知っているし、
その事実に関して反論していないし、興味も質問もしていない。
git flowが複雑ではないという話をしたいならよそでやれってこと はっきり言わないとわからないようだから言っておくと
git flowは複雑(事実)だから使わないと言ってる。
git flowは複雑(事実)ではないと主張したいのなら、俺ではなく世界とやってくれ
git flowは複雑(事実)ということは、俺が主張していることではない。 >>693もうレスしないでね。
ということで >>684 の質問へのレスよろしく なんで1回git flowの話からgithub flowの話に逸れたん git flowとgithub flowの区別も付いてないのは置いといて、複雑なので我流でやりますというなら好きにやればいいんでないの githubで本家にPR出して、しかしやりとりのなかで
revertだとか再コミットだとかでヒストリーが伸びて、
本家側は最後の1コミットだけをマージする、ということはできるんだろうか? githubでOSSを修正したい場合、
さらにそのOSSをカスタムしたソフトウェアを作りたい場合、
フォークを2つ作るべき? もし最後の1コミットだけマージできるとして、それにどんな意味があるの? 例えばコミット1をPR、問題点が指摘される、コミット1をrevertしてコミット2を作る。
このときコミット2だけをマージして欲しい。
ところがgithubの画面上ではコミット1もrevertもコミット2も表示される。
その一連のヒストリーが表示されてしまう。
さらに、PR中に本家の追従をしてマージコミットが入るかもしれない。 git使うとヒストリーを適切に保つ必要が出てきて
開発が難しくなる 実際の作業ヒストリーは紆余曲折を経ているわけで、
自分のforkリポジトリにそういうヒストリーがあるのは妥当。
追跡しやすいし。
ところが本家にマージする段階ではヒストリーを圧縮して1コミットにしたい。
でもそんな操作できなかった。
しかもPR中にも紆余曲折してヒストリーが伸びる。
どうやってヒストリーを圧縮すれば? 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が書き換えられてしまった >>695
> なんで1回git flowの話からgithub flowの話に逸れたん
よく見ればわかるが、git flowの話もgithub flowの話もしていない。マージの話
ただ「git flowが複雑で、それよりもシンプルなgithub flowなどがある」のに
git flowが複雑だという事実を知らなそうな人に、git flowを使えと言われたから、
世間の認識を知らないなって思っただけ >>702
単に本家のコミット(通常はmasterのHEAD)からの
修正へとrebaseすればいいだけ >>696
> 複雑なので我流でやりますというなら好きにやればいいんでないの
git flowが他のフローに比べて複雑なのは世間で共通している認識なので
その話をすることに意味はない。そのレベルの話はしてない。 git難しい
コミット内容に問題があり修正したい
→修正&動作確認成功
→前のコミット内容は単に要らなくなったからrevertしよう
→作業ディレクトリで変更されているせいでエラー
→じゃあrevertじゃなくて新たなコミットで
みたいな。revertダメなんだ、みたいなのが多い。
分かる?gitのために発想を制限される感じ。
作業手順を見通せるようになるには相当な経験を積む必要がある しかも人によってrevertした方がヒストリー的に好ましいというかもしれない
でも作業手順上、revertしていいのかは新しい変更内容で動作確認をした後じゃないと
分からないから、revertは自然じゃない。 >>707
> 作業手順を見通せるようになるには相当な経験を積む必要がある
gitは作業手順を見せるもんじゃないよ。
変更履歴を見せるのであって、作業履歴を見せるものじゃない。
あんたが一日こういうふうに頑張りましたっていう報告はいらない
欲しいのは結果
だいたいrevertは、みんなが共有しているブランチでやるものであって
個人的なブランチでは使う必要がない
前のコミットが要らなくなったらrebaseして消すのが普通
欲しいのは結果であって、途中の作業報告なんかソースコードの修正の邪魔
(作業報告したけりゃissueでもprでもslackでも好きなところでやればいい) 作業の履歴はコードベースでどんな間違いが起こりやすいかが分かる
rebaseで履歴を消すというアイデアは同意できない > 作業の履歴はコードベースでどんな間違いが起こりやすいかが分かる
それ何が目的?何がしたいのかわからない。 >>710
ああだこうだという試行錯誤があると
コードの変更が "見通せない"
あんたの試行錯誤のあとなんかどうでもいい。
結果を見せろ。重要なのは結果だ。 ただのアップロードツールだとしか思ってない人いるみたいだし
そういう人はロダ使えば良いと思うの コードの変更は本家のヒストリーで分かるから
forkリポジトリに細かい履歴が残っているのは基本的に良い事 >>715
だから試行錯誤の後とコードの変更履歴は別
残すのはコードの変更履歴(みんなに公開する確定した修正の履歴)であって
試行錯誤の履歴(みんなに公開しない確定してない修正の履歴)じゃない
他人が見る価値がないようなものを残したって
見ないんだから意味ないだろ。
それはノイズでしかない >>717
当然pushする前にも試行錯誤するが、
レビューしてもらうためにpushする必要がある。
ただしその内容は確定した変更内容ではないので
全てを残す必要はない >>717
わかった
とりあえずpushしておくよ コミットの内容はあとから見るっていうことを
全く考えてないんだよなw
あとから見る時、見なくても良いものがたくさんあったら
本当に見なければ行けないものがどれかわからなくなる。
あとから見るということを全く考えてないから
記録だけしていればいいと間違った考えになる
あと見るだけじゃなくコミット単位でcherry-pickしたりするので
一連の修正がバラバラになってると再利用できなくなる。 Git v2.22.0-rc2
先日のLinusからの指摘の修正は入ってない模様。 Gitはコミット間違えたとかブランチ名間違えた時の修正がめんどくさい >>723
どういう手順で修正してる?
ちょっと書いてみたよ
(どうせやり方知らないくせにって思ってる) >>563
>>636
新しいコマンド、 "git switch" と "git restore" は次の2.23で入る模様。 Git v2.23.0-rc2
Qiita に git switch / restore の記事を載せるべくアップを始めた奴いる? そもそもキータ()なんて情弱サイトに書くやつ少なくね gistにメモ書きできない人間にキータ(笑)は向いてない gitの本探してるのだけど
cuiメインでguiの本があまりなくて困っています
いい本知りませんか? GUIはいっぱいある上に決定版がないからあんまりないんじゃないの CUIでgitの概念学んだらGUIにほぼそのまま応用できるからGUIの本は不要だわな TortoiseGitでのマージが感覚と反対で最初逆にやってしまった セキュリティの都合上インターネットに繋げない開発環境があって(ファイルを1個やりとりするのは可能、rsync的なことは無理)、手元のマシンとのリポジトリ同期に困ってたんだが
(format-patchとamじゃhashまでは面倒見てくれないしコミット毎の管理になるしで面倒)、
bundleという機能を見つけたんだがすごく便利だな
コミットの範囲は確認しなくちゃいけないけど、push、pullとほとんど同等な感じで使えるね。 git switch/restoreはgit checkoutがコンテキストによって全然違う動作をすることを避けるべくブランチ間の移動はswitch、ファイルをHEADまで戻すはrestoreにしたってことなんだな
確かにcheckoutでやらかしたことあるから嬉しいんだが、switch/restoreに慣れると古いgitにイライラしそうだな。 >>736
GUIなんていらない
CUIなら必要なレポート簡単に書けるでしょ
git log --name-status --pretty=format:"Xxx Yyy Zzz" |foo|bar|baz... サブプロジェクトを使ったことがありません。
現プロジェクトの3つの派生プロジェクトを始めるることになりました。共通のソースは9割です。此の場合は、共通のソースをサブプロジェクトに移して使用するのが良いのでしょうか 747はサブプロジェクトじゃなくてサブモジュールの誤りです これからも派生が増えてくならそれでいいけど、あまり増えないなら、ブランチで管理するかな。 >>747
管理体制次第だな。
普通はブランチ管理じゃない?
共通ソースの管理者が別にいるならモジュール化も検討するけど、そこまで大きなプロジェクトならgitプロフェッショナル必要な気がする。 >>747です。
ご意見ありがとう。 変更が多いのは共通部分なんでブランチで管理すると他のブランチへのマージを忘れそう。 今後マージするかどうかは運用次第として、一旦ブランチはしておけば良い
ブランチしたのをマージしない運用にするのは簡単だけど、ブランチしないで分離したプロジェクトをマージするのは面倒くさい 個人開発者です。
2年前までlocalでgitコマンドを使ってた。
その後、開発から離れてたんだけど、再度戻ってきた。
昨日からGithubへpushする様になって、色々勉強中。
ヨロピコ! >>755
ちなみに参考になったのは、
実践Git、第4章
Web+DB Magazine vol. 50(2009)、はじめてのGit
Pro Gitって参考になる? >>757
>ProGit
thx
iPadで読もうとSendToKindleってメールサービスでmobiファイル送ってみた。
ドキドキしながらKindleで同期すると本が来た。
ヨカっタァ。
しかし、すごいボリュームの本だ。 tree object
commit object
のデータ構造を理解した。
coutesy of WEB+DB vol.50 >>758
最近使い始めたAir Dropってので送ろうとしたらNGだった。 GitHubだけど
パソコンのwebブラウザで
new repository
は出来るのに
スマホのwebブラウザだと
new repository
のボタンが出て来ないのはなぜ?
あとクライアント(コンソール)からコマンドで
new repository
ってどうすれば出来る? >>761
俺もlocalのterminal.appで作業する際、remote(Github)にnew repositoryを作製する方法を知りたい。
多分、出来ないのかな? pythonとかでスクレイピングでもすればいけるかもしれないが
最近はgithubも二段階認証になって色々面倒なことに >>764
出来ない理由
terminal.appでnew repositoryできるとすると、数万のrepositoryがbotによって作製されるかもしれない。
shell scriptを書いてやれば、そういった嫌がらせも出来てしまう。
それは避けたいので、ボタンを使ったUIになってるのでは?◀New Repositoryが。
あくまで俺の妄想っす。 markdownで書いた、図入りのテクニカル文書を管理したいんだけど、blogでは色々面倒で、GitHub使おうかと思うんだけど、良いかなぁ?
ソースコードのsyntax highlightが出来て、imageも埋め込めるmarkdownを管理したいんだけど。
それとも、便利なblogサイトある?
livedoor blogをsyntax highlight plugin付きで試したら、大なり小なり記号<、>をエスケープしないとsource codeを表示できないので、ガッカリなのだ。 GitHub GistにMarkdown文書を置いた時に、imageファイルってどうやって管理すれば良いのだ?
imgurとかに置いて、url指定するってのがbest practice? >>768
ここにいくつか解法が示されてる。
https://gist.github.com/Tatzyr/3847141
しかし、
GitHub上のフォームで画像をコピペするとGitHubのS3にアップロードされ、URLがはりつきますよ。
これは、どう言う操作の事だ? gistに貼り付けたmarkdown中にimage貼り付けたけどresize出来ん。
https://gist.github.com/uupaa/f77d2bcf4dc7a294d109
ここにresizing howto記載されてるが、Gistでは効果無し。
<img>タグを使えば上手くresizeされるんだけど、![](url)形式で書きたい。 >>772
自演じゃなくて、スレッド(のつもり)なんすけど。
Xcode11 Release来た。
XVim2.xcplugin動くかな? 過疎ってんだから日記帳にするなり好きにすればいいよ >>774
あんがと!
Web+DB vol.50 2009の初めてのGit、って記事、ヨカっタァ。
tree object, commit objectのデータ構造がよく解った。
あと、Garbage Collectionの記事が読みたい。どこからも参照されなくなったcommit objectがpurgeされる話とか。 >>761
GitHubに対して出来る事は、git-remoteコマンドのオプションのみ!
new repositoryの作製はterminal.appからコマンド打って出来ない。
see git help remote >>763 の
https://codenotfound.com/github-add-remote-git-gui-windows.html
ここの
Configure Git GUI
からの
Create New Repository
はどういう仕組みで実現してるのだろう Fetch Immediately じゃなくて
Initialize Remote Repository and Push の方を選んだときの動作ね >>778
Configure GitHub
のセクションに記載があるとおり、WebサイトでNew Repositoryする。
Git Gui on Windowsからはできないんじゃ無いの? >>783
これダァ。
great THX.
gg://github rest api 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 >>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 それって副産物としてSubversionからGitへの変換プログラムが生まれるってことだよな? 一般的な応用を期待しているならgit svnという十分に便利なものが既にある じゃあそいつはGPLじゃないからつかわんかったってことか RMSがもっと若ければ
とっくにtigとか造ってんじゃね >>788
>>791
GCCのSubvesion のダンプはかなり大規模かつ複雑でgit svn ではgitのリポジトリには
変換できないらしい。
なのでESRが自分のツール(https://gitlab.com/esr/reposurgeon) で変換しようとしている。 svnのダンプが開発者にも謎な物になってしまってるのが
原因らしいが 共有フォルダ上にリポジトリ置いてローカルで開発ってのをやろうと思ってるんだが大丈夫じゃろか
前からいる人はずっと一人でやってた環境らしくてバージョン管理というものをやったことがないらしい
調べたけどSVNはそういうの止めろってことらしいからgitを考えているのだが サンクス。ちゃんと動いた。ほっとしたしリモートからプル出来たときはちょっと感動したわ
ありがとうvisualstudio。そしてgithubもtortoisegitも申請しなきゃいけない会社は潰れろ >>798
githubみたいなクラウドサービス使うのに許可がいるのは当たり前だろ 共有フォルダSVNがダメならgitもダメじゃないの?なんか差分あったっけ masterからdevelopブランチを切って、ローカルではdevelopからfeatureブランチ切ってそれをいじる
developにマージしてdevelopをプッシュする。不要になったfeatureは削除する
っていう一連の流れを勉強したんだけど、しまったここの関数ちょっとおかしいとかそういうほんとちょっとした変更でもいちいちfeature作るって作業はしたほうがいいの?
あんまり意味が無いような気が チーム開発なら必要。必ずコードレビューするから、ローカルでdevelopへのmergeなんてしない。 なるほど
二人だけのチームで多分コードレビューなんてしもしないと思うんですけどその場合でも必要ですかね
あとfeatureブランチはリモートにはプッシュしないっていう認識で大丈夫ですか featureの扱いというよりは、developへのmergeをどこでするか統一しておかないと、各々の環境でdevelopの履歴が分かれていくやろ featureをリモートにpushして、コードレビューおよびdevelopへのmergeをおこなうのが一般的。ローカルのdevelopは、基本的にfetch or pullとfeatureの作成用途のみ。 むぅそもそもリモートで作業するってのが考えてなかったというかその辺りよくわからないですね
>>796なんですがリモートリポジトリってローカルで作業していったものをどんどん突っ込んでいくものという認識です
ちょっと勉強が足りなかったようです 普通はGitHubやGitLabみたいなホスティング環境を用意するからね 2人に閉じた開発なら結合後にdevelopだけでごりごり開発してもいいよ
いつの間にか気持ち悪いマージコミットが多数生じるだろうけど
気持ち悪いと感じる人がいないならそれはそれで マージコミットも歴史の一環なんだから、必要と思う派だな俺は developからdevelopへのマージコミットがキモいということでは コミットツリーの美しさとかにこだわりが
ある人がいるらしい それは海外の有名OSSでもわりといる
俺は個人的には全く気にしないけど >>815
そうそれ
マージコミットのあいだにも価値の多寡があるということ
歴史としての価値があるからこそノイズが多いと経緯を追い難くなる
そこを一切否定するならrebaseコマンドの存在意義も(ほぼ)否定することになる 気持ちはよくわかるが、pull requestベースでの開発だとコミットはあまり気にしなくなるよね
それよりcherry-pick厨はマジで○んでくれ 10人くらいのオフィスで現状何でもかんでもnasに突っ込んで管理してます
HTMLやらcssやらのファイルだけでなく、画像データやofficeやAdobe系のファイル諸々、トータルで2テラくらいあるんですが、git使った方がいいですかね? Git v2.24.0-rc1
sparse-checkout は2.24には入らない模様 >>820
バイナリはあんまりメリットないと思うぞ >>825
rc0のバグが二件MLに投げられてたけど、
rc2では一件しか反映されてなくて、
ds/commit-graph-on-fetchは反映されてなかったので、
cookingのリプライで、この件はa corner caseでは無いってメールが投げられてる。
rc3が出そう。 うっかりデバッグする前にコミットしちゃったときに限ってデバッグするとバグが出るのはなぜなのか・・・・・・ うっかりコミットしてもpush前ならなんとでもなる バグがでたらその場でコミットするすらある
その後確実に直したかを確認できるように コミットはなんぼでもするでしょ
プッシュでさえみんなと共有してないブランチでなら構わずやることすら多々ある visual studioで使ってるけど本当に便利すぎて手放せないわもう
例えコミット細かくやりまくってもうどこで何をやったか履歴でよく分かんなくなっても関数の上に変更回数が出てしかもどのコミットだったかとかすぐ分かる
ありがてぇありがてぇ visual studioはやっぱり便利なIDEだよ githubでプルリクをマージする人ってプルリクを送った側と受け取った側とでどちらが良いんでしょうか
個人的にはプルリクって、もしこの修正が問題なければ取り込んでくださいって意味だから
受け取った側が承認してマージまでするのが自然な形だと思うんですが、
なぜか今の職場ではプルリクを送った側が自分でマージするルールになっています
私がおかしいのでしょうか >>837
そういうルールもありだと思う
承認する人が多忙だとその方が仕事が早いし それってアクセスコントロールしてない無秩序状態ってことだろ?
頭のおかしい開発者が勝手にマージしはじめたらめんどうだ
承認者とマージ実行者を別にするのはよろしい
マージ実行者を開発者全員にするのはよろしくない それだってケースバイケースだろう。
たしかに頭のおかしい開発者が存在する場合はいろいろ考慮が必要だろうが。 オープンソースのプロジェクトにプルリク送る場合って受け取った側が承認してマージまでするじゃん
githubを作った人の想定では、プルリクを受け取った側がマージするのが正しいんだと思うんですよね
ていうか自分で送り付けて(プッシュ)おいて、自分でマージするってことはそれはもう"プル"リクエストではなくて、
"プッシュ"リクエストじゃないんですかね
githubを作った人の想定通りに素直に使うのが自然で良いと思うんです 開発効率を上げるとかバグを減らす為にルールを作るので
ルールを守るためにルールがあるのじゃない プルリクを送った側がマージすると開発効率が上がったりバグが減るんですかねちょっとわかりませんね ここまでくるとちょっとウザい。
あんたの疑問はもっともだと思うからあとは職場の人とよく話し合ってくれ。 どこにも書いてないこと言い出して逆ギレしてるようでは
かなりお荷物さんだろうねえ 社内に頭のおかしい人なんてそうそういないだろと思ったけど
こういうレスを見ると自信なくなる
最初の質問「私がおかしいのでしょうか」については
そうかもねと答えざるを得ない どんな解釈をしたら、お前”が”し ねになるのか分からない笑
君の質問は正しいよ、あなたがおかしい。 >>839
職場に頭がおかしい人がいるならgitで解決しようとしてる場合じゃない 私がおかしいのでしょうかと質問する人は大体周囲が見えてない自己中なので、何言っても無駄 お前の書き込みなんか何の価値もねえわ
向いてないから死ね TortoiseGitのグラフ表示時矢印が古い方を指すように下向きに
なった。2.9.0 設定何か触ったかな 変更のない同一ファイルのときに
git commit -am “こめんと”
を打つとエラーになるけど、エラーを回避するコマンドとか無いかな?
もしくは更新・差分があったときのみcommitするようなパラメータとか >>854
>もしくは更新・差分があったときのみcommitするようなパラメータとか
まさにこれがデフォルト動作だからエラーになってるんでは
更新・差分はないが直前のコミットメッセージを直したいということなのであれば git commit --amend -m "こめんと" すれば良い Git v2.25.0
リリース直前にgit rebace -iの機能を巻き戻した模様。 「Git 2.25」リリース、「git sparse-checkout」コマンドの追加や細かい機能強化が行われる
2020年1月14日17:15 末岡洋子
https://mag.osdn.jp/20/01/14/171500 大体ググって覚えて使ってる個人の感想としては、
ざっくり『addしてcommitしてpush、後はbranch作ってなんか切ったり結合したり出来れば大体なんとかなる』というノリでgit使ってるんですな何か他に知っておいた方が良い操作とかあるんでしょうか?
ブランチ名やコミットメッセージを付ける等の補助的なオプションに関する知識は勿論前提として。 初期に便利だと思ったのは
stash
ignoreのバリエーション
skip-worktree
reset
reflog
あたりかな stashなんか怖くて別の場所にチェックアウトしちゃう >>862
何をおいてもgit rebase。これ使わないとgitの価値が無いと言ってもいいぐらい ちょっと違うけど、vcodeのアドオンにあるgitのdiffとかhistoryを見る機能は便利。 はちゃめちゃに大きくなったリポジトリの整理でgc, filter-branchなんかは使わなきゃいけないときがあるね。
大体開発もクライマックスで泣きながらやる羽目になるイメージがあるけど。 >>868
神経質でええカッコしいの俺にとっては重要機能 遅くなりましたが皆さんありがとうございます、なんとなく枝を繋げればいいや
というイメージでしたがリセット機能や消去機能こんなに充実してるんですね。
正直広まってる理由オープンかつコストが掛からない上有名なソフトが集まっているから
だと思ってたんですが、コマンドで大体できるしGUIも綺麗ですしそこらのソフトウェアが
内蔵してる管理機能より遥かに有用なことを色々聞いて実感しました。 masterブランチをpullし忘れてmergeがめんどくさくなる時あるんですが、どうすればいいですかね? rebaseは下手すると似たところで何度も競合して余計面倒になるような mergeがめんどくさくなった時点で気付くだろうからそこでやり直せばいい。 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は履歴を辿れないので困る 初歩的な質問で申し訳ないんだけど教えてください
今小さなプロジェクトを個人で動かしてて、部署のファイルサーバの自分のフォルダにリモートリポジトリを置いて、visual studioでコミットしてプッシュしてみたいな単純な使い方してます
それで今度チームでやることになってgithubとかgitlabとかの導入を考えているのですがプルリクエストというのがよく分かりません
色々サイト見ているのですがプッシュしたあとにプルリクエストを作成して……みたいなこと書いているんですが、プッシュしたらリモートリポジトリ変更されちゃいますよね?
プルリクエストされた担当者がコードをチェックするならプッシュの前じゃないといけないのではと思うのですが
よろしくおねがいします >>881
別ブランチにコミットしたものをpushするんだよ。
んでもってそのブランチに対してプルリクエストする。 o - o - o - o <- ローカル/master, リモート/master
\ o - o - o <- ローカル/ブランチ1
ローカル/ブランチ1をpushするんだよ。
ブランチの切り方はgit branch --help見てね。
チーム開発の記事を読んでおくといいかもね。
ブルリクについてはgithubとかの開発について調べてみるといいよ >>883-884
あぁぁそういうことですか。あ、いや自分でやってるときはgithub flowでしたっけ。masterとdevelop切ってそこからfeature切ってみたいなやり方してたんですけど
>>884だとリクエスト受けた側がmasterにマージする感じになってますけどmasterって製品版だからあまりいじっちゃまずいんじゃありませんでしたっけ。マージ先は受付側が決めるってことでいいんですかね
それと別ブランチ切らずにmasterブランチにいじってプッシュしてきたりしたらまずいと思うんですがそれは拒否できたりするんですかね pull request 来てそのまま merge して repository 壊すタイプ レポジトリは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にマージするんじゃないかな。 gitって初心者には難しくないですか?
まともなレベルと規模のチーム開発を経験しないと、その機能がなんのためにあるのかイメージし辛いし
こういうのってどうやるの?って毎度毎度ググる日々… 無理してでも覚えてもらう以外なかろう。
pull, push, add, commit, checkout, status, diff
これくらいをとりあえず覚えてもらって、困ったら聞いてもらうようにするとか。 >>888
理解しました。1.と2.が別物という認識がありませんでした。なるほど何分一人で一つのリモートに対してずっとやってきてたもので リモートのが壊れただけなら
自分のところにある正しいものをpush わりと push -f を気軽にやるのなとビビったことはある >>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 githubの使い方覚えようと思ってsourcetreeとかGitKrakenとかCUIでやるかとか色々検討したけど結局いつものVisualStudioにエクステンション突っ込むので落ち着いてしまった
だめだVSに完全に調教されている。俺は軟弱なプログラマだ >>901
GitHubの話がスレチなんじゃないか?
ソースコード ホスティング総合【GitHub,GitLab,Bitbucket等】
https://mevius.5ch.net/test/read.cgi/tech/1531824290/ >>902
でも>>899の言ってる内容はGithub限定の話ではないけど 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. Qiitaだけでも、git入門、git基礎、いまさらgitについてまとめてみた的なのが乱立してる時点で
初学者に理解されにくい糞仕様が存在してるのではと思われそう。 管理者が使うコマンドとフローを制限してやる必要があるな
あと定番で使うコマンドのオプション指定がハイフン2つなのはイケてないと思う ハイフン2つのオプションの方が自動補完しやすいから楽じゃん GUIがなのはCUIが使えない人に対するハラスメントだと言われたことある CUIおじさんとORM嫌いおじさんとstaticおじさんて同じ人? 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" 「Git 2.26」リリース、git rebaseのデフォルトバックエンドが変更される
https://mag.osdn.jp/20/03/24/150000 git が難しいのは利用グループごとに使い方が異なっていて標準の使い方がないからだよ。
応用の効く多様性のあるツールという利点なんだけど、自分たちの使い方だけが唯一の正解と思っているアホが多すぎる。 >>930
どうしたの?急に
何かつらいことでもあったの? まあ、Excelも難しいし、インターネッツも難しいよな
標準の使い方がないから ExcelもXML形式になったから
Gitで差分管理できるようになるといいなあ xlsxをzip展開した状態でリポジトリに入れればいいのかな VSCode の、Git の拡張機能で、差分表示できないの? >>930
同意。git自体はかなり使いやすいツールだと思う。
最近気になるのは若い連中がなぜかSIerみたいな運用を好むってところかな。
それやりたいならsvnでも使ってりゃいいのにと思う。 mergeまでにあほみたいな数の承認の山が必要な運用 まさかGitHubのコードレビュー機能が嫌だとかそういうレベルの話? >>934
コンフリクトしたときに手動マージする自信がないなぁ たにぐちまこと
Git+GitHub入門 #01:リポジトリーの作成とコミット
https://www.youtube.com/watch?v=_PyuylNk64o&list=PLh6V6_7fbbo_M3CqTeJvuXB08--fibyBu
YouTube に、分かりやすい動画がある リモート追跡ブランチは全コミットオブジェクトやファイルを含んでるの?
一部メタデータだけとかじゃなく?
つまりリモート追跡ブランチがリモートリポジトリの最新状態を反映していれば、
オフラインでもリモートリポジトリの最新状態を(リモート追跡ブランチから)ローカルリポジトリに反映できる? ローカルリポジトリじゃないな。
オフラインでもワークツリーにリモートリポジトリの最新状態を反映できるか? 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を超えています。これ以上書き込みはできません。