LoginSignup
1
1

More than 5 years have passed since last update.

[学習用]実装して失敗したとき。戻したいときに覚えておきたいGit

Last updated at Posted at 2018-07-09

実装の実験の為、commitしないでVagrantサーバーでテストしたが、
エラーが戻らなくなったので、実装前に戻したくなった。

しかし残念なことに戻らなかった。

自分でやった、出来たけど間違っている方法

※まだbranchは学習してない
pull heroku master , git reset --hard もその前に試したが
ファイルが戻らず混乱した為、強行した内容。

1:Vagrant 内の.git 以外を全削除
2:$ git clone https://git.heroku.com/アプリ名.git
3:$ bundle install
4:$ rails db:migrate
5:$ rails s
6:.git の config ファイルが変だったので修正する
  ※git push heroku master がエラーで出来なかった為

修正した config

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "heroku"]
    url = https://git.heroku.com/アプリ名.git
    fetch = +refs/heads/*:refs/remotes/heroku/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

[remote "heroku"]とrefs/remotes/heroku/が origin に
なってたのでheroku へ修正した。

branchを試す

こういうときの為にbranch がある様です。

git checkout -b 任意の名前
とすると、master に干渉しないラインが出来上がります。
そこで作業して、heroku へは
git push heroku 任意の名前

で出来る様です。

ブランチを作成する

1:$ git checkout -b testbranch
 Switched to a new branch 'testbranch'
2:作業して
  $ git add .
  $ git commit -am "testbranch"
3:$ git checkout master
4:$ git merge testbranch
  ※この時点でtestbranchで管理しているコードが masteに反映される
5:$ git add .
6:$ git commit -am "comment~略~"
7:$ git push heroku master
8:$ heroku run rails db:migrate

これで無事にアップ出来ました。
本来は、複数人で開発する場合、それぞれのブランチで開発して、
管理者がmasterブランチに取り込んでいくという使い方をする様です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1