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

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

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

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

GitBucket

GitBucketとはScalaで実装され、Java仮想マシンで動作するリポジトリ管理ツールです。Webブラウザから管理することができます。 「GitHubクローン」と謳うだけあり、GitHubとよく似たUIを持ちます。

Q&A

解決済

3回答

10927閲覧

git pullできない

salud

総合スコア215

Git

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

GitBucket

GitBucketとはScalaで実装され、Java仮想マシンで動作するリポジトリ管理ツールです。Webブラウザから管理することができます。 「GitHubクローン」と謳うだけあり、GitHubとよく似たUIを持ちます。

0グッド

2クリップ

投稿2019/01/08 05:15

編集2019/01/08 05:46

https://backlog.com/ja/git-tutorial/pull-request/pull-request3_2.html

上記のURL内で紹介されているように、
git pullした際に、コンフリクトが起きてくれれば、
解決して再度コミットするだけなのですが、
たまに、コンフリクトすら起こらないときがあります。

JavaScript

1var sortNumber = function (number) { 2 number.sort(function (a, b) { 3<<<<<<< HEAD 4 if (a === b) { 5======= 6 if (a == b) { 7>>>>>>> 839396c5383737ec06b9c2a842bfccc28f3996ef 8 return 0; 9 } 10 return a < b ? -1 : 1; 11 }); 12}; 13 14var number = [19, 3, 81, 1, 24, 21]; 15sortNumber(number); 16console.log(number);

この現象について

  1. なぜ、このような事が起こるのでしょうか?

  2. このようなことが起こらないために、どのような代替案がありますでしょうか?

→ 普段、みなさまが複数人で開発されているときのルールであったり、
How toのようなものをお聞かせいただけますと幸いです。
どうぞよろしくお願い致します。


追記

エラーについて
以下のように表示されています。

PC:test user$ git pull origin master From https://gitlab.com/user/test * branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories

状況としては、こちらに近いような気もします。
https://qiita.com/takanatsu/items/fc89de9bd11148da1438

ただ、、コンフリクトが起こるときと、
上記の場合と、何が違うのか理解できていません。。

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

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

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

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

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

set0gut1

2019/01/08 05:25

コンフリクトすら起こらないケースについて詳しく書いていただければ
yoorwm

2019/01/08 05:34

とりあえず、そのソースは競合が起こっているからコンフリクトタグが入っている訳なのですが、誰かがコンフリクトタグを入れたままプッシュしてきた、という事でしょうか?
dice142

2019/01/08 05:37

> yoorwm様 質問文のソースはリンク先のサンプルコードですね。 git入門の手順書の一部です。
guest

回答3

0

質問がちと意味不明ですが、競合が起こってるからそうなるんでは
それをどうしたいんでしょうか

投稿2019/01/08 05:18

y_waiwai

総合スコア87747

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

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

salud

2019/01/08 05:26

知識不足で申し訳ございません。。 リモートに新たに加わった変更も尊重したいですし自分の変更も反映(マージ)したいと考えています。
y_waiwai

2019/01/08 05:31

リンク先にかいてありますが、 > ======= の上がローカルリポジトリ、下がリモートリポジトリです。今回はローカルリポジトリのほうがよりよいコードになるためこちらを残して、リモートリポジトリのコードを消します。 ... > 3. 修正したソースコードを再度コミットしてプッシュ まあ修正の方はあなたのやりたいようにすればいいかと
guest

0

fatal: refusing to merge unrelated histories

再現方法ちょっと調べてみました。

  1. 適当なリポジトリを clone する
  2. .git/config を編集して origin の url を別リポジトリにする
  3. git pull する

質問者さまの状況を察するに、手元で git init したリポジトリにあとから origin を設定して git pull したのではないでしょうか。
自分で git init するのではなく GitHub の既存リポジトリを git clone してから始めればこのエラーは発生しません。

(このエラー初めて見ました。)

投稿2019/01/08 06:10

set0gut1

総合スコア2413

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

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

0

ベストアンサー

git pullした際に、コンフリクトが起きてくれれば、

解決して再度コミットするだけなのですが、
たまに、コンフリクトすら起こらないときがあります。

git pullでコンフリクトが起こるのはローカルリポジトリとリモートリポジトリで
同じ箇所が修正されていることが原因です。

たとえばAさんとBさんがいて、hogeファイルの以下の部分をいじるとします。
(他の箇所やファイルもいじりますが混乱するので省きます。)

HTML

1<div class="hoge"></div>

Aさんは以下のように修正し、リポートリポジトリを更新しました。

HTML

1<div class="hoge huga"></div>

Bさんは以下のように修正しました。

HTML

1<div class="hoge" id="huga"></div>

BさんもAさん同様、リポートリポジトリを更新しようとしますが、
Aさんと同じ箇所を修正しているので、更新できません。

勝手に後から更新するBさんの方で更新するとAさんが開発した機能が動かなくなりますし、
じゃあ先に更新していたAさんの機能のままにすればいいのかといえばBさんの開発して機能が動かなくなるので違います。
なんで更新できないのかというと、自動で判断できないからです。

お互いの機能が動くように修正する必要があるので、手動で修正してくださいねとコンフリクトが起こるのです。

これが起こらないようにすることは無意味です。
せいぜい開発に手をかける前に同時修正が起こりそうな場所について予め相談しておくとかでしょう。

コンフリクトが起こった場合には手動で修正するしかないです。


いきなりエラーに関する質問が出てきましたが、タイトルの原因はこれですかね。
どういう作業をしたかがわからないと原因が不明なのですが、
リモートリポジトリ上で直接なにかコミットしたとかでしょうか?
私はまだ直面したことがないので他の原因が思いつきませんが。

解決方法は--allow-unrelated-historiesを追加ですかね。

投稿2019/01/08 05:36

編集2019/01/08 06:00
dice142

総合スコア5158

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問