생산성을 높이는 Git CLI 팁 및 요령

소프트웨어 개발자라면 가장 널리 사용되는 버전 관리 시스템git을 알고 있어야 합니다. 나는 일상적인 개발자 작업에 git CLI를 사용하지만 CLI보다 Sourcetree와 같은 GUI 클라이언트를 선호하는 사람은 거의 없습니다.

이 게시물에서는 제가 수년간 사용하고 생산성을 높이는 데 많은 도움이 된 유용한 명령에 대해 설명하겠습니다.

시작하자,

마지막으로 체크아웃한 지점으로 체크아웃



버그를 수정하기 위해 fix-payment-bill-issue 브랜치에서 master 브랜치를 생성했고 마지막으로 있었던 브랜치로 전환하려고 한다고 가정해 보겠습니다. 이것은 확인했던 브랜치 이름이 기억나지 않을 때 유용합니다. 지난번 아웃.

$ git checkout -


현재 브랜치가 대상 브랜치와 병합되었는지 확인



이것은 변경 사항이 대상 분기와 병합되었는지 여부를 아는 데 유용합니다.

  $ git branch --merged <targeted-branch>


분기를 전환하지 않고 다른 분기에서 파일 복사



분기를 전환하지 않고 다른 분기에서 파일을 복사하려면 복사하기 전에 파일이 다른 분기에 커밋되어 있는지 확인하십시오.

  $ git checkout <target-branch> -- <complete/path/to/file.js>


커밋 메시지에서 특정 텍스트 검색



특정 텍스트 문자열로 git log를 검색하면 문자열과 일치하는 모든 커밋이 나열됩니다.

  $ git log -S'<search-string>'


수정된 파일과 커밋되지 않은 파일을 이전 커밋에 추가합니다.



커밋 메시지를 변경하지 않고 수정 및 커밋되지 않은 파일을 이전 커밋에 추가합니다.

  $ git commit -a --amend -C HEAD


로컬 복사본에서 원격에서 삭제된 분기를 제거합니다.




   $ git remote prune origin

   $ git fetch -p


별칭



git은 aliases 라는 기능을 제공합니다. 이 기능을 사용하면 더 자주 사용하는 명령 목록에 대한 별칭을 정의하고 명령줄에 전체 명령을 입력하는 대신 작업을 더 빨리 완료할 수 있습니다.
  • 더 적은 정보로 마지막 15개 커밋을 인쇄합니다.

  •   $ git config --global alias.l15=log --oneline -15
    


    Use --local option instead of --global to apply these aliases to the individual repo.


  • 원격에서 변경 사항을 가져오면 원격에 더 이상 존재하지 않는 원격 추적 참조가 제거됩니다.

  •   $ git config --global alias.f=fetch -p
    


  • 현재 분기의 모든 수정된 파일을 나열하면 원격 저장소로 푸시하기 전에 커밋된 파일에 대한 전체적인 그림을 볼 수 있습니다.

  •   $ git config --global alias.list-files=show --pretty="" --name-only HEAD
    


  • 생성한 모든 분기를 작성자 이름 및 기타 세부 정보를 사용하여 내림차순으로 정렬합니다. 표시하려는 필드를 사용자 정의하려면 설명서를 참조하십시오.

  •   $ git config --global alias.sort-branch=!"git for-each-ref -- sort=-committerdate refs/heads --format='%(HEAD)%(refname:short)|%(committerdate:relative)|%(subject)'|column -ts'|'"
    


    If you delete the cloned copy after a feature/bug is completed and clone the fresh copy each time you work on a new feature/bug, the above alias is of no use. Prefer using the single cloned copy, create as many features, or bug fix branches in the same local copy so that it is easy to look back on history to see which fix/feature went when.


  • 기타 유용한 별칭

  •   # pull changes from master
      $ git config --global alias.pom=pull origin master/main
    
      # Rebase with master
      $ git config --global alias.rbm=rebase master
    
      # To get the list of all the global configs for the machine
      # Change it to --local to see a local configuration
      $ git config --global alias.config-list=config --global --list
    
      $ git config --global alias.cl=checkout -
    


  •  만든 별칭을 다음과 같이 사용하세요. git 명령어 앞에 별칭 이름은 필수 입력

  •   $ git f
    


  • macOS 또는 Linux 배포 중인 경우 둘 이상의 명령을 단락과 결합하여 명령을 순차적으로 실행할 수 있습니다.

  •   $ git cm && git f && git pom && git cl && git rbm
    


    Above command checks out to the master branch from the current branch, then fetches the remote changes, then pulls the changes from master and merges with the master, then checkout to the last branch point you were in, and finally releases the master changes with the current branch.



    별칭이 정의되어 있기 때문에 잊어버리지 않도록 익숙해질 때까지 전체 명령을 입력하는 것이 좋습니다.

    이것이 몇 가지 git 팁과 트릭을 배우고 시간이 지남에 따라 생산성을 높이는 데 도움이 되기를 바랍니다.

    git의 기초나 git과 관련된 다른 주제를 다루기를 원하시면 댓글을 남겨주세요. JS, React, NodeJS 및 기타 라이브러리 또는 도구와 관련된 더 많은 기술 콘텐츠를 보려면 저를 팔로우하세요.

    즐거운 코딩.

    좋은 웹페이지 즐겨찾기