Git Github ブランチの統合(マージ)というか差し替え revert騒動(結局リバートしなかった)

newmasterというブランチを作ったの忘れていた。

これを開発の更新していたら、ビルド成功したので、masterにしたいが、どうすればいいのだろう。

マージすればいいようだが、もっている本だと、Linuxで使えないソフト使っているように見える。

適当にいじっていたら大失敗。newmasterにmasterを取り込んでしまった。

しかもブランチエクリプスで変えたら、ブランチ戻れなくなったよ。orz。

たぶん revertコマンドうまくいけば戻せると思うだけど。

プロジェクト

masa@em-p:~/Public/git/jaydle-project$ git revert -m1 HEAD 
error: Mainline was specified but commit 72bd3123c5affac1ea7778621f505b79ab18c796 is not a merge.
fatal: revert failed
masa@em-p:~/Public/git/jaydle-project$ git revert -m 1 HEAD 
error: Mainline was specified but commit 72bd3123c5affac1ea7778621f505b79ab18c796 is not a merge.
fatal: revert failed
masa@em-p:~/Public/git/jaydle-project$ git revert -m 1 a3bc466
error: could not revert a3bc466... Merge remote-tracking branch 'origin/master' into newmaster
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
masa@em-p:~/Public/git/jaydle-project$ git revert -m 1 55b6800
error: revert is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: revert failed

revert できない。

 

結局、ローカルのバックアップをEclipseに戻して、別ブランチにコミット、プッシュした。

.metadataやら.gitディレクトリがそこにあって、イグノアファイルに書いておいた。

Repository https://github.com/iamaturtle113/jaydle-project

warning: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.

こんな警告がでた。

 

マージして、Eclipseのプロジェクトまで壊れたので、やばかったな。

まえのプッシュも古くて、元に戻しても、とても古いファイルが復旧されていただろう。

エクリプスのプロジェクトファイルも壊れて、開けなくなっていた。

ローカルにバックアップ取っておいてよかった。でないとプルして整理しなきゃいけなかったようだし。

 

で、ブランチを整理しないと。clean_antbuildをmasterにしよう。

 

Advertisements

GitのGUIツールを探して:gitkとgit-gui

SourceTreeはLinuxで使えないみたいなので、他のGUIツールを探していた。

結局オフィシャルのguikgit-guiを使ってみることに。

参考サイト(日本語)
https://riptutorial.com/ja/git/example/18336/gitk%E3%81%A8git-gui

 

英語の本のリソース 日本語版も有る
https://git-scm.com/book/en/v2/Appendix-A%3A-Git-in-Other-Environments-Graphical-Interfaces

ちょっといじったけど、よくわからんかった。

ブランチの履歴が視覚化されて見やすかった。

 

これはターミナルでプロジェクトまでいってから、コマンドラインから呼び出して使う。