1. ホーム
  2. git

[解決済み] クローンしたリモートリポジトリと元のリポジトリ間の git diff

2022-04-30 07:24:09

質問

githubのリポジトリをクローンし、ローカルでは何も変更しませんでした。githubのリポジトリは同じブランチのコミットで進んでいます。

  1. ローカル リポジトリと元の github リポジトリの diff を見つけるにはどうすればよいですか?
  2. 作業コピーとオリジナルのgithubリポジトリのdiffを取得するにはどうすればよいですか?
  3. ローカルリポジトリと同じプロジェクトの別のgithubリポジトリのdiffを見つけるにはどうしたらいいですか?

解決方法は?

この例は誰かの役に立つかもしれません。

Note " origin "は、リモートの "Githubにあるもの"に対する私のエイリアスです。

注釈 " mybranch は、github と同期しているブランチ "what is local" のエイリアスです。

-ブランチ名を作成していない場合、ブランチ名は 'master' になります。しかし、私は別の名前を使っています。 mybranch ブランチ名パラメータが使用される場所を示すためです。


githubのリモートレポとは一体何ですか?

$ git remote -v
origin  https://github.com/flipmcf/Playground.git (fetch)
origin  https://github.com/flipmcf/Playground.git (push)

同じコードの他のgithubリポジトリ"を追加する - これをフォークと呼びます。

$ git remote add someOtherRepo https://github.com/otherUser/Playground.git

$git remote -v
origin  https://github.com/flipmcf/Playground.git (fetch)
origin  https://github.com/flipmcf/Playground.git (push)
someOtherRepo https://github.com/otherUser/Playground.git (push)
someOtherRepo https://github.com/otherUser/Playground.git (fetch)

ローカルリポが最新であることを確認します。

$ git fetch

ローカルにあるものを変更します。例えば、ファイル ./foo/bar.py とします。

$ git status
# On branch mybranch
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   foo/bar.py

未コミットの変更点を確認する

$ git diff mybranch
diff --git a/playground/foo/bar.py b/playground/foo/bar.py
index b4fb1be..516323b 100655
--- a/playground/foo/bar.py
+++ b/playground/foo/bar.py
@@ -1,27 +1,29 @@
- This line is wrong
+ This line is fixed now - yea!
+ And I added this line too.

ローカルでコミットします。

$ git commit foo/bar.py -m"I changed stuff"
[myfork 9f31ff7] I changed stuff
1 files changed, 2 insertions(+), 1 deletions(-)

さて、私のリモート(github上)とは別人です。

$ git status
# On branch mybranch
# Your branch is ahead of 'origin/mybranch' by 1 commit.
#
nothing to commit (working directory clean)

これをリモート - あなたのフォークで差分します。 (これは頻繁に git diff master origin )

$ git diff mybranch origin
diff --git a/playground/foo/bar.py b/playground/foo/bar.py
index 516323b..b4fb1be 100655
--- a/playground/foo/bar.py
+++ b/playground/foo/bar.py
@@ -1,27 +1,29 @@
- This line is wrong
+ This line is fixed now - yea!
+ And I added this line too.

(リモートへの適用はgit pushで)

リモートブランチとリモートマスターブランチはどのように違うのですか?

$ git diff origin/mybranch origin/master

私のローカルとリモートのマスターブランチはどう違うのですか?

$ git diff origin/master

私のものと、他の人のフォーク、同じレポのマスターブランチはどう違うのでしょうか?

$git diff mybranch someOtherRepo/master