🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

BitBucket

BitBucketは無料のリポジトリ管理ホスティングサービスです。 MercurialとGitのVCSに対応しています。プライベートリポジトリを、制限なく作成することが可能です。

Q&A

解決済

1回答

1473閲覧

Rails tutorialでBitbuketにマージするとデータファイルが消えてユーザー登録ページが消える。

helo

総合スコア36

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

BitBucket

BitBucketは無料のリポジトリ管理ホスティングサービスです。 MercurialとGitのVCSに対応しています。プライベートリポジトリを、制限なく作成することが可能です。

0グッド

0クリップ

投稿2019/12/22 11:35

編集2019/12/28 04:21

前提・実現したいこと

現在Railsチュートリアルの第7章のユーザー登録ページ最終となり、一旦Bitbucketへ
addしてcommitしてmergeしたという所で、views/sharedファイルがツリーから消えて
ユーザー登録する画面が単なるsignページに戻ってしまいます。こんなことがあるのでしょうか?作った各ファイルも消えました。
バグと言うには奇妙な現象で驚きに困惑しています。
詳しい方いらっしゃいましたらご教示頂けますと有難いです。
よろしくお願いします。

発生している問題・エラーメッセージ

$ git commit -m "Finish user signup" [re-sign-up 790e3c6] Finish user signup 13 files changed, 208 insertions(+), 11 deletions(-) create mode 100644 app/views/shared/_error_messages.html.erb create mode 100644 app/views/users/show.html.erb create mode 100644 test/integration/users_signup_test.rb $ git merge sign-up error: cannot stat 'app/views/shared': Permission denied Updating c9b9abd..e6db329

該当のソースコード

ソースコード

試したこと

4時間ほど前に一度なってしまい自分のミスかと思い、第7章を一からやり直したのですが、2回目もファイルが消えて何もコーディングされていない状態になってしまいました。
3度目のチャレンジをしてみたのですが、やはりコミットの後にプッシュしても全てロールバックして消えてしまいます。
一体どうすれば、Bitbucketへmerge出来るのでしょうか・・。途方に暮れています。

error---
$ git push --set-upstream origin sign
Enumerating objects: 45, done.
Counting objects: 100% (45/45), done.
Delta compression using up to 8 threads
Compressing objects: 100% (25/25), done.
Writing objects: 100% (25/25), 3.99 KiB | 1.33 MiB/s, done.
Total 25 (delta 13), reused 0 (delta 0)
remote:
remote: Create pull request for sign:
remote: https://bitbucket.org/satoshi_toto/sap_app/pull-requests/new?source=sign&t=1
remote:
To bitbucket.org:satoshi_toto/sap_app.git

  • [new branch] sign -> sign

Branch 'sign' set up to track remote branch 'sign' from 'origin'.

$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

$ git merge sign ↓ ここですべて消えました。
error: cannot stat 'app/views/shared': Permission denied
Updating c9b9abd..732c5c6

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

commitしたあとに行うのはpushです

また,マージする際はmaster(またはdevelop)に移動してから
$git merge マージしたいブランチ名
でmasterにマージすることができます

現在,編集中のブランチで
$git merge sign-up
としているので,sign-upブランチに最後にpushした内容がsign-upブランチに上書きされている状態になっています(おそらく一度もpushしていないと思われるので,sign-upブランチを作った状態に戻ってしまったのではないでしょうか。

投稿2019/12/22 14:32

k-810

総合スコア192

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

helo

2019/12/23 15:16

k-810様 コメントありがとうございます。 一応、以下の流れでgitコマンドをやっていったのですが、確かにpushはこの時点では行っていないです。 mergeコマンドののち、rollbackしたように最初にもどり、作成したファイルや記述したコードも一気に消えてしまいました。 $ git add -A $ git commit -m "Finish user signup" $ git checkout master $ git merge sign-up 上記からすると、ブランチをmasterに変更するのが遅かったのでしょうか?
helo

2019/12/28 04:23

k-810様 やはり3度目を書いてgit pushもコミット後に行いましたが、全て消えてしまいました。その他に原因等あるものでしょうか・・・。
k-810

2019/12/28 09:15 編集

返信が遅くなってしまってすみません ``` $ git add -A $ git commit -m "Finish user signup" $ git checkout master $ git merge sign-up ``` こちらで正しいと思います。 commitした際やmergeした際になにかエラーメッセージは出てきませんでしたか?
helo

2019/12/28 08:54

コメントありがとうございます。 commitした際は、特にエラーメッセージは無かったです。 その後、pushしてしまったのでrollbackしてしまいましたので、mergeまで 出来なかったです。 今また、4回目のコードやファイルを整えて、またgitコマンドを打とうと 思うのですが、上記の流れで問題なければ何かバグでも出ているのでしょうか・・?
k-810

2019/12/28 09:17

> $ git merge sign ↓ ここですべて消えました。 > error: cannot stat 'app/views/shared': Permission denied. の内容を見落としていました,すみません????あと,一人で作業する場合はpushはいらないみたいです。これも失礼しましたm(_ _)m(mergeの際にpermission deniedというエラーが出ているのはgit pushした影響かもしれません。) $ git checkout master $ git merge sign-up としてみてください。 ちなみに,heloさんは「すべて消えました」とおっしゃっていますが,変更内容がmasterに反映されていないだけであって,signブランチやsign-upブランチの内容は変更後の状態が維持されていると思います。なので新たにブランチを作り直して全部やり直す,ということはしなくていいと思います(試しに$git checkout sign をしてみてください。全部残っているはずです)
helo

2019/12/28 09:27

k-810様 pushせずにやってみましたが、またもroolbackしてしまいました。 トピックブランチを幾つか作成してしまいました・・。((・・;) 言われますようにgit checkout signのコマンドを打つと以下のエラーが 出てしまいます。 $ git checkout sign error: cannot stat 'app/views/shared': Permission denied sharedディレクトリに何か問題があるのでしょうか?
helo

2019/12/28 09:32

それと、やはりappの作成したディレクトリが全てエディター上から消えてしまい、チュートリアルの第6章の完成にもどってしまっています。 一体どうすれば良いのでしょうか・・。何かがおかしいのかとは思うのですが全く解らないです。
helo

2019/12/28 12:26

k-810様 先ほど、再度mergeをやってみたら上手く行きました。 また、エディター上のアプリデータも復旧していました。何か不思議な感じですが、一先ず進めますので良かったです。いろいろアドバイス頂きまして 大変助かりました。ありがとうございました。m(_ _)m感謝いたします。 それでは失礼いたします。
k-810

2019/12/29 00:31

的確な指示ができずに申し訳ありませんm(_ _)m
helo

2019/12/29 01:03

いえいえ、mergeしたデータは残っています、というお言葉で助かりました。再度、signupトピックブランチでmergeしたら一気に出来て、エディタ上も全て戻ったんです。本当に感謝いたします。やはり、先達の方にお聞きするといろいろヒントがあり勉強になります。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問