삼방향 차이: Gstatus가 특정 상황에서 끊어짐
묘사
에서 이 점을 촉발한 것이 무엇인지 100% 확정할 수 없지만 만약에 한 파일이:Gstatus
에 통합되지 않은 충돌을 포함한다면 때때로 파일에서 D
을 누르면 삼방향 차이가 열리지 않는다.반대로 diff 모드에서는 두 개의 창만 열지만, 그 중 하나는 내용을 포함하지 않습니다.나는 이것이 삭제된 파일의 충돌과 관련된 예상 결과라고 생각하지만, 나는 쌍방이 존재하는 파일을 합병하는 이런 행위를 관찰했다.나는 이것이 :Gstatus
에 동시에 존재하는 다른 파일 (합병된 파일, 추적되지 않은 파일 등) 과 관련이 있다고 생각한다.만약 다른 사람들도 비슷한 경험을 가지고 있다면, 나는 당신이 나를 도와 번식의 정확한 절차를 확정하는 데 도움을 준 것에 매우 감사할 것입니다.나는 이런 행위가 모든 상황에서 비정상적이라고 생각한다. 내가 자질구레한 충돌을 재현하도록 강요하고 잘 작동하는 것을 발견할 때까지.내가 그것을 발견했을 때, 나는 더 많은 정보를 업데이트할 것이다.
토론 #1
은 이 상황에서 나쁘다.# rebase in progress; onto d44383f
# You are currently rebasing branch 'feature/remove-trailing-whitespace' on 'd44383f'.
# (fix conflicts and then run "git rebase --continue")
# (use "git rebase --skip" to skip this patch)
# (use "git rebase --abort" to check out the original branch)
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: app/controllers/Application.java
# modified: app/controllers/CustomerController.java
# modified: app/controllers/EventController.java
# modified: app/controllers/JsonValidator.java
# modified: app/controllers/LoggingAction.java
# modified: app/controllers/NamedEventController.java
# modified: app/controllers/PersonController.java
# modified: app/data/CustomerDao.java
# modified: app/data/EventDao.java
# modified: app/data/GenericDao.java
# modified: app/data/NamedEventDao.java
# modified: app/data/UserDao.java
# modified: app/model/BelongsToCustomer.java
# modified: app/model/Customer.java
# modified: app/model/Event.java
# modified: app/model/Person.java
# modified: app/model/Snippet.java
# modified: app/model/User.java
# modified: app/model/frontend/DataSourceInput.java
# modified: app/security/Secured.java
# modified: app/services/Stormpath.java
# modified: app/util/EventTransportUtils.java
# modified: test/test/ApplicationTest.java
# modified: test/test/IntegrationTest.java
# modified: test/test/ModelsTest.java
#
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add <file>..." to mark resolution)
#
# both modified: app/services/SolrService.java
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: ui (new commits)
#
토론 #2
이런 행위를 복제할 수 있는 사람이 있습니까?토론 #셋
저는 다음과 같은 행동을 재현할 수 있습니다.1.
master
에서 test
이라는 새로운 지점을 만들고 서명2.
x
에 한 줄 추가(어디서든 기억할 수 있음)3. 변화를 꾀한다
4. 결산
master
5. 단계 2의 x
같은 위치에 선 추가6. 변화를 꾀한다
7. 결산
test
8. master
(git rebase master
)에 베이스 재설정9. Vim에서
:Gstatus
을 실행하고 D
줄에 both modified
을 입력하여 변경된 파일을 가져옵니다.10. 다음과 같은 경우:http://i.imgur.com/2fxq7cv.png
토론 #4
감사합니다 @tommcdo.나는 이러한 오류 행위는 단지 기본 주소를 다시 설정하는 것에 한정된다고 생각한다. (또는 더 일반적으로 말하면, 지점이 아닌 제출을 서명할 때)토론 #5
@qstrahl, 더 나아가 설명: 응용 프로그램 숨김(git stash pop
)이 충돌을 초래할 때도 같은 행위를 나타낸다.토론 #6
은 항상 또는 분기가 아닌 제출 시에만 서명합니까?토론 #7
그래, 앱이 숨겨진 상황에서 우리는 한 지점에 서명한 것 같다(내 경우master
).그래서 아마도 우리는 아직 이 문제를 완전히 고립시키지 않았을 것이다.토론 #8
그렇다면 당신은master
에 HEAD~1
이나 유사한 것이 아니라 숨겨진 것을 사용했습니까?토론 #9
맞습니다.나는HEAD~1
에 숨김을 만들었지만 master
에 그것을 적용했다.나는 이런 상황이 숨겨진 제출 유행 장면에서 발생했는지 테스트해야 한다
보기에는 매우 비슷하지만, 차이점이 하나 있는데, 그것은 바로 관련되어 있느냐 없느냐에 관한 것이다
어느 점에서 갈라지다.
2013년 11월 18일 월요일 오후 1:24, Quinn [email protected]:
So, you applied the stash while on master, not while on HEAD~1 or anything like that?
— Reply to this email directly or view it on GitHubhttps://github.com/tpope/vim-fugitive/issues/407#issuecomment-28723751 .
토론 #10
한 번 숨기고 새로운 제출을 한 번 하고 팝업을 한 번 하면 같은 상황이 발생한다.토론 #11
네.진단에 감사드립니다.토론 #12
좋습니다. 그럼 어떤 Git 버전인가요?안 일어날 때가 있나요?토론 #13
,git 1.8.4
, vim 7.4 1-5
입니다.합병 지점이 충돌을 초래할 때 이런 상황이 발생하지 않는다.이런 상황에서 적당한 삼방향 차분이 생길 수 있다.토론 #14
은 나에게 같은 버전이고 일반적인git merge
방법이 발생하는 충돌에도 적용된다.토론 #15
: Gstatus 버퍼는 성공 사례에서 다르게 보입니까?2013년 11월 18일 월요일 오후 2:50, Quinn [email protected]:
Same versions for me, and it works for conflicts produced by the usual git merge method here, too.
— Reply to this email directly or view it on GitHubhttps://github.com/tpope/vim-fugitive/issues/407#issuecomment-28731405 .
토론 #16
git merge
사용:# On branch master
# You have unmerged paths.
# (fix conflicts and run "git commit")
#
# Unmerged paths:
# (use "git add <file>..." to mark resolution)
#
# both modified: test.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
git rebase
:# rebase in progress; onto 2a78977
# You are currently rebasing branch 'master' on '2a78977'.
# (fix conflicts and then run "git rebase --continue")
# (use "git rebase --skip" to skip this patch)
# (use "git rebase --abort" to check out the original branch)
#
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add <file>..." to mark resolution)
#
# both modified: test.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
토론 #17
다음은test
을 master
으로 통합하는 과정에서 충돌이 발생한 상황입니다.http://i.imgur.com/9ZleQYz.png다음은 내가
test
을 master
으로 재설정하여 충돌을 초래했을 때의 상황이다.http://i.imgur.com/gl885JT.png@qstrahl이 나를 좀 앞섰지만, 나는 예쁜 사진들이 있다. P
토론 #18
나도 오늘 이 사건을 만났다.다른 사람이 말한 바와 같다.코드를 깊이 연구하고 도움을 줄 수 있는지 알아보겠습니다.토론 #19
나는git의 비현지화 버전 문제를 해결할 수 있다.나는 이미 복구 요청을 제출했다.새로운 명령 목록을 처리하기 위해if문장의 첫 번째 부분을 조정해야 한다고 의심합니다.Reference
이 문제에 관하여(삼방향 차이: Gstatus가 특정 상황에서 끊어짐), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tpope/vim-fugitive/issues/407텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)