git checkout은 여러 가지 의미가 너무 많지 않아?
계기
이전 기사( 「이런 일하고 싶다」라고 때때로 어떤 git 커멘드 사용하면 좋은 것인가? )를 쓸 때,
커맨드에 대해서 아래 그림과 같은 그림을 하고 정리하고 있었습니다만
git checkout
라는 상황/조건에 따라 거동이 너무 많지 않아?
※덧붙여서 그림 그리는 도중에 같은 것을 공식이 치트 시트 로서 준비하고 있는 것을 깨달았습니다...
git checkout의 행동 정리
브랜치 이름을 지정한 경우
로컬 브랜치에 존재
원격 추적 브랜치에 존재
git checkout
의 거동
×
×
브랜치를 잘라내다
×
○
원격에서 지점을 로컬 리포지토리로 가져옵니다.
○
○
참조할 로컬 브랜치 간 전환
파일명을 지정한 경우
작업 트리에서 지정한 파일의 편집 내용을 로컬 분기의 내용으로 되돌립니다.
체크 아웃이라는 이름의 범위를 벗어나지 않았습니까?
브랜치를 잘라내거나 브랜치를 전환하거나 파일 편집 내용을 바탕으로 되돌리거나
체크 아웃이라는 이름을 붙이고 있지만, 실제로는 어떤 의미하고 싶은 무제한의 명령이되어있는 인상이 강합니다.
(svn을 쭉 만지고 있었던 적도 있다) 체크아웃이란, 「리포지토리로부터 무엇인가를 가져온다」 것이라고 생각하고 있었기 때문에, git를 접하기 시작했을 때에 「???」가 된 포인트의 하나였다
새로운 공식을 보면 새로운 명령이 추가되었습니다.
이 하고 싶은 마음대로의 git checkout
에 대해서 git 공식 를 읽고 있으면 마지막 see also 에 그것 같은 이름의 커멘드가 쓰여졌습니다.
명령
내용
git switch
Switch branches(브랜치 전환)
git restore
Restore working tree files(작업 트리에서 파일 복원)
아무래도 작년(2019년)의 8월의 업데이트 2.23.0에서 추가된 커맨드인 것 같습니다.
※사용하고 있던 git가 2.21.?이었기 때문에 눈치채지 않았습니다…
새 명령을 포함하여 역할을 재정리합시다.
하고 싶은 일
사용하는 명령
브랜치 잘라내기git branch
브랜치 획득git checkout
브랜치 전환git switch
파일 복원/편집 내용 취소git restore
이후 이런 느낌으로 정리해 명령을 이해해 두면 이상한 일도 없지?
라고 생각했지만git switch
와 git restore
의 DESCRIPTION에 이런 기재가 있었습니다
THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
브랜치 이름을 지정한 경우
로컬 브랜치에 존재
원격 추적 브랜치에 존재
git checkout
의 거동×
×
브랜치를 잘라내다
×
○
원격에서 지점을 로컬 리포지토리로 가져옵니다.
○
○
참조할 로컬 브랜치 간 전환
파일명을 지정한 경우
작업 트리에서 지정한 파일의 편집 내용을 로컬 분기의 내용으로 되돌립니다.
체크 아웃이라는 이름의 범위를 벗어나지 않았습니까?
브랜치를 잘라내거나 브랜치를 전환하거나 파일 편집 내용을 바탕으로 되돌리거나
체크 아웃이라는 이름을 붙이고 있지만, 실제로는 어떤 의미하고 싶은 무제한의 명령이되어있는 인상이 강합니다.
(svn을 쭉 만지고 있었던 적도 있다) 체크아웃이란, 「리포지토리로부터 무엇인가를 가져온다」 것이라고 생각하고 있었기 때문에, git를 접하기 시작했을 때에 「???」가 된 포인트의 하나였다
새로운 공식을 보면 새로운 명령이 추가되었습니다.
이 하고 싶은 마음대로의 git checkout
에 대해서 git 공식 를 읽고 있으면 마지막 see also 에 그것 같은 이름의 커멘드가 쓰여졌습니다.
명령
내용
git switch
Switch branches(브랜치 전환)
git restore
Restore working tree files(작업 트리에서 파일 복원)
아무래도 작년(2019년)의 8월의 업데이트 2.23.0에서 추가된 커맨드인 것 같습니다.
※사용하고 있던 git가 2.21.?이었기 때문에 눈치채지 않았습니다…
새 명령을 포함하여 역할을 재정리합시다.
하고 싶은 일
사용하는 명령
브랜치 잘라내기git branch
브랜치 획득git checkout
브랜치 전환git switch
파일 복원/편집 내용 취소git restore
이후 이런 느낌으로 정리해 명령을 이해해 두면 이상한 일도 없지?
라고 생각했지만git switch
와 git restore
의 DESCRIPTION에 이런 기재가 있었습니다
THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
이 하고 싶은 마음대로의
git checkout
에 대해서 git 공식 를 읽고 있으면 마지막 see also 에 그것 같은 이름의 커멘드가 쓰여졌습니다.명령
내용
git switch
Switch branches(브랜치 전환)git restore
Restore working tree files(작업 트리에서 파일 복원)아무래도 작년(2019년)의 8월의 업데이트 2.23.0에서 추가된 커맨드인 것 같습니다.
※사용하고 있던 git가 2.21.?이었기 때문에 눈치채지 않았습니다…
새 명령을 포함하여 역할을 재정리합시다.
하고 싶은 일
사용하는 명령
브랜치 잘라내기git branch
브랜치 획득git checkout
브랜치 전환git switch
파일 복원/편집 내용 취소git restore
이후 이런 느낌으로 정리해 명령을 이해해 두면 이상한 일도 없지?
라고 생각했지만git switch
와 git restore
의 DESCRIPTION에 이런 기재가 있었습니다
THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
결론
하고 싶은 일
사용하는 명령
브랜치 잘라내기git branch
브랜치 획득git checkout
브랜치 전환
git checkout
git switch
파일 복원/편집 내용 취소
git checkout
git restore
git branch
로 좋다고 생각한다 git switch
와 git restore
)가 준비되어 있지만, 변경될 가능성이 있으므로 잠시는 모습 봐 git checkout
를 계속 사용하는 쪽이 좋아 보인다 라고 하는 미묘한 결론이 되었습니다.
새로운 커멘드의 주의서로는 거동이 변경될 가능성이라고 하는 방법이므로, 적어도 커맨드가 없어지는 일은 없을 것 같기 때문에, 향후의 git의 릴리스로
git switch
와 git restore
맞습니다.
Reference
이 문제에 관하여(git checkout은 여러 가지 의미가 너무 많지 않아?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kabu0404/items/499216d1ab5bef0ebc41텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)