코딩두의 포트폴리오

Git/GitHub 관련 용어 및 명령어 본문

Git, GitHub

Git/GitHub 관련 용어 및 명령어

코딩두 2024. 4. 7. 16:57

Git

소스 코드 버전 관리 소프트웨어

[ChatGPT 4]

Git은 분산 버전 관리 시스템(DVCS)으로, 여러 개발자가 동시에 하나의 프로젝트에서 작업할 수 있도록 설계되었습니다. Git은 각 개발자가 전체 코드베이스의 복사본을 로컬 컴퓨터에 보유하게 하여, 인터넷 연결이 없는 상태에서도 작업을 계속할 수 있게 해줍니다. Git의 주요 기능은 다음과 같습니다:

  • 버전 관리: 파일의 변경사항을 추적하고, 필요할 때 어느 시점의 버전으로도 돌아갈 수 있습니다.
  • 브랜치와 병합: 다양한 기능 개발이나 버그 수정을 독립적으로 진행한 후, 이를 메인 코드베이스와 통합할 수 있습니다.
  • 분산 작업: 각 개발자가 로컬에서 독립적으로 작업할 수 있으며, 변경 사항을 서로 공유하고 통합할 수 있습니다.

 

GitHub

Git으로 관리하는 프로젝트롤 업로드할 수 있는 대표적인 Git 호스팅 사이트

[ChatGPT 4]

GitHub은 웹 기반의 호스팅 서비스로, Git 리포지토리를 관리할 수 있게 해줍니다. GitHub은 코드를 저장하고 버전을 관리하는 Git의 기능에 몇 가지 추가적인 협업 기능을 더하여, 개발자 커뮤니티에서 특히 인기가 높습니다. GitHub의 주요 기능은 다음과 같습니다:

  • 리포지토리 호스팅: 공개 또는 비공개 설정으로 프로젝트의 리포지토리를 온라인에서 관리할 수 있습니다.
  • 풀 리퀘스트와 코드 리뷰: 코드 변경 사항에 대해 피드백을 주고받고, 병합 전에 검토할 수 있는 기능을 제공합니다.
  • 이슈 트래커: 버그, 기능 요청, 기타 작업을 추적하고 관리할 수 있는 도구입니다.
  • 소셜 네트워킹: 스타, 포크, 팔로우 등의 기능을 통해 다른 개발자와 소통하고 협력할 수 있습니다.

 

Git의 기본 용어

[ChatGPT 4]

  1. Repository (저장소): 프로젝트의 파일과 그 역사를 저장하는 곳.
  2. Clone (클론): 원격 저장소의 내용을 로컬 컴퓨터로 복사해 오는 것.
  3. Fork (포크): 다른 사용자의 GitHub 저장소를 자신의 계정으로 복사해 오는 것. 독립적인 개발을 가능하게 함.
  4. Branch (브랜치): 기능 개발이나 버그 수정을 위해 기존 코드에서 분기하여 독립적으로 작업할 수 있는 코드의 '가지'.
  5. Commit (커밋): 저장소의 히스토리에 기록되는 하나의 단위. 파일 수정, 추가 등의 변경 사항을 저장소에 기록함.
  6. Merge (병합): 한 브랜치의 변경 사항을 다른 브랜치에 통합하는 과정.
  7. Pull Request (풀 리퀘스트): 하나의 브랜치로 변경 사항을 병합하도록 요청하는 메커니즘. 코드 리뷰와 토론이 이루어지는 곳.
  8. Issue (이슈): 버그 보고, 기능 요청, 프로젝트 내의 다른 작업을 토론하는 곳.

 

Git 명령어

기본 명령어

[ChatGPT 4]

  1. git init
    • 새로운 Git 저장소를 초기화합니다. 이 명령을 사용하면 현재 디렉토리에 .git 디렉토리가 생성되어 Git이 파일의 변경사항을 추적할 수 있게 됩니다.
  2. git clone [url]
    • 원격 저장소를 로컬 컴퓨터로 복사합니다. 이를 통해 로컬에서 작업을 시작할 수 있습니다.
  3. git add [file]
    • 특정 파일 또는 디렉토리를 스테이징 영역에 추가하여 다음 커밋에 포함시킵니다.
  4. git commit -m "commit message"
    • 스테이징 영역에 있는 변경사항을 저장소의 히스토리에 커밋합니다. 커밋 메시지는 변경사항을 설명해야 합니다.
  5. git status
    • 현재 작업 디렉토리의 상태를 보여줍니다. 변경된 파일, 스테이징 영역에 추가된 파일 등의 정보를 확인할 수 있습니다.
  6. git push [remote] [branch]
    • 로컬 브랜치의 변경사항을 원격 저장소로 업로드합니다.
  7. git pull [remote] [branch]
    • 원격 저장소에서 최신 변경사항을 가져와 현재 브랜치와 병합합니다.
  8. git branch
    • 현재 로컬 브랜치 목록을 보여줍니다. 브랜치 생성과 삭제도 이 명령으로 할 수 있습니다.
  9. git checkout [branch-name]
    • 지정된 브랜치로 전환합니다. 또한, -b 옵션과 함께 사용하면 새로운 브랜치를 생성하고 그 브랜치로 전환할 수 있습니다.
  10. git merge [branch]
    • 지정한 브랜치의 변경사항을 현재 브랜치로 병합합니다.

 

고급 명령어

[ChatGPT 4]

  1. git stash
    • 작업 디렉토리의 변경사항을 임시로 저장하고, 작업 디렉토리를 깨끗하게 유지할 수 있게 합니다.
  2. git rebase [branch]
    • 현재 브랜치의 커밋을 다시 정렬하여 지정된 브랜치의 끝에 추가합니다. 이는 커밋 히스토리를 깔끔하게 유지하는 데 도움이 됩니다.
  3. git diff
    • 커밋 간, 커밋과 작업 디렉토리 간, 작업 디렉토리와 스테이징 영역 간의 차이점을 보여줍니다.
  4. git log
    • 현재 브랜치의 커밋 히스토리를 보여줍니다. 다양한 옵션을 통해 히스토리를 상세히 검토할 수 있습니다.
  5. git fetch [remote]
    • 원격 저장소의 최신 정보를 로컬로 가져오되, 로컬 브랜치에는 병합하지 않습니다.