git에서 들어오는 커밋을 어떻게 볼 수 있습니까? [복제]
git에서 들어오는 커밋을 어떻게 볼 수 있습니까? 아니면 더 나은, 내가 방금 git fetch
/ git pull
에드를 참조하십시오 ?
편집 : 질문을 명확히하기 위해 : 누군가가 나에게 수정을 받으려면 저장소에서 가져와야한다고 말합니다. 내 목표는 변경 사항을 수락 하기 전에 변경 사항을 확인하는 것입니다. git pull
자동으로 병합되어 원하는 것이 아닙니다. git fetch
병합하지 않고 그것들을 잡을 수 있지만, 내가 정확히 가져온 것을 보는 방법을 잘 모르겠습니다. 원래 문구의 이유는 일반적으로 명령이 될 곳인 Mercurial을 사용 hg incoming <repo name here>
하기 때문입니다. .
incoming
git에서 직접 매핑하는 것은 아닙니다. 따라서 여러 개의 repos를 가져올 수 있고 각 repo에는 여러 가지가 있기 때문에 (그리고 나는 종종 있습니다)
hg의 들어오는 명령과 동등한 것이 있다면 아마도 다음과 같습니다.
git fetch && git log ..origin/master
즉, "업스트림에서 모든 것을 가져 와서 현재 분기와 업스트림 마스터 분기를 비교하십시오."
마찬가지로 발신은 다음과 같습니다.
git fetch && git log origin/master..
실제로는 로컬 분기를 많이 추적하고 많은 원격 분기에서 추적하는 것이 쉽고 함께 유지하는 데 어려움이 없기 때문에 수동으로 입력합니다 (그중 하나의 별칭을 만들었더라도).
git whatchanged
어떤 커밋 범위에서 이루어진 변경 사항에 대한 좋은 개요를 제공하는 데 관심이있을 수도 있습니다 .
당신은 당신이 풀에 대해하는지 검토 할 경우을 git fetch
전용 (어떤이 아닌 원격 저장소에 로컬 추적 지점을 업데이트하는 첫 번째 사용자의 지점), 다음 모든 명령을 사용하는 쇼 당신에게 새로운 커밋 당신이 ' 당기려고 예를 들면 다음과 같습니다.
git whatchanged ..origin
이것은 "원산지"를 통해 "현재 어디에 있든 공통 조상과 기원"사이의 커밋을 보여주기위한 축약 형입니다.
두 저장소의 차이점을 조사 할 수 있습니다. 다른 사람들이 코드를 커밋하는 로컬 브랜치 'master'와 원격 추적 브랜치 'origin / master'가 있다고 가정하면 두 브랜치의 차이점에 대한 다른 통계를 얻을 수 있습니다.
git diff --summary master origin/master
git diff --stat master origin/master
git diff --numstat master origin/master
git diff --dirstat master origin/master
git diff --shortstat master origin/master
git diff --name-only master origin/master
git diff master origin/master
누군가가 당신에게 당겨달라고하면, 그들은 당신에게 repo URL과 가지를 줄 것입니다 (기본값은 master
).
난 그냥 할거야
git fetch URL branch
그 뒤에 1 개 (우선 순위가 낮은 순서로) :
# note 3 dots in next 3 commands
gitk HEAD...FETCH_HEAD
# shows all commits on both sides since the "fork" point
gitk --cherry-pick HEAD...FETCH_HEAD
# as above but skips identical patches so you really see the differences
git log --graph --boundary --left-right --cherry-pick --decorate HEAD...FETCH_HEAD
# I have a nice alias for this; it's the text mode eqvt of the above
또한 "를 사용 tig
때때로"하지만,이 특정 쓰임새는 (보는 두 측면을) 잘 의해 제공되지 않는다 tig
.
그러나 두 점으로 가져 가면 (실제 질문과 더 일치 할 수 있지만 여전히 3 점 버전을 선호하지만) 할 수 있습니다
tig HEAD..FETCH_HEAD
편의상 별명은 다음과 같습니다.
incoming = !sh -c 'git fetch && git log --graph --boundary --left-right --cherry-pick --decorate HEAD..FETCH_HEAD'
outgoing = !sh -c 'git fetch && git log --graph --boundary --left-right --cherry-pick --decorate FETCH_HEAD..HEAD'
"수신 커밋"사용자는 로컬 커밋을 수행하여 푸시하지 않습니다. gitx 또는 gitk (git와 함께 제공)를 열고 repos가 어떻게 보이는지 확인하십시오 ... 그것이 당신에게 명확한 시야를 줄 것이라고 생각합니다.
사용 : gitk --all
참조하십시오.
이 게시물을 살펴보십시오. git 버전 1.7에서 도입 된 새로운 기능의 사용법을 보여줍니다. Git 사용 로컬 및 원격 사이의 변경 사항을 어떻게 찾을 수 있습니까?
참고URL : https://stackoverflow.com/questions/1331385/how-can-i-see-incoming-commits-in-git
'development' 카테고리의 다른 글
문자열의 가능한 모든 순열 목록 생성 (0) | 2020.06.07 |
---|---|
커밋이 원래 생성 된 Github에서 풀 요청 찾기 (0) | 2020.06.07 |
특정 파일에 대한 로컬 변경을 취소하는 방법 (0) | 2020.06.07 |
MD5 입 / 출력의 최대 길이 (0) | 2020.06.07 |
지도를 반복하면서 제거하는 방법? (0) | 2020.06.07 |