을 보여주는 어떤 파일이 변경되었을 사이에 두 개정
-
03-07-2019 - |
문제
내가 병합하려는 두 가지로 분리되는지 알고 싶었는 파일을 수정되었습니다.
이 링크: http://linux.yyz.us/git-howto.html 는 매우 유용합니다.
도구를 비교하는 분지가 있다:
git diff master..branch
git log master..branch
git shortlog master..branch
궁금했던 무언가가있는 경우 다음과 같"git 상태를 마스터...지점"만 사람들을 볼 수 있는 파일을 서로 다른 두 가지입니다.
새로 만들지 않고 도구,내 생각에 이것은 가장 가까운 당신을 얻을 수있는 지금(는 물론이 보여 반복하면 파일을 수정 번 이상):
git diff master..branch | grep "^diff"
었는지 궁금하면 뭔가가 부재...
해결책
현재 지점을 비교합니다 master
나뭇가지:
$ git diff --name-status master
두 가지를 비교하려면 :
$ git diff --name-status firstbranch..yourBranchName
읽으십시오 git diff
에서 공식 문서.
다른 팁
노력하다
$ git diff --stat --color master..branchName
이렇게하면 각 변경에 대한 자세한 정보가 제공되며 여전히 동일한 수의 줄을 사용합니다.
다른 방식으로 병합되면 분기를 뒤집기 위해 차이에 대한 더 명확한 그림을 얻을 수 있습니다.
$ git diff --stat --color branchName..master
또한 GIT는 저렴하고 쉬운 가지를 가지고 있음을 명심하십시오. 병합이 문제가 될 수 있다고 생각되면 병합에 대한 분기를 만듭니다. 그래서 만약 master
합병하고 싶은 변경 사항이 있습니다 ba
마스터의 코드가 필요한 지점입니다. 다음을 수행 할 수 있습니다.
git checkout ba
git checkout -b ba-merge
git merge master
.... review new code and fix conflicts....
git commit
git checkout ba
git merge ba-merge
git branch -d ba-merge
git merge master
최종 결과는 지점을 조이기 전에 던지기 지점에서 병합을 시험해보아야한다는 것입니다. 내 자기 엉킴을 얻으면 그냥 삭제할 수 있습니다. ba-merge
분기하고 다시 시작하십시오.
누군가 두 분기에서 diff 파일을 생성하려는 경우 :
git diff master..otherbranch > myDiffFile.diff
GUI 기반 방법도 있습니다.
당신이 사용할 수있는 gitk.
운영:
$ gitk --all
지점의 커밋을 마우스 오른쪽 버튼으로 클릭하고 선택하십시오. 이 커밋을 표시하십시오 팝업 메뉴에서.
- 다른 지점의 커밋을 마우스 오른쪽 버튼으로 클릭하고 선택하십시오. 이것 -> 표시된 커밋 또는 Diff 표시된 커밋 -> this.
그런 다음 오른쪽 하단 패널에 변경된 파일 목록이 있으며 왼쪽 하단 패널에는 Diff 세부 사항이 있습니다.
이 경우 MELD를 사용하는 한 가지 추가 옵션 :
git difftool -d master otherbranch
이를 통해 파일 간의 차이점을 볼 수있을뿐만 아니라 특정 파일을 가리키고 클릭하는 쉬운 방법도 제공합니다.
GIT를 사용하면 결과가 마음에 들지 않으면 합병을 쉽게 시도하고 문제에서 벗어날 수 있습니다. 잠재적 인 문제를 미리 찾는 것보다 쉬울 수 있습니다.
그리고 특정 파일 중에서 만 변경 사항을 찾고 있다면 :
git diff branch1 branch2 -- myfile1.js myfile2.js
Branch1은 선택 사항이며 Branch1이 제공되지 않으면 현재 분기 (귀하가있는 분기)가 기본적으로 고려됩니다. 예 :
git diff master -- controller/index.js
공동 작업 또는 한 번에 여러 기능에서 작업 할 때 상류 또는 마스터에도 지점에 포함되지 않은 작업이 포함되어 있으며 기본 차이에 잘못 나타납니다.
상류가 움직일 수 있다면 다음을 수행해야합니다.
git fetch
git diff origin/master...
GIT DIFF 마스터를 사용하면 관련 변경 사항이 포함되거나 포함되지 않을 수 있습니다.
사용중인 경우 Intellij 아이디어, 당신은 또한 모든 지점을 현재 작업 지점과 비교할 수도 있습니다. 보다 http://www.jetbrains.com/idea/webhelp/merging-deleting-and-comparing-branches.html#d288093e3827 더 많은 정보를 위해서. 이것은에서 사용할 수 있습니다 무료 판 또한.
의 많은 여기에 대한 답하지만,내가 원하는 무언가를 추가하는 일반적으로 사용.는 경우에 하나의 분기점을 비교하고 싶은 나는 일반적으로 다음 중 하나를 수행합니다.의 이익을 위해 이 대답은 우리가 말하기를 우리는 우리의 유통 지점에 있습니다.에 따라 무엇이 보기에 필요한 시간에 따라 달라집니다 당신은 선택이지만,대부분의 시간이 나는 두 번째 옵션을 사용하면 됩니다.첫 번째 옵션이 유용할 수 있는 경우에 당신은 노력하고 다시 되돌릴 수 있는 원본을--어느 쪽이든 모두 작업을 수행!
이 비교합니다 마스터는 지점에 있다는 것은(보조)원래 코드를 추가한 라인과 새 코드는 것으로 간주됩 제거한 라인
git diff ..master
나
이것은 또한 비교 마스터는 지점에 있다는 것은(보조)원래 코드는 오래된 라인과 새로운드에 사용할 수 있습니다 라인
git diff master..
GUI를 좋아하고 Windows를 사용하는 경우 여기에 쉬운 방법이 있습니다.
- Winmerge를 다운로드하십시오
- 두 가지를 다른 폴더로 확인하십시오
- Winmerge를 사용하여 폴더별로 폴더를 수행하십시오. 분기 중 하나가 작업중인 지점 인 경우 쉽게 수정할 수 있습니다.
git diff revision_n revision_m
만약에 revision_n
그리고 revision_m
연속 커밋과 동일하게 출력합니다git show revision_m
GUI 솔루션을 찾고있는 사람들을 위해 git cola 아주 좋은 "Branch Diff Viewer가 있습니다 (차이 -> 가지 ..).
당신은 또한 a를 사용할 수 있습니다 시각적 차이.
예를 들어, 사용중인 경우 Sourcetree, 당신은 단순히 할 수 있습니다 로그 뷰에서 두 개의 커밋을 선택하십시오.
(저는 대부분의 경우 GUI를 사용하는 것을 선호하며 GUI 옵션에 익숙하지 않은 사람들을 위해 이것을 게시하고 있습니다.)
할 수도 있습니다 쉽게 비교 가지를 위해 변경된 파일을 사용하여 예를 들어 TortoiseGit.그냥 클릭 찾아보기를 참조 선택 가지하고 있습니다.
예를 들면 비교할 귀하의점 가 master 당신을 얻을 것이 결과적으로 목록은 파일의 변경될에 master 로 결정한 경우를 병합 h-점 로 master.
Remmber 는 다른 결과는 경우 비교할 master 가 h-점 고 h-점 가 master.