두 저장소 간의 차이점 얻기
두 git 저장소의 차이점을 어떻게 알 수 있습니까?
시나리오 : repo_a 및 repo_b가 있습니다. 후자는 repo_a의 사본으로 작성되었습니다. 나중에 두 저장소 모두에서 병렬 개발이있었습니다. 이 두 저장소의 현재 버전의 차이점을 나열 할 수있는 방법이 있습니까?
repo_a에서 :
git remote add -f b path/to/repo_b.git
git remote update
git diff master remotes/b/master
git remote rm b
Meld 는 디렉토리를 비교할 수 있습니다.
meld directory1 directory2
두 git repos의 디렉토리를 사용하면 멋진 그래픽 비교를 얻을 수 있습니다.
파란색 항목 중 하나를 클릭하면 변경된 내용을 볼 수 있습니다.
하나의 저장소에 두 가지가 모두 있으면을 수행 할 수 있습니다 git diff. 그리고 하나의 저장소에 넣는 것만 큼 쉽습니다.
git fetch /the/other/repo/.git refs/heads/*:refs/remotes/other/*
먼저 현재 리포지토리에 원격으로 다른 리포지를 추가 할 수 있습니다.
git remote add other_name PATH_TO_OTHER_REPO
그런 다음 해당 리모컨에서 brach를 가져옵니다.
git fetch other_name branch_name:branch_name
이렇게하면 현재 리포지토리에서 해당 분기를 새 분기로 만든 다음 해당 분기를 분기와 비교하여 현재 분기와 새 분기 (branch_name)를 비교할 수 있습니다.
git diff branch_name
"일반"의 " http://git.or.cz/gitwiki/GitTips "섹션, "두 로컬 리포지토리를 비교하는 방법"섹션을 참조하십시오 .
간단히 말해서 GIT_ALTERNATE_OBJECT_DIRECTORIES 환경 변수를 사용하여 다른 저장소의 객체 데이터베이스에 액세스 하고 / GIT_DIR 과 함께 git rev-parse 를 사용하여 --git-dir다른 저장소의 기호 이름을 SHA-1 식별자로 변환하십시오.
최신 버전은 다음과 같이 보입니다 ( 'repo_a'에 있다고 가정).
GIT_ALTERNATE_OBJECT_DIRECTORIES = .. / repo_b / .git / objects \ git diff $ (git --git-dir = .. / repo_b / .git rev-parse --verify HEAD) HEAD
여기서 ../repo_b/.gitrepo_b의 오브젝트 데이터베이스에 대한 경로입니다 (저장소 인 경우 repo_b.git입니다). 물론 HEAD뿐만 아니라 임의의 버전을 비교할 수 있습니다.
repo_a 및 repo_b가 동일한 저장소 인 경우, git remote add -f ...반복 업데이트를 위해 저장소에 대한 별명을 작성하기 위해 " "를 사용하거나 " "를 사용하지 않고 " "를 사용하여 둘 다 동일한 저장소에 두는 것이 더 합리적 일 수 있습니다 git fetch .... 다른 답변에 설명 된대로.
git diff master remotes/b
맞습니다. remotes/b원격이지만 지점이 아닙니다.
그것이 작동하게하려면 :
git diff master remotes/b/master
폴더와 파일을 비교할 수있는 훌륭한 기능을 갖춘 PyCharm을 사용합니다.
두 저장소 모두에 대한 상위 폴더를 열고 색인이 생성 될 때까지 기다리십시오. 그런 다음 폴더 또는 파일을 마우스 오른쪽 버튼으로 클릭 Compare to...하고 반대쪽에서 해당 폴더 / 파일을 선택할 수 있습니다.
다른 파일뿐만 아니라 그 내용도 보여줍니다. 명령 줄보다 훨씬 쉽습니다.
가장 좋은 방법은 로컬 컴퓨터에 두 개의 저장소를 모두두고 두 디렉토리를 매개 변수로 linux diff 명령을 사용하는 것입니다.
diff -r repo-A repo-B
리모컨 설정을 터치하지 않고 쉽게 할 수 있습니다. 리포지토리 A에서 마스터 (마스터 브랜치를 비교한다고 가정) :
git fetch path/to/repo_b.git master
git diff FETCH_HEAD
참고 URL : https://stackoverflow.com/questions/1968512/getting-the-difference-between-two-repositories
'Programming' 카테고리의 다른 글
| Android 앱에 어떤 Eclipse 버전을 사용해야합니까? (0) | 2020.06.08 |
|---|---|
| 힘내 : 저장소에서 파일을 삭제하지 않고 색인에서 파일을 제거하는 방법 (0) | 2020.06.07 |
| Eclipse가 자원을 자동으로 새로 고칠 수 있습니까? (0) | 2020.06.07 |
| 특정 문자의 문자열을 확인하는 방법은 무엇입니까? (0) | 2020.06.07 |
| 파이썬의 pprint가 인쇄 대신 문자열을 반환하도록하려면 어떻게합니까? (0) | 2020.06.07 |
