2017-11-22 20 views
1

대부분 명령 행에서 git을 사용하지만, 충돌 해결을 위해 나는 IDE를 선호합니다. 특히 IntelliJ IDEA.IntelliJ IDEA - 명령 행에서 해결되는 Git 충돌을 트리거하는 방법

현재 리베이스를 시도하고 충돌을 봅니다. 그래서 나는 IDEA에 가서 "VCS -> 힘내 -> 분쟁 해결"을 클릭해야합니다. 그런 다음 콘솔로 돌아가서 git rebase --continue을 실행하십시오.

git을 구성하여 충돌을 처리하도록 구성 할 수 있다고 생각합니다.

IDEA의 충돌을 명령 줄에서 해결할 수있는 방법이 있습니까? 같은 것은 idea --git-resolve-conflicts $(PWD)입니다.

아마도 올바른 플러그인을 설치 한 후에? 당신이 ~/.gitconfig (글로벌) 또는 프로젝트/.git/config에 (당신의 프로젝트에 병합 확인에 사용되는 도구를 정의해야

Usage: 
    /usr/local/bin/idea -h | -? | --help 
    /usr/local/bin/idea [project_dir] 
/usr/local/bin/idea [-l|--line line] [project_dir|--temp-project] file[:line] 
    /usr/local/bin/idea diff <left> <right> 
    /usr/local/bin/idea merge <local> <remote> [base] <merged> 

답변

3

우선이 무엇 IDEA 도움이 나를 준다)

[mergetool "idea"] 
    cmd = /usr/local/bin/idea merge \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\" 
    trustExitCode = false 
[merge] 
    tool = idea 

는 일반 세션에서, 때 약간의 충돌이 발생 git merge 명령 후, 전화 :

git mergetool 

내가 false로 trustExitCode 설정을 수정 편집 ...이 FA를하지 않도록 여러 개의 충돌하는 파일이있을 때. 셸의 각 파일에 현재 파일에 대한 충돌이 해결되었는지 확인한 후 다음 파일로 진행되는지 확인하는 메시지가 표시됩니다.

+0

고마워. 이것이 내가 원하는 것일 수 있습니다. –

+0

괜찮습니까? 더 많은 표시가 필요합니까? –

+0

좋아, 나는 하나의 충돌하는 파일로 그것을 시도했습니다. 여러 번 시도해야합니다. –

1

IDEA를 병합 도구 (/usr/local/bin/idea merge <local> <remote> [base] <merged>)로 부를 수 있습니다. https://www.jetbrains.com/help/idea/running-intellij-idea-as-a-diff-or-merge-command-line-tool.html

IDEA는 모든 충돌을 자체적으로 찾을 수는 없지만 Carlo가 제안한 것처럼 git의 기본 병합 도구로 구성 할 수 있습니다. 그래야 작동

+0

왜 모든 충돌을 발견하지 못하겠습니까? 그것은 "Resolve conflicts ..."를 클릭 할 때 모든 충돌이 나타나고 모든 것을 선택하고 "Merge"를 클릭하는 것입니다. 기본적으로 내가 호출하고자하는 것입니다. –

+0

하지만 유망 해 보이는 링크에 감사드립니다. –

+0

이 작업은 git 및 내부 워크 플로의 구문 분석 된 출력을 기반으로 수행됩니다. IDE에서 리포지토리를 열면 모든 것을 검색 한 다음 Resole conflicts 액션을 호출합니다. 그러나 단일 명령 줄을 사용하여이 작업을 수행 할 수있는 방법이 없습니다. –