まずいと怒ったのは上司や先輩エンジニアではなく、
コマンド実行後のターミナルの話ですよね?
ブランチ名が一致しない場合
git pull origin master
やgit push origin master
等のコマンドを飛ばした際、
ブランチ名が一致してませんよ、なのせ動作を取りやめますと返される事があります。
現状の質問者さんの状況から考えて、
下記のような流れで作業すれば良いのではないかと思います。
bash
1$ git branch
2* feature_branch # 作業中のブランチをコレだとする
3 master
4
5# 作業中のファイルがあれば一度stashで退避させる
6$ git stash
7
8$ git status
9On branch feature_branch
10nothing to commit, working tree clean
11
12# masterブランチへ移動して更新
13$ git checkout master
14
15$ git pull origin master
16
17# 更新内容を作業中のブランチに取り込む
18$ git checkout feature_branch
19
20$ git rebase master
21
22# もしコンフリクトが起こっていたら修正する
23$ vim [対象のファイル]
24$ git add [対象のファイル]
25$ git rebase --continue
26
27# 退避した作業中のファイルを再度適用する
28$ git stash pop
git merge master
ではなくgit rebase master
を使った理由ですが、
これにするとmasterへ適用された修正内容のコミットを下に挿し込むので、
プルリクを作った時にスムーズな適用になりやすいのでおすすめです。
怖ければ先輩エンジニアに質問するか、
git merge master
でも良いと思います。
【追記】 先輩の言っている意図
masterブランチには積み重なってきたコミットが存在します。
それを下に挿し込んでくれという依頼です。
ここはもうブランチを捨てて作り直しましょう。
cherry-pickで抜き出す作戦です。
bash
1$ git branch
2* feature_branch # 作業中のブランチをコレだとする
3 master
4
5# 自分の作業のコミット番号[84ef3631d05250e...]をメモする
6$ git log
7commit 84ef3631d05250e... (HEAD -> feature_branch)
8Author: miyabisun <miyabi@example.com>
9Date: Tue Feb 18 18:38:12 2020 +0900
10
11コミットメッセージ
12# 上下スクロールはJとKキー、抜けて戻るにはQキー
13
14# とりあえずtmpみたいなブランチ名に退避しておく
15$ git checkout -b tmp
16
17# tmpブランチへ退避したのでfeature_branchを削除
18$ git branch -D feature_branch
19
20# 改めてmasterブランチを更新する
21$ git checkout master
22$ git pull origin master
23
24# 最新のmasterブランチから改めて作業中ブランチを作る
25$ git checkout -b feature_branch
26
27# 自分の作ったコミットを手作業で反映していく
28$ git cherry-pick 84ef3631d05250e
これで先輩の言う大丈夫な状態になるでしょう。
先輩にこの質問のURLを共有して確認してもらいながら作業してくださいね。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/18 09:50
2020/02/18 09:58
2020/02/18 10:10 編集