내가 만든 로컬 커밋 중 아직 원격 리포지토리로 푸시되지 않은 커밋은 어떻게 볼 수 있나요? 때때로 git status
에 내 브랜치가 origin/master
보다 X 커밋 앞서 있다고 출력되지만 항상 그런 것은 아니다.
Git 설치에 버그가 있는 건가요, 아니면 제가 뭔가 놓치고 있는 건가요?
모두 볼 수 있는 모든 분기로서의 스케쳐내 커밋한 aren& # 39 는 다음과 같은 끼워졌는지 아직말이에요, 무언가를 찾는 될 수 있습니다.
git log --branches --not --remotes
및 각 지점, 그리고 가장 최근의 커밋합니다 보고 싶은 경우에만 지사급 이름, 이:
git log --branches --not --remotes --simplify-by-decoration --decorate --oneline
모든 것이 아니라 함께 있는 경우 로칼에서 업스트림입니다 커밋한 표시할 수 있습니다.
git log @{u}..
{u}} {업스트림으로 '@' 또는 '@' 는 현재 분기로의 업스트림입니다 분기로의 (http://otl. 'git rev 구문 분석 - 도움말에서는' 또는 '수정' git 도움말에서는 를 참조).
깃 (git) 의 제품을 찾는 커밋한 앨리어스입니다 운푸시드 현재 분기로의:
alias unpushed = !GIT_CURRENT_BRANCH=$(git name-rev --name-only HEAD) && git log origin/$GIT_CURRENT_BRANCH..$GIT_CURRENT_BRANCH --oneline
이것은 기본적으로 높여줍니까:
git log origin/branch..branch
물론 현재 분기로의 결합할지 이름.
다른 모든 답을 " upstream" 이야기;; (이 분기로의 너회가 당기십시오 에서).
'마스터', '마스터' " " 분기로의 푸시할 않을 수 있는 원격 추적 / 그;.
참조 [커밋합니다 29bc885] (https://github.com/git/git/commit/29bc88505f22068d7ee6694240e6b13fddb5d059), [커밋합니다 3dbe9db] (https://github.com/git/git/commit/3dbe9db01bd9c0b0701f72a631ac15b1791f6642), [커밋합니다 adfe5d0] (https://github.com/git/git/commit/adfe5d04345631299f9a4518d56c6dd3d47eb0b3), [커밋합니다 48c5847] (https://github.com/git/git/commit/48c58471c2d4d7293272448a18801cd27555f6b5), [커밋합니다 a1ad0eb] (https://github.com/git/git/commit/a1ad0eb0cb1c9c83492b17d7a218be084466bf9a), [커밋합니다 e291c75] (https://github.com/git/git/commit/e291c75a95d60862cbe12897b5cffb01ba4cedd5), [커밋합니다 979cb24] (https://github.com/git/git/commit/979cb245e29b35812d2d71a04069ba7a4580981f), [커밋합니다 1ca41a1] (https://github.com/git/git/commit/1ca41a19323d455cf0028001677f3adfae0d4cc4), [커밋합니다 3a429d0] (https://github.com/git/git/commit/3a429d0af342d85ef6d561e3a60ae8793a34ae78), [커밋합니다 a9f9f8c] (https://github.com/git/git/commit/a9f9f8cc1f59104257eb1a11a2d048f54dd92ee6), [커밋합니다 8770e6f] (https://github.com/git/git/commit/8770e6fbb28dffdf9e00d05365120e438d3d236f), [커밋합니다 da66b27] (https://github.com/git/git/commit/da66b2743cf7244e52c4b9d91646b782cd4f7eeb), [커밋합니다 f052154] (https://github.com/git/git/commit/f052154db332e48ea35b1a0d783361a40a361250), [커밋합니다 9e3751d] (https://github.com/git/git/commit/9e3751d4437b43e72497178774c74be1ceac28b9), [커밋합니다 ee2499f] (https://github.com/git/git/commit/ee2499fe38d93fcbf4cbecdf83b32a495b0b12b9) [모든 것을 21일 5월 2015년] 및 [커밋합니다 e41bf35] (https://github.com/git/git/commit/e41bf352e3280e6990605a18ebbbd40c6f1c0d6d) [01일 5월 2015년] 에서 [제프 킹 ('프레프')] (https://github.com/peff). sup> <; (병합되었습니다 에서 [주니우 캜 하마노 기트스터 '-' -] (https://github.com/gitster) 에서 [커밋합니다 c4a8354] (https://github.com/git/git/commit/c4a8354bc14e20d5ca6dc353e17e5b27fefefdab), 05일 6월 2015년), /sup> <.
커밋합니다 adfe5d0 설명했다.
>. # 'sha1_name': '@' 대표 구현하십시오 누름식} {
>. 흥미 있는 각 지점에서 서로 다른 두 개의 삼각형 워크플로에 있을 수 있습니다. 일반적으로 '이' @} {업스트림으로 당기십시오 가져오기에서 정상적으로 할 수 있는 대상 푸시할. 하지만, 후자의 경우 t # 39 좁히어 isn& 약어입니다 it& # 39 의 데 도움이 됩니다.
>. 예를 들어, t # 39 너회가 haven& 커밋한 알아야 할 수 있습니다. 아직 끼워졌는지 :
git log @{push}..
>. 예를 들어, 일반적으로 "에서 유래) 로 변경 또는 더 복잡한 상상할 수 있는 당기십시오 / 마스터 ' (@} {업스트림으로 설정한' 를 '), 및 누름식 변경되는지 나만의 포크하지 (예:' 마이포크 / 주제 '). 네 포크하지 필요로 하는 여러 시스템을 통해 푸시할 수 있습니다 에서 변경할 수 있습니다 통합하십시오 누름식 대상 아닌 업스트림으로 . 그냥 대체하십시오 패치합니다 할 수 있습니다.
git rebase @{push}
>. 입력 아웃해야 아닌 전체 이름.
>. # '각 참조': % (push) ',' " 동의하십시오 ". 형식
>. 마찬가지로 우리는 " (업스트림으로) ',' % ". @}, {업스트림으로 " 보고하십시오 '를' ". (push) ',' % 자도으로 각 참조, 이 패치는 " ". @}, {누름식 일치시키려면 " ',' ". It 는 동일한 자간은 형식에 따라 수정자는 업스트림입니다 (같도다라고 알고 싶을 수 있습니다, 예를 들어, 어떤 분기로서의 커밋한 %s/dbase/ext_table. 푸시할 ).
보고 싶지 않으면 해당 지역 분기로서의 시용되는 커밋합니다 빠름 / 견하여 비해 분기로의 틀렸다니까 추진하고 있다.
git for-each-ref --format="%(refname:short) %(push:track)" refs/heads
내가 아닌 다른 지역, disk_b_s10database 원격입니다 disk_b_s10database 분기로의 끼워졌는지 수행됨 커밋합니다 이전에 있었다. 그냥 커밋합니다. 단, 다른 커넥터로부터 아무것도아니야 가져다줄래요 협력했습니다 대답:
git reflog
그곳에서 나는 내 com/downloads/global/corporate/iar/esg_prosupport. 커밋합니다.
이 일을 하는 것이 가장 일반적인 방법은 다음과 같은 항목을 실행하십시오 i believe
git cherry --abbrev=7 -v @{upstream}
하지만 개인적으로 포지셔닝하십시오 실행:
git log --graph --decorate --pretty=oneline --abbrev-commit --all @{upstream}^..
에서 보여주는 < 커밋한 strong> all< /strong>;;; ,) 의 마지막 커밋합니다 업스트림입니다 병합되었습니다 않은 분기로서의 < em> 구성형 upstream< /em>; (루트 노드에 것으로 볼 수 있는 모든 다른 커밋한). 내가 그렇게 자주 사용하고 있는 '' 노프 hotenough. 앨리어스가 일이다.
git config --global alias.noup \
'log --graph --decorate --pretty=oneline --abbrev-commit --all @{upstream}^..'
내가 가서 볼 수 있습니다 (https://github.com/badele/gitcheck) 이 스크립트입니다 제안하세요 스크립트입니다 나는 심장이 체크 인하도록 한번에 최선을 다하고 있지 않은 사람이 당신의 모든 git 저장소용으로 it 쇼, 누가 끼워졌는지 / 꺼내 들었다.
이곳에서 샘플링합니다 결과:! 입력하십시오. 이미지 여기에 설명을
버그가 아닙니다. 자동 병합에 실패한 후 리모컨에서 변경 내용을 가져왔지만 아직 병합되지 않은 git 상태가 표시되는 것일 수 있습니다.
로컬 리포지토리와 리모트 사이의 커밋을 확인하려면 이렇게 하세요:
git fetch
이 방법은 100% 안전하며 작업 복사본을 모방하지 않습니다. 변경 사항이 있으면 git 상태
에 오리진/마스터보다 앞선 커밋 수
가 표시됩니다.
이제 원격에 있지만 로컬에 없는 커밋의 로그를 표시할 수 있습니다:
git log HEAD..origin
깃 (git) 을 검사할 수 있는 모든 좁히어 가 도구에서는 release. 운푸시드 에서 지정한 apc® 디렉토리이며 레포스 subversion, 머큐리얼 및 파일 및 운푸시드 커밋한 우코미테트 목록을 보여줍니다. Linux 에서 설치 방법은 간단합니다.
$ easy_install --user unpushed
또는
$ sudo easy_install unpushed
시스템 설치.
너무 사용 방법은 간단합니다.
$ unpushed ~/workspace
* /home/nailgun/workspace/unpushed uncommitted (Git)
* /home/nailgun/workspace/unpushed:master unpushed (Git)
* /home/nailgun/workspace/python:new-syntax unpushed (Git)
공식 설명 '또는' 운푸시드 지켜보리니 도움말에서는 자세한 내용을 확인할 수 있습니다. 또한, '알림' 화면에 크론조프 스크립트입니다 운푸시드 통지하십시오 운코미테트 및 운푸시드 변경.