Git2.5 업데이트 정보

4053 단어 Git

개요


아래의 글을 보고 Giit의 버전 2.5에 어떤 기능이 추가되었는지 조사했습니다.
Git 2.5, including multiple worktrees and triangular workflows- https://github.com/blog/2042-git-2-5-including-multiple-worktrees-and-triangular-workflows
이번에는worktree 명령과 추적 지점을 나타내는 문법사탕만 총결산하였다.
검증하기 전에 Giithub에 있는 물건을 직접 설치했습니다.
bash
$ git clone https://github.com/git/git/
$ cd git
$ make install

worktree


로컬 창고로 여러 개의 관리를 하려면 이 상황이 편리할 것 같다
Git2.4까지 하면 아래처럼 전문적으로 clone 관리가 필요합니다.
bash
$ git clone [email protected]:totomo/test.git test1
$ git clone [email protected]:totomo/test.git test2
worktree 명령을 사용하면 지정된 곳에서 다른 로컬 창고를 만들 수 있습니다.
bash
# HEADから ~/test2にtest2をカレントブランチとしたローカルリポジトリを複製
$ git worktree add ~/test2

# ~/test2にmasterのHEADの親コミットから切ったtest2というブランチをカレントブランチとするローカルリポジトリを複製
$ git worktree add ~/test2 master^

# ../test2にmasterのHEADの親コミットから切ったhotfixというブランチをカレントブランチとするローカルリポジトリを複製
$ git worktree add ~/test2 -b hotfix master^

# ../test3にすでに他のworktreeコマンドで生成されたローカルリポジトリでcheckoutされているhotfixというブランチをカレントブランチとするローカルリポジトリを複製
$ git worktree add ~/test3 -f hotfix
git clone 복사 때와 달리 분기별 상태(HEAD 참조 대상이 해시를 제출하고 분기가 늘어날 때) 등이 공유됩니다.-f를 추가하지 않으면 다른 worktree 명령으로 생성된 로컬 창고에 cheeckout의 지점을 지정하면 욕을 먹을 수 있으니 주의해야 한다--detach무명분지를 끊는 것도 선택할 수 있다.
발표 전clone에 습관이 된 사람이나 worktree 지령을 대체할 수 있다.
그러나 실험적인 물건으로 몇 개의 버그가submodule를 포함하는 창고에서 이용을 추천하지 않기 때문에 인터페이스는 사용자의 의견에 따라 앞으로도 변경될 수 있다.
해보도록 하겠습니다.
bash
#worktree作成
$ pwd
/Users/toku/test
$ git worktree add ~/test2
Enter /Users/toku/test2 (identifier test2)
Switched to a new branch 'test2'

# test2ブランチにコミット
$ cd ../test2
$ git commit -am "Add empty modification" --allow-empty
$ $git rev-list HEAD -1
e0da2d47eb2dff09fe75f8ae87669b6bf9306731

# 元のディレクトリにtest2ブランチへのコミットが共有されているか確認
$ cd ../test
$ git rev-list test2 -1
e0da2d47eb2dff09fe75f8ae87669b6bf9306731

shorthand <reference>@{push}

<reference>@{push} 이런 표시는 upstream 지점을 지정할 수 있습니다.
예를 들어 마스터 지점의 추적 지점이 HEAD와 로컬 창고의 마스터 지점의 HEAD에서 제출한 차이는
bash
$ git log master@{push}...master
#カレントブランチがmasterの場合は、省略可能
$ git log @{push}...master
처음 생략<reference>할 때는 현재 브랜치 추적 브랜치의 HEAD를 참조합니다.

좋은 웹페이지 즐겨찾기