5章というのはこれですね。
しか打なかったため、3章のwebアプリがHerokuにpushされてしまいました。
まずは落ち着いてください。
別にやるべき作業をやってないだけで、何も問題は発生していません。
これからやれば良いだけです。
安心する為に、少しGitの仕組みについて解説します。
まずGitというツールはファイルの世代管理ツールです。
git add [ファイル名]
→git commit
で履歴に保存という形で履歴を積み上げます。
こうして積み上げた履歴は、何時でもgit log
というコマンドで一覧として表示出来ますし、
git checkout [コミットのハッシュID]
で当時のディレクトリ構成を再現して閲覧出来ます。
つまり、別に積み上げた履歴が消える訳でもなんでもありません。
$ git merge
しか打なかった
なーんだ、なら「早かれ遅かれ同じデータをマージしよう」としていたわけですね。
GitはSVN等の旧世代の世代管理ツールとは違う超最強のセールスポイントがあります。
それはマージがくっそ頭良くて、同時並行開発に極めて強いというポイントです。
ためしたこと
git stash
git reset --hard
これらの作業は取り返しがつかないので、
試した内容の方がよほどやばいです。
幸いエラーが出て止まっていますので害はありません。
特にgit reset
やgit rebase
は積み上げたコミットを壊す行為なので
後戻り出来ません、今回の勉強用なら兎も角、業務では上司・先輩のよくわかっている人に相談しながらやってください。
5章の内容をざっくりみましたが、
まずはブランチ作ってますね。
Gitでバージョン管理をしているのであれば、これまでと同様、この時点で新しいブランチを作成するのがよいでしょう。
bash
1$ git checkout master
2$ git checkout -b filling-in-layout
これはmaster
ブランチのコミット履歴を起点にし、
master
ブランチの複製でfilling-in-layout
を作るという命令になります。
その状態でmaster
ブランチでgit merge filling-in-layout
を実行しても何も起こりません。
何故か?
ゲームでLv50の勇者があるデータが1にあったとして、
2にデータをコピーして、ゲームを起動せずにまた1に保存し直したといってるわけですよね?
勇者のレベルはいくつですか?50に決まってますよね?
私がコマンド例を出しますので、それの通りに復旧して元の流れに戻ってください。
bash
1# 今作業中のブランチを確認する
2$ git branch
3* master <- *マークが今いるブランチの証
4 filling-in-layout
5
6# 現在のブランチを変える
7$ git checkout filling-in-layout
8
9# stashで退避したデータを戻す
10$ git stash pop
11
12$ git status
13# 編集したファイル内容が表示される
14
15# 業務では対象のファイルが何やっているかを確認したいから
16# 一括登録の-Aはあまり使わないかな
17$ git add [ファイル名]
18$ git add -A
19
20# 世代管理に追加
21$ git commit -m "メッセージ"
22
23# 世代が進んだ事を確認する(画面下部に:みたいな表示が出たらjkで上下スクロールし、qキーで脱出する)
24$ git log
25
26$ git checkout master
27
28$ git merge filling-in-layout
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/09 08:15
2020/03/09 08:19
2020/03/09 08:25