처음으로 Git을 업그레이드해야 하는 3가지 이유
git --version
) 버전은 2.33입니다.나는 일반적으로 내 Git 버전이 무엇인지 알지 못하거나 신경 쓰지 않지만 지난 1년 동안 이것은 변경되었습니다. Git 팀이 뭔가 제대로 하고 있는 게 틀림없어요. 상대적으로 가벼운 사용으로 인해 몇 가지 문제가 발생한다는 사실을 알게 되었기 때문입니다.
init.default분기
Git의 기본 분기 이름은
master
입니다. Git 2.28부터는 이제 다른 것으로 구성할 수 있습니다. 물론this is merely symbolic 하지만 감사한 신호다.git config --global init.defaultBranch main
이 설정은 새 저장소에서 작동합니다. 기존 리포지토리와 BOTH
master
및 main
와 잘 작동하는 git 별칭의 경우 my .자식 스파스 체크 아웃
전체 기록을 다운로드하고 싶지 않은 저장소의 경우
git clone -–depth 1 [remote-url]
에 대해 알고 있을 것입니다. Git 2.25에는 현재 버전도 너무 큰 거대한 저장소에 대한 추가 명령이 도입되었습니다. 따라서 스파스 체크아웃은 git clone --depth 1
와 같지만 파일의 경우:git clone --no-checkout https://github.com/my/big-repo
cd big-repo/
# only files at the root
git sparse-checkout init --cone
# only files in specific directories (recursive)
git sparse-checkout set <dir1> <dir2> ...
# do it
git checkout main
More on the GitHub blog .
자식 복원
나는 오늘 이것이 필요했다. 기본적으로 파일을 망쳐 Git에서 다시 가져와야 하는 경우 v2.23에서 새로운
git restore
명령을 사용할 수 있습니다.git restore path/to/file # discard current changes
git restore --staged path/to/file # unstage staged file
git restore --source [hash] path/to/file ## restore from specific commit hash
⚠️ Be careful - once you run this command you cannot get back the changes you discard.
예,
checkout
, restore
, reset
및 even switch
사이에 혼동을 일으킬 정도로 유사한 명령이 있습니다. This StackOverflow answer 꽤 권위있게 명확히 :git-revert
다른 커밋에 의해 변경된 사항을 되돌리는 새로운 커밋을 만드는 것입니다. git-restore
인덱스 또는 다른 커밋에서 작업 트리의 파일을 복원하는 방법입니다.이 명령은 분기를 업데이트하지 않습니다.
이 명령을 사용하여 다른 커밋에서 인덱스의 파일을 복원할 수도 있습니다.
git-reset
는 분기를 업데이트하고 분기에서 커밋을 추가하거나 제거하기 위해 팁을 이동하는 것입니다. 이 작업은 커밋 기록을 변경합니다.git reset은 git restore와 겹치는 인덱스를 복원하는 데에도 사용할 수 있습니다.
Reference
이 문제에 관하여(처음으로 Git을 업그레이드해야 하는 3가지 이유), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/swyx/3-reasons-to-upgrade-git-2bj3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)