알아야 할 상위 30 Git 명령

게시 됨: 2020-04-28

전문 소프트웨어 개발 환경의 일원이라면 코드 작성과 관련하여 작업이 어떻게 작동하는지 알 것입니다. 일반적으로 코드를 작성하는 여러 팀이 있습니다. 개발 환경에는 같은 위치에 있는 개발자 팀이 전 세계 다른 지역에서 원격으로 협업하는 팀과 긴밀하게 협력할 수 있습니다.

이 두 팀 모두 코드를 작성하고 중앙 코드베이스에 기여합니다. 여기에서 버전 제어 시스템 또는 VCS가 작동합니다. 그들은 다른 소스에서 코드를 수집하는 코드베이스를 관리합니다.

목차

버전 관리 시스템이란 무엇입니까?

버전 제어 시스템은 제품의 모든 단계 및 릴리스에 대한 기여 및 관리를 위한 단일 참조 지점이며 여러 파일이나 폴더가 없어도 이 작업을 수행합니다. VCS는 일반적으로 개발 단계에서 발생하는 문제를 해결하고 개발자가 파일이나 폴더를 거래하지 않도록 하여 전체 프로세스를 간소화합니다.

대신 개발자는 통신해야 하는 단일 소스가 있습니다. 코드의 모든 변경 사항을 확인하는 것은 이 소스입니다. 모든 파일은 이 위치에 저장됩니다. 개발자가 필요에 따라 전 세계적으로 사용하는 두 가지 유형의 VCS가 있습니다. 이러한 VCS는

중앙 집중식 버전 제어 시스템: 이러한 VCS는 프로젝트 또는 코드베이스가 있는 중앙 집중식 저장소를 사용합니다. 이 중앙 집중식 프로젝트는 팀 개발자가 제공한 모든 파일로 구성됩니다. 개발자가 프로젝트 또는 프로젝트에 저장된 파일을 변경하려면 이 저장소에 들어갈 수 있는 액세스 권한이 필요합니다.

분산 버전 제어 시스템: 이러한 VCS에서는 중앙 집중식 시스템보다 훨씬 유연합니다. Mercurial과 Git은 분산 VCS의 가장 일반적인 예입니다. 이 시스템에서 모든 개발자는 자신이 작성한 코드와 일정 기간 동안 변경한 내용뿐만 아니라 다른 개발자의 릴리스와 릴리스도 포함하는 자체 로컬 저장소를 가지고 있습니다.

자식이란?

간단히 말해서 git은 무료로 제공되는 분산 버전 관리 시스템입니다. 소규모 프로젝트와 대규모 프로젝트 모두를 해당 제품보다 더 빠르고 효율적으로 처리할 수 있는 오픈 소스 VCS입니다. 사용 가능한 모든 시스템 중에서 가장 선호되는 분산 버전 제어 시스템입니다.

자식은 어떻게 작동합니까?

Git은 대부분의 다른 버전 관리 시스템과 같은 방식으로 작동하지 않습니다. 파일의 차이를 계산하고 이러한 차이를 합산하여 저장된 버전에 도달하는 다른 VCS와 달리 git은 파일 시스템의 스냅샷을 사용하여 작업을 수행합니다. 파일에 대한 변경 사항을 커밋하거나 프로젝트의 변경된 상태를 저장할 때마다 git이 시스템의 스냅샷을 찍은 다음 참조로 저장하게 됩니다.

변경되지 않은 파일에는 이전 스냅샷이 참조로 저장됩니다. Git은 개발자에게 다양한 작업을 수행하는 데 도움이 되는 일련의 명령을 제공합니다. 오픈 소스 개발자가 가장 일반적으로 사용하는 상위 30개 git 명령 에 대해 논의할 것입니다.

읽기: 상위 30가지 Git 인터뷰 질문 및 답변

힘내 상태

git을 사용할 때 파일은 수정됨, 준비됨 또는 커밋됨의 세 가지 상태 중 하나가 됩니다. 이러한 상태가 실제로 무엇을 의미하는지 논의해 보겠습니다.

로컬 리포지토리에서 파일을 변경할 때 파일은 수정된 상태입니다. 그러나 이들은 여전히 ​​저장되지 않습니다. 준비된 상태에서 파일에 대한 변경 사항이 저장됩니다. 마지막으로 커밋 상태에서 수정 및 저장된 파일은 프로젝트 또는 코드베이스에 저장됩니다.

이제 완전히 이해해야 하는 git에 대해 매우 중요한 것이 있습니다. git으로 실행할 수 있는 저장소에는 두 가지 유형이 있습니다. 작업 중인 랩톱 또는 데스크탑에는 작업 디렉토리라고도 하는 로컬 저장소가 있습니다. 그러면 클라우드에 원격 저장소가 존재합니다.

