2023년 8월 19일 토요일

Github (깃허브) 명령어 정리

Github (깃허브)  명령어 정리

Github (깃허브)  명령어 정리

Git이란?

Git은 형상 관리 도구 중 하나로, 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 출처 : 위키백과

Git은 소프트웨어 개발에서 소스 코드를 효과적으로 관리할 수 있도록 하는 무료, 공개 소프트웨어입니다.

Git은 프로젝트 폴더 내에서 작업을 기록하고, 버전 관리를 통해 체계적인 개발이 가능하도록 합니다.


Github이란?

깃허브(GitHub)는 웹 기반 플랫폼으로, Git이라는 버전 관리 시스템을 사용해 소프트웨어 프로젝트의 변경 사항을 관리하고 추적한다. 깃허브는 전 세계 수백만 명의 개발자들이 코드를 호스팅하고 공유하고, 프로젝트에서 협업하는 데 사용된다. 또한, 버전 관리, 버그 추적, 프로젝트 관리 등 개발자가 코드를 관리하고 추적하는 데 도움을 주는 기능과 도구를 제공한다. GitHub은 개발자들이 코드를 저장하고 관리하는 플랫폼일 뿐만 아니라 개발자들이 서로 연결하고 작업을 공유하며 새로운 프로젝트를 발견할 수 있는 커뮤니티이기도 합니다.


Github 장점

버전 관리: GitHub은 개발자들이 시간이 지남에 따라 코드의 변경 사항을 추적하고 관리할 수 있도록 하여 필요한 경우 이전 버전으로 롤백하는 것을 용이하게 한다.

협업: GitHub은 코드 검토, 분기 및 이슈 추적과 같은 기능을 통해 개발자가 프로젝트에서 쉽게 협업할 수 있게 한다.

코드 리뷰: GitHub은 개발자들이 메인 코드 베이스에 병합되기 전에 코드 변경 사항을 검토하고 팀과 논의하여 잠재적인 버그를 방지할 수 있도록 한다.

오픈 소스 프로젝트: 깃허브는 수많은 오픈 소스 프로젝트의 중심이기 때문에 프로젝트를 찾고 기여하는 데 유용하게 쓰일 수 있다.

커뮤니티: 깃허브는 크고 활발한 개발자 커뮤니티를 가지고 있어 다른 개발자들과 컨택하고, 새로운 프로젝트를 발견하고, 자신의 작업을 공유하기 좋다.

통합(Integration): GitHub은 다양한 도구 및 서비스와 통합되어 기존 워크플로우에서 쉽게 사용할 수 있다.

보안: GitHub은 보안을 중요시하며 코드와 데이터를 보호하는 2요소 인증 및 암호화와 같은 기능을 제공한다.


Github 단점

비용: GitHub은 무제한 공개 저장소가 있는 무료 요금제를 제공하지만, 개인 저장소는 최대 3명의 협업자(collaborators)만 둘 수 있다.

제한된 스토리지: GitHub의 무료 요금제에는 1GB의 스토리지만 포함되어 있어 대규모 프로젝트나 팀에는 충분하지 않을 수 있다.

제한된 제어: 깃허브는 서드파티 플랫폼이기 때문에 개발자들은 자체 호스팅 솔루션만큼의 인프라와 설정은 제어할 수 없다.

다운타임: 모든 웹 기반 서비스와 마찬가지로 다운타임 또는 운영 중단의 위험이 있으며 이로 인해 작업이 중단되고 지연이 발생할 수 있다.

보안 문제: 깃허브는 보안을 심각하게 생각하지만, 과거에 일부 중요한 보안 이슈가 있었다.


Github (깃허브) 명령어



현재상태 확인

git status


전체 로그 확인

git log


git 저장소 생성하기

git init


git 저장소 복제 및 다운로드

git clone 주소


commit 생성

git commit -m "커밋 메시지"


변경상항 원격서버에 업로드

git push origin 브랜치명


원격 저장소의 변경된 내용을 현재 디렉토리로 가져오기

git pull


브랜치 생성

git branch 브랜치명


해당 브랜치로 이동

git checkout 브랜치명


브랜치로를 생성하고 브랜치로 이동

git checkout -b 브런치명


원하는 브랜치로 이동했는 확인

git branch


모든 브랜치 확인

git branch -a


브랜치 삭제

git branch -d 브런치명


현재 브랜치에 다른 브랜치 수정사항 병합

git merge 다른 브랜치 이름


git pull 충동시 해결 방법 정리

1. git stach
2. git pull
3. git stach pop