IT story

복제 된 원본 저장소와 원본 원격 저장소 간 git diff

hot-time 2020. 5. 29. 23:43
반응형

복제 된 원본 저장소와 원본 원격 저장소 간 git diff


github 저장소를 복제했으며 로컬로 변경하지 않았습니다. Github 리포지토리는 동일한 브랜치에서 커밋을 진행했습니다.

  1. 로컬 저장소와 원래 github 저장소 사이의 차이점을 어떻게 찾을 수 있습니까?
  2. 작업 사본과 원래 github 저장소 사이의 차이점을 어떻게 찾을 수 있습니까?
  3. 로컬 저장소와 동일한 프로젝트의 다른 github 저장소 사이의 차이점을 어떻게 찾을 수 있습니까?

1) 비교하려는 원격 저장소를 추가하십시오.

git remote add foobar git://github.com/user/foobar.git

2) 리모컨의 로컬 사본을 업데이트하십시오.

git fetch foobar

가져 오기는 작업 사본을 변경하지 않습니다.

3) 로컬 리포지토리의 분기를 추가 한 원격지와 비교하십시오.

git diff master foobar/master

귀하의 질문에 대한 또 다른 답변 (당신이 마스터에 있고 이미 원격 변경에 대해 repo를 알리기 위해 "git fetch origin"을 가정 한 경우) :

1) 로컬 브랜치가 생성 된 이후 원격 브랜치에서 커밋 :

git diff HEAD...origin/master

2) "Working copy"는 아직 원격에 있지 않은 로컬 커밋이있는 로컬 지점을 의미한다고 가정합니다. 로컬 지점에 있지만 원격 지점에 존재하지 않는 차이점을 보려면 다음을 수행하십시오.

git diff origin/master...HEAD

3) dbyrne 답변참조하십시오 .


이 예제는 누군가를 도울 수 있습니다.

참고 " originGithub에서"가 뭔지 "원격 내 별명은"
주 " mybranch"나는 GitHub의와 동기화하고있어 것을 "지역 무엇인지"내 지점 내 별명입니다
당신이 작성하지 않은 경우 - 당신의 지점 이름하여 '마스터'입니다 하나. 그러나 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

로컬로 일부 내용을 변경하십시오. file ./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)

DIFF이 원격으로 - 포크 : (이 자주 이루어집니다 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

참고 URL : https://stackoverflow.com/questions/5162800/git-diff-between-cloned-and-original-remote-repository

반응형