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

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

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

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

GitHub

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

Q&A

解決済

1回答

16049閲覧

GithubでPullRequestを作成できない

namenamenameko

総合スコア234

Git

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

GitHub

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

0グッド

1クリップ

投稿2017/06/28 00:42

Githubからダウンロードしたソースコードを編集し、

git remote add origin "https://~~" git add . git commit -m "comment" git push origin local_branch_name:new_remote_branch_name

としてプッシュした上で、Github上でnew branchからPull Requestを作成しようとすると

There isn’t anything to compare. master and new_remote_branch_name are entirely different commit histories.

という表示になりPRが作成できません。
ググってもあまり情報が多くないので僕が変な間違いをしていると思うのですが、
心当たりのある原因を教えていただきたいです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんにちは。

「ダウンロードしたソースコード」と言っていますが、
単なるソースコードのダウンロードを行った場合、ソースコードの中身は同じでもgithub上での繋がりは完全に途切れています。
正しくPull Requestを作成するにはこうです。

  1. 目的のリポジトリを「Fork」し、自アカウントにリポジトリを複製
  2. Forkしたリポジトリを「clone」し、git管理下でソースコードをローカルにダウンロード
  3. ローカルのソースコードを編集しcommit
  4. 自アカウントのフォークリポジトリにpush
  5. pushしたフォークリポジトリ上のブランチを元にPull Requestを作成

投稿2017/06/28 01:07

tamoto

総合スコア4103

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

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

namenamenameko

2017/06/28 01:19

なるほど、対象のリポジトリの「fork」が0なので、forkされていないのかと思いましたがforkしなくてもPRできないのでしょうか。githubからダウンロードしてしまったので、そうではなくてgit cloneすれば良いということでもないでしょうか。
tamoto

2017/06/28 01:32

あなたが「対象のリポジトリ」の関係者であり、編集権限を与えられたアカウントを使っているのであれば、直接cloneからpushできますが、そうでない場合は当然ですが編集することはできません。 そういうときのために自分が編集権限を持てるリポジトリを作り直す、オープンソースプロジェクトへのコントリビュートを前提に設計された機能がForkとPullRequestです。
mattn

2017/06/28 01:32

はい。fork しないと pull-request 出来ません。この手順を簡略化する為に GitHub では編集ボタンが用意されています。GitHub 上のファイルビューワでペンマークをクリックすると自動で fork し編集画面が表示されます。あとは画面下にある send pull-requet をクリックすればプルリクエストの作成画面に飛べます。 http://go-gyazo.appspot.com/7524b16c3fb2f42f.png
namenamenameko

2017/06/28 01:42

そうなのですね。実はOSSではなくて組織のプロジェクトなのですが、 Organizationに所属していてprivateリポジトリを見れることと編集権限は異なるものでしょうか。 また、zip downloadとgit cloneは全く同じことをしているのでしょうか。
mattn

2017/06/28 01:46

はい。編集権限は読み込み書き込み個別に設定できますので見れるから編集できるとは限りません。また zip には git の情報が付いてきませんので、clone とは全く違います。git というツールでリポジトリから取得し、改変した後にコミットという操作で履歴を追加、最後にご自分のリポジトリ(元のリポジトリのfork)にプッシュします。そこまで出来たらあとは GitHub 上で pull-request が行えます。
namenamenameko

2017/06/28 01:48

よく分かりました。 お二方ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問