質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
87.20%
SourceTree

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

解決済

SouceTreeの使い方

Ruri5280
Ruri5280

総合スコア186

SourceTree

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

1回答

0評価

0クリップ

208閲覧

投稿2022/06/03 03:02

先日から質問している件の続きです
途中までうまく言ってたのに変なことしたかもしれません、、

要件はmasterにマージする時に発生したコンフリクトを解消しようとしています。
教えて頂いたとおり
私が作ったbr0501 に master をマージしてコンフリクト確認、修正してbr0501 をプッシュ、プルリクを更新という作業を実施したいです。

実施したこと

①ブランチがmasterの状態でツールバーのプルを実行しました→これでmasterは最新になりますよね?
②bit bashのコマンドの方で
git checkout br0501
git merge master
を実行しました(これでbr0501にmasterがマージされたってことでいいですよね)
③コンフリクト発生が確認できたのでファイルを修正しました。

本来ならbr0501をプッシュして終わりだと思うのですが、
ここからおかしなことしたと思います。

④もう一度今の作業を再確認しようと、SouceTreeで破棄ボタンを押して変更されたファイルがもとに戻ったことを確認しました
⑤再度、SouceTreeで破棄ボタンを押してリセットを実行しました(マージ前に戻ると思った、、)

ブランチをmasterに切り替えようとすると下記のエラーになる(たくさんのファイル名が表示されている)
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks checkout master --progress
error: The following untracked working tree files would be overwritten by checkout:

再度、マージしてみようと②を実行すると
error: The following untracked working tree files would be overwritten by merge:

となり、何もできません、、
どうすれば良いでしょうか泣

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

xg63ex2b

2022/06/03 03:55

> (これでbr0501にmasterがマージされたってことでいいですよね) コンフリクト(競合)があった場合はマージは終わっていないと思います。 マージのコミットが作られていない状態だと思いますので、ここから競合を解消して、マージのコミットを作って(プッシュもして)終わりになるはずだと思います。 > ④もう一度今の作業を再確認しようと、SouceTreeで破棄ボタンを押して変更されたファイルがもとに戻ったことを確認しました > ⑤再度、SouceTreeで破棄ボタンを押してリセットを実行しました(マージ前に戻ると思った、、) すみません、私の説明が悪かったかもしれません。 「破棄」は保留中のファイルの変更を、コミット時点に戻すことだと思います。 今回の例ですと、マージしようとして、コンフリクトになって、マージのコミットが作られていない時に、masterの変更分が保留になっているはずですので、この変更がbr0501の直前のコミット時点の内容に戻ると思います。 ④で保留中のファイルが0になったということでしょうか? ⑤ではどのような状況になりましたでしょうか? エラーメッセージ的に保留中のファイルのようなものがあるためにチェックアウトやマージができない状況になるのかなと思いました。 ややこしいですが、「破棄」をクリックした時に「全てリセット」という言葉が出てきますが、 コミットを右クリックして出てくる「現在のブランチをこのコミットまでリセット」などはコミットを取り消してしまうコマンドだったりしますので、 (コミットを取り消して保留中のファイル扱いにしてしまう) 誤って行ってしまわないように注意した方が良いかなと思います。 わからなくなってしまった場合、br0501はリモートにもあると思いますので、cloneからやり直した方が良いのかなと思いました。 Sourcetreeを使っているのでしたら、マージの操作もSourcetreeから行った方が良いと思いました。 https://support.atlassian.com/ja/bitbucket-cloud/docs/use-sourcetree-brances-to-merge-an-update/ https://pasomaki.com/sourcetree-merge/
Ruri5280

2022/06/03 04:11

ご連絡頂いてありがとうございます。嬉しいです。 ④を実施したとこはまだコミット数には数字が出ていたと思います ⑤を押したときにコミット数は消えました 現在、コミットのところに数字は出ておらず、保留中のファイルもありません また破棄のボタンも押せません、、 >わからなくなってしまった場合、br0501はリモートにもあると思いますので、cloneからやり直した方が良いのかなと思いました。 そうですね、これって、一旦ローカルのbr0501ブランチを削除してcloneするってことになりますでしょうか、、
Ruri5280

2022/06/03 04:15

削除しようとするとこんなエラーになってしまいます、、 git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks branch -d br0501 error: Cannot delete branch 'br0501' checked out at ‘C:/rss
xg63ex2b

2022/06/03 04:24 編集

コメントありがとうございます。 ④⑤の扱いが自分の環境が違いますね・・ 破棄のボタンが押せるのは保留中のファイルがあるときで、保留中のファイルがあるときはコミットのところの数字も表示されるような気がします(追加・削除ファイルはカウントされないかもしれません)。 でも、現状、数字も表示されていないし、保留中のファイルもないし、破棄のボタンも押せない、とのことで、br0501の直前のコミット時点に戻っているのかもしれませんね。 Sourcetreeはリアルタイムで表示が更新されないことがあるみたいですので、 メニューから リポジトリ>リモートのステータスを更新 や 表示>更新 などしてみると良いかもしれません。 > そうですね、これって、一旦ローカルのbr0501ブランチを削除してcloneするってことになりますでしょうか、、 説明不足ですみません。 今のローカルのリポジトリは捨てて、新しいリポジトリを作るイメージで、cloneするということになります。 ブランチではなく、リポジトリです。 cloneはメニューから ファイル>新規/クローンを作成する からできると思います。
Ruri5280

2022/06/03 05:37

いつもありがとうございます! なるほどです!別のフォルダに新しくリポジトリを作るんですね! やってみます!

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

SourceTree

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。