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

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

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

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

Q&A

解決済

1回答

4727閲覧

Source treeでプッシュしたい

IT_noob

総合スコア1

SourceTree

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

0グッド

0クリップ

投稿2021/04/06 14:58

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
Macに変えたばかりでsource treeを使ってプッシュしようとしていますが、エラーが出てきてしまいます。

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

Pushing to https://mm0311.backlog.jp/git/AUTUMN_EDUCATION/curriculum-beginner.git To https://mm0311.backlog.jp/git/AUTUMN_EDUCATION/curriculum-beginner.git ! [rejected] murayama -> murayama (non-fast-forward) error: failed to push some refs to 'https://mm0311.backlog.jp/git/AUTUMN_EDUCATION/curriculum-beginner.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details

該当のソースコード

ソースコード

試したこと

プルしてもエラーが出る。

credential.helper=sourcetree pull origin murayama warning: Pulling without specifying how to reconcile divergent branches is discouraged. You can squelch this message by running one of the following commands sometime before your next pull: git config pull.rebase false # merge (the default strategy) git config pull.rebase true # rebase git config pull.ff only # fast-forward only

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

source tree バージョン4.1.0
Mac Pro 11.1
ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

一応回答しますが、エラーメッセージに全部書いてありますのでそちらの通り、gitのマニュアル見ながらの作業の方が良いかと思います。

pushが失敗した理由

Updates were rejected because the tip of your current branch is behind

現在のブランチの先端が後ろにあるため、更新が拒否されました。

pullが失敗した理由

Pulling without specifying how to reconcile divergent branches is

discouraged.

分岐したブランチをどのように調整するかを指定せずにプルすることは推奨されません。
これって失敗していますかね?動作したような気がしますが。。。

gitのバージョンによるのかもしれませんので、以下は失敗しているとして回答しています。

詳細

リモートブランチは A->B->C というようにコミットが続いている時に、ローカルブランチが A->B->D のようにBから分岐している場合に本現象が発生します。

解決方法

  1. 変更を無視してリモートブランチをローカルブランチに合わせる
    a. 詳細の例をそのまま使うと、リモートブランチを A->B->D とする方法です。(Cのコミットは消える)
    b. git push -f origin HEAD
    c. ブランチ名を見る限り個人のブランチに見えますので、強制的に上書きしても良さそうに見えます(一番簡単)
  2. リモートブランチのコミットの後ろにローカルブランチの変更を加える
    a. 詳細の例をそのまま使うと、ローカルブランチを A->B->C->D として、これをリモートブランチにpushする方法です。
    b. git rebase origin/murayama の後に git push origin HEAD
    c. rebaseの際にマージ作業を求められる可能性があります

投稿2021/04/07 05:23

yamap55

総合スコア1376

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

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

IT_noob

2021/04/07 14:20

無事プッシュすることができました!ご丁寧に教えて頂きありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問