따라서 문제는 git에서 이 두 가지 저장소 유형을 어떻게 사용하는가 하는 것입니다. 로컬 리포지토리에는 필요한 모든 기능이 포함되어 있지만 데스크톱이나 랩톱에서만 사용할 수 있습니다. 팀의 다른 사람들과 파일을 공유해야 할 때 무엇을 해야 합니까? Gitlab 또는 GitHub를 사용하여 코드의 원격 리포지토리를 만듭니다.

그런 다음 해당 저장소를 사용하여 파일이나 코드를 업로드할 수 있습니다. 이제 리포지토리에 액세스할 수 있는 모든 사용자가 파일을 로컬 랩톱 또는 데스크톱에 다운로드하고 기여할 수 있습니다.

힘내 명령

이 섹션에서 논의할 이러한 모든 명령은 개발자가 소프트웨어 개발 프로세스를 훨씬 쉽게 만드는 데 중요한 역할을 합니다. 우리는 그 명령들 중 가장 유용한 것을 언급할 것입니다.

1. 세부 정보 구성: 프로필을 구성하는 데 사용할 수 있습니다. 이를 위해 git config 명령을 사용합니다. 이 명령을 사용하여 이름과 이메일 ID를 설정할 수 있습니다. 프로젝트 또는 글로벌의 두 가지 기준으로 이러한 세부 정보를 구성할 수 있습니다. locl 저장소에 대해 아래 명령을 사용하십시오.

git config user.name "Bill Tench"

git config user.email [email protected]

전역 설정에 전역 구성 명령 사용

git config — 전역 사용자 이름 "Bill Tench"

git config — 전역 user.email “[email protected]

2. 리포지토리 초기화: 리포지토리는 프로젝트의 디렉터리 유형입니다. 소스 파일, 태그, 헤드, 하위 디렉토리 및 기타 항목을 포함하여 많은 정보가 있습니다. git init 명령을 사용하여 리포지토리를 초기화합니다. 이 명령은 다른 모든 명령 중에서 가장 많이 사용되는 명령 중 하나입니다. 리포지토리를 초기화한 후 리포지토리에 파일을 추가하고 수정을 시작할 수 있습니다.

3. 파일 추가: Git은 파일을 추가하는 작업을 매우 복잡하게 만듭니다. git을 사용하여 수정된 모든 파일 또는 디렉터리를 저장소에 추가하는 명령을 추가합니다. 어떻게 작동하는지 봅시다.

자식 추가 파일

이 명령은 작업 디렉토리의 모든 파일을 가지고 저장소에 추가합니다. 이 명령을 사용하여 특정 파일을 추가할 수 있습니다. 이제 PHP 파일을 추가하려면 아래에 언급된 명령을 사용할 수 있습니다.

자식 추가 *.php

그런 다음 이러한 파일은 스테이징용으로 표시됩니다.

4. 추가된 파일 확인: 최근에 추가된 파일은 git status 명령으로 확인할 수 있습니다. 이 명령을 사용하여 새 파일이나 수정된 ​​파일을 볼 수 있습니다. 세부 정보를 보려면 git status 명령을 실행할 수 있습니다. 이 명령을 사용하면 다음 커밋에서 준비 상태로 설정된 모든 파일을 볼 수 있습니다.

5. 리포지토리 변경 사항 커밋: 앞에서 설명한 것처럼 변경 사항을 커밋할 때마다 코드베이스의 스냅샷이 생성됩니다. 이것이 git이 변경 사항을 추적하고 버전 제어를 제공하는 방법입니다. 이 기능에 사용되는 명령은 git commit입니다.

이 명령을 실행하자마자 몇 가지 정보를 제공하라는 메시지가 표시됩니다. 작은 세부 사항을 추가하는 것과 같은 것일 수 있습니다. 설치 중에 설정된 기본 Linux 편집기가 호출됩니다. git commit –m “First Commit” 명령을 사용하여 그의 무분별한 행동이 일어나지 않도록 하십시오.

6. 로그 표시: 저장소에 어떤 변경 사항이 있는지 보려면 로그를 확인해야 합니다. 이 작업을 수행하려면 git log 명령을 사용하십시오. 이렇게 하면 커밋에 대한 일반화된 정보가 표시됩니다. git log –file 명령을 사용하면 특정 파일에 대한 변경 사항을 확인할 수 있습니다. 다른 옵션을 사용하여 다른 세부 정보에 대한 로그를 확인할 수도 있습니다.

7. git 브랜치 확인: 브랜치는 프로젝트에서 독립적인 개발 단계를 보여줍니다. 현재 분기를 보려면 git 분기 명령을 사용할 수 있습니다. 이 명령을 사용하면 현재 작업 중인 분기를 볼 수 있습니다. 활성 분기는 다른 분기와 구별하기 위해 출력에 별표 기호가 있습니다.

