Programing

Git에 "git pull --dry-run"옵션이 있습니까?

lottogame 2020. 11. 15. 10:53
반응형

Git에 "git pull --dry-run"옵션이 있습니까?


git pull --dry-run내 작업 트리를 엉망으로 만들기 전에 물건이 어떻게 병합되는지 보는 것과 같은 것이 있습니까?

지금 내가하고있는 일 :

git fetch origin && git merge --no-commit --no-ff

나는 그와 관련된 'git-pull'에 대한 man 페이지에서 아무것도 보지 못했습니다.

명확히하기 위해 배포 용 Ant 스크립트에서을 (를) 수행 할 때 충돌이 있는지 확인한 git pull다음 빌드를 종료하고 배포를 실패하고 해당 디렉터리 트리를 이전과 동일하게 유지합니다 git pull.


나는 항상 Git의 고유 한 능력에 의존하여 병합이 실패 할 경우 나를 되찾았습니다.

병합이 발생하는 방법을 추정하려면 다음과 같이 시작할 수 있습니다.

$ git fetch origin branch  # Fetch changes, but don't merge
$ git diff HEAD..origin/branch # Diff your current head to the fetched commit

... personal judgement of potential merge conflicts ...

$ git merge origin/branch # merge with the fetched commit

일이 계획대로 진행되지 않으면 귀하를 확인 reflog하고 원하는 상태로 재설정하십시오.

$ git reflog
...
abc987  HEAD@{0}: merge activity
b58aae8 HEAD@{1}: fetch origin/branch
8f3a362 HEAD@{2}: activity before the fetch
...
$ git reset --hard HEAD{2}

로컬 오리진 / 마스터를 업데이트하려면 먼저 가져와야합니다.

git fetch origin

그런 다음 다음을 수행 할 수 있습니다.

git diff --name-only origin/master

변경된 파일을 나열합니다.

git diff origin/master directory_foo/file_bar.m

directory_foo / file_bar.m 파일의 diff를 한 줄씩 나열합니다.


현재 분기에서 새로운 일회용 분기를 만들고 git pull거기에서 수행하여 원하는 효과를 얻을 수 있습니다 . 결과가 마음에 들지 않으면 원래 가지가 그대로 유지됩니다.


# fetch new commits from origin
$ git fetch

# check what are the differences and judge if safe to apply
$ git diff origin/master

# actually merge the fetched commits 
$ git pull

당기는 것은 병합을 의미하므로 git merge --abort스크립트가 충돌이 있고 병합이 실패한 것을 감지하면 실행을 계속 합니다.


이 비슷한 질문에서 내 대답을 참조하십시오.

가져 오기없이 git-pull을 미리 보는 방법은 무엇입니까?

이것은 ~/.gitconfig파일 로 이동 합니다.

[alias]
        diffpull=!git fetch && git diff HEAD..@{u}

참고 URL : https://stackoverflow.com/questions/17222440/is-there-a-git-pull-dry-run-option-in-git

반응형