Mercurial에서 닫힌 지점을 다시 열 수 있습니까?


132

Mercurial에서 이름이 지정된 지점을 닫을 수 있으므로 hg branches목록에 표시되지 않습니다 .

hg commit --close-branch -m 'close badbranch, this approach never worked'

필요한 경우 나중에 지점을 다시 열 수 있습니까?


13
당신은 단순히 그것을 시도해야합니다. 배우는 가장 좋은 방법은 실험하는 것입니다. 저장소는 Hg로 저렴하기 때문에 열광적입니다.
Lasse V. Karlsen

1
더러운 작은 비밀 : Hg speak의 "branch"는 "commit과 관련된 텍스트 레이블"을 말하는 또 다른 방법입니다. "분기 (branch)"는 관련되지 않은 많은 다른 커밋에 대한 많은 다른 헤드를 가질 수 있습니다.
user2864740

답변:


164

당신은 할 수 hg update폐쇄 지점에 다음 다른 작업을 수행 hg commit하면 자동으로 재개됩니다.

closed플래그는 단지에서 폐쇄 된 지점에서 필터를 사용 hg branches하고 hg heads당신이 사용하지 않는 --closed옵션을 - 그것은 가지를 사용하지 못하도록하지 않습니다.


20
실제로 커밋해야 할 것이 없다면 커밋은 아무 것도하지 않으므로, 변경하기 위해 조금씩 변경해야 할 수도 있습니다.
Francis Upton IV

1
지적 해 주셔서 감사합니다-커밋을 수행하여 변경 사항이 암시되었다고 가정했지만 물론 닫힌 플래그를 제거하려는 경우 변경 없이는 할 수 없습니다.
Tim Delaney

3
태그로 커밋 할 수 있습니다.
devlord

이것은 명령 줄 인터페이스에서 작동 할 수 있지만 아직 시도하지는 않았지만 TortoiseHg는 닫힌 분기로 업데이트 할 수 없습니다. 그렇게하려면 업데이트 버튼이 비활성화됩니다.이 기능을 사용하려면 닫기 변경 세트 (효과적으로 부모) 전에 지점으로 업데이트 한 다음 닫기 변경 세트로 업데이트해야했습니다. 이상한 점은 부모로 업데이트 할 때 TortoiseHg가 가까운 변경 세트 (자손)가 부모라고 주장합니다. 어쨌든 적절한 농구대를 뛰어 넘기면 잘 작동합니다.
DaveN59

그것을 사용하고 (phpstorm에서 터미널을 통한 명령 줄) 감사처럼 작동합니다.
Mathieu Dierckx

15

분기를 '생성'할 때 "-f"플래그를 사용하여 분기를 다시 열 수 있습니다.

아니요,이 명령은 이름이 같은 새 분기를 만듭니다.

닫혀 있음을 잊지 마십시오. 지점으로 전환하여 변경 한 후 커밋하십시오. 자동으로 다시 열립니다. 완료되면 다시 닫을 수 있습니다.


Git과 달리 Mercurial이라는 지명 지점은 영구적이므로 해당 지점 이름을 재사용 할 수 없다고 생각했습니다. 무엇을 혼란스럽게합니까? 우리가 이야기하는 같은 지점의 여러 헤드입니까?
Nate Cook

2

다음과 같이 시도하십시오.

hg pull && hg update branch_name

이제 파일 중 하나를 약간 변경 한 다음 커밋하십시오.

 hg commit -m "minor change"

그런 다음 밀어

hg push -b . 

이제 정상적으로 작업 할 수 있어야합니다.


-3

이 시도.

실행하기 전에 닫힌 분기로 전환하십시오. (hg closed_branch)

HG ST

터치

~을 추가하다

hg commit -m '닫힌 분기 다시 열기'

닫힌 분기가 다시 열립니다.


12
이것은 쓸모없는 빈 파일을 저장소에 추가하고 있습니다.
Rafael Piccolo 2019
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.