8. 브랜치 재설정: 현재 있는 작업 디렉토리나 저장소를 다른 상태로 재설정하는 기능입니다. git reset 명령을 사용하여 이 기능을 수행할 수 있습니다. 아래에 언급된 명령을 사용하여 현재 분기의 소프트 또는 하드 리셋을 수행할 수 있습니다.

자식 리셋 – 소프트

자식 재설정 –하드

9. 새 분기 추가: 새 기능에 대해 독립적으로 작업하려는 경우 새 분기를 추가하여 작업을 쉽게 할 수 있습니다. 이를 위해 git 분기 명령을 사용하십시오. 식별을 위해 분기 이름을 추가합니다.

자식 분기 기능 작업

분기가 성공적으로 추가되었는지 확인하려면 git 분기 명령을 다시 사용하십시오. 추가에 성공하면 feature-work라는 이름의 새 분기가 표시됩니다. 같은 이름의 새 분기는 하나만 추가할 수 있음을 기억해야 합니다. 그렇게 하면 치명적인 오류가 발생합니다. 따라서 새 분기를 추가할 때 다른 이름을 사용해 보십시오.

10. 분기 간 전환: git checkout 명령을 사용하여 프로젝트에서 다른 분기 간에 전환할 수 있습니다. 이 명령은 소프트웨어 개발 중에 개발자가 매우 일반적으로 사용합니다. 다음은 예입니다.

자식 체크 아웃 기능 작업

이 명령을 사용하면 성공적인 전환에 대한 알림을 받게 됩니다. 전환이 실제로 발생했는지 확인하려면 앞에서 설명한 git 분기 명령을 사용합니다.

11. 버전 표시: git –version 명령을 사용하여 컴퓨터에 설치된 git 버전을 봅니다.

12. 매뉴얼 페이지 참조: man git 및 man git commit 명령을 사용하여 하위 명령에 대한 매뉴얼을 참조하십시오.

13. git 구성 관리: git config 명령을 사용하여 다른 구성 옵션을 설정, 교체 또는 쿼리할 수 있습니다.

14. 로그 정보 요약: 이 목적을 위해 git shortlog 명령을 사용합니다.

15. 각 커밋에 대한 수정 사항 보기: git what changes 명령을 사용하여 각 커밋이 프로젝트에 가져온 변경 사항을 볼 수 있습니다.

16. 개체 데이터베이스 유효성 검사: git fsck 명령을 사용하여 개체 데이터베이스에서 불량하거나 누락된 개체를 찾습니다.

17. 압축이 풀린 개체 나열: count-objects 명령을 사용하여 압축을 푼 총 개체 수와 사용 중인 디스크 공간을 표시합니다.

18. 아직 패킹되지 않은 객체 패킹: 이 목적으로 git repack 명령을 사용할 수 있습니다.

19. 작업 트리 관리: git worktree 명령을 사용하여 각각 작업 트리를 표시하고, 작업 트리를 제거하고, 작업 트리를 추가하고, 작업 트리를 정리합니다.

20. 패턴 찾기: git grep 명령을 사용하여 리포지토리에서 특정 패턴을 찾아 쉽게 개발할 수 있습니다.

21. 원격 저장소 표시: 이 기능을 수행하려면 git remote 명령을 사용하십시오.

22. 업데이트 푸시: git push 명령을 사용하여 원격 저장소에 업데이트를 추가할 수 있습니다.

23. 새로운 업데이트 가져오기: git pull 명령을 사용하여 다른 개발자가 수정한 내용으로 프로젝트의 로컬 버전을 업데이트할 수 있습니다.

24. 리포지토리 복제: git clone <Git : URL> 명령을 사용하여 이 기능을 수행합니다.

25. Stash 작업 디렉토리: 이 용도로 git stash 명령을 사용할 수 있습니다.

26. 기존 커밋 되돌리기: git revert 명령을 사용하여 더 이상 유용하지 않은 명령을 되돌립니다.

27. 두 개의 분기 병합: git merge 명령을 사용하여 두 개의 개발 분기를 단일 통합 분기로 병합합니다.

28. 파일, 커밋 및 tress 간의 차이점 확인: git diff 명령을 사용하여 이 기능을 수행할 수 있습니다.

29. 프로젝트에 태그 추가: git tag 명령으로 프로젝트의 중요한 이벤트를 표시합니다.

30. 원격 데이터 가져오기: git fetch origin 명령을 사용하여 이 기능을 수행합니다.

또한 읽기 : 최고의 전체 스택 개발자 도구

결론

Github 명령, 전체 스택 소프트웨어에 대해 자세히 알아보려면 작업 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트 및 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

미래의 직업을 위한 준비

업계에서 신뢰할 수 있는 학습 - 업계에서 인정하는 인증.
지금 신청 @ UPGRAD