본문 바로가기

[내일배움캠프]스파르타코딩클럽 AI 웹개발/Today I Learned

[내일배움캠프 14일차 TIL] Git&GitHub

더보기

오늘 깃, 깃허브 특강 있었는데 아직까지 한 번도 정리하지 않았다는 것을 깨닫고 복습할 겸 깃허브 명령어 정리

그리고 원래 vscode로만 명령어 사용했는데 파이참에서 하기!


 

 

Git?

Git은 분산 버전 관리 시스템으로 코드의 버전을 관리하고, 여러 개발자가 협업할 때 유용한 기능을 제공한다.

Git의 주요 기능은 다음과 같다

  • 버전관리를 한다. 파일의 변경 이력을 기록하고 , 특정 시점의 상태로 돌아갈 수 있게 해 준다. 이를 통해 이전 버전으로 되돌리거나 변경 사항을 비교할 수 있다.
  • 작업을 독립적으로 진행할 수 있는 브랜치를 만들 수 있으며 이 브랜치를 메인 코드와 병합하여 개발 작업을 통합할 수 있다.
  • 분산형으로 각 개발자는 자신의 로컬 저장소를 가지고 있으며, 중앙 서버 없이도 전체 이력을 관리할 수 있다. 즉 여러 개발자가 독립적으로 작업하고 나중에 변경사항을 통합할 수 있다.

 

기본 명령어 정리

  • git init : 새로운 깃 저장소를 초기화
  • git status : 현재 상태 확인 (add가 안된 파일들을 보여줌)
  • git add 파일명: 변경된 파일을 스테이징 영역에 추가
  • git commit -m "커밋메세지" : 스테이징된 파일의 변경사항을 기록
  • git log : 전체 로그 확인 (커밋된 시점의 커밋메세지와 함께 표시됨)
  • git push origin 브랜치명: 로컬 커밋을 원격 저장소에 업로드
  • git pull origin 브랜치명: 원격 저장소의 변경 사항을 로컬 저장소로 가져옴
  • git switch -c 브랜치명 : 브랜치 생성 후 이동
  • git checkout -b 브랜치명 : 브랜치 생성 후 이동

 

추가 명령어

  • rm -r .git : init 취소
  • git rm 파일명 : 파일 삭제 (로컬, 원격저장소 모두 파일이 삭제됨)
  • git show 커밋해쉬값 : 커밋의 상세정보 확인
  • git reset HEAD 파일명 : 최신 커밋으로 되돌리기 (잘못 add한 경우에 사용)
  • git restore --staged 파일명 : add 취소
  • git reset --soft HEAD^ : 커밋을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에 보존 (add 유지)
  • git reset HEAD~n : 마지막 n개의 커밋을 취소 (add 취소)
  • git reset --hard HEAD^ : 커밋을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에서 삭제 (add취소, 작업내용도 삭제됨)
  • git commit --amend : 커밋 메세지 변경
  • git push origin 브랜치명 -f : 오류 메세지를 무시하고 강제로 원격 저장소에 업로드
  • git push origin +브랜치명 : 오류 메세지를 무시하고 강제로 원격 저장소에 업로드

표시되어 있는건 진짜 조심해서 사용하기!! 가능하면 사용하지 않기..!

 


GitHub?

GitHub는 Git을 기반으로하는 웹 기반 플랫폼이다. GitHub는 Git 저장소를 호스팅하고, 여러 기능을 제공하여 개발자들이 협업하고 프로젝트를 관리할 수 있게 해 준다.

 

 

 

 

실습

 

 

 

깃허브에 원격 저장소(repository)만들기

 

 

깃허브에 로그인하고 오른쪽 상단에서 new를 누르면

 

레퍼지토리의 이름을 입력하고 아래쪽의 create repository를 누른다

버튼을 누른 후에 아래와 같은 화면이 되는데

 

이렇게 되면 레퍼지토리는 생성된 것이고 이제 로컬과 깃허브를 연결하는 작업이 필요하다

 

일단 로컬에서 폴더 하나를 만들어서 파이참에서 열어보자

로컬에서 만든 파일

 

 

이렇게 파일을 연 후에 터미널을 열어 명령어를 실행한다

 

 

⭐️ 현재 위치가 깃을 만드려는 위치가 맞는지 꼭 확인한다! ⭐️

 

 

오른쪽에 master라고 생긴것을 확인할 수 있다

그러면 이제 버전관리를 할거라는 것!

 

그럼 파일을 생성하고 add와 commit, push를 실행해보자!

 

 

test.py라는 파일을 만들고 내용을 작성한 후에

터미널에서 git status를 실행한 것을 보면 아직 add가 안된 항목들이 빨간색으로 보이는 것을 확인할 수 있다

 

 

파일들을 add하고 status를 확인해 보면 변경된 것을 확인 할 수 있다

 

 

커밋을 하고 로그를 확인해보자

 

로그화면에서는 q를 입력해서 나갈 수 있다

그리고 로컬 저장소와 연결하기 위해

 

아까 만든 깃허브에서 맨 아래 ...or push 어쩌고 하는 곳 아래 세 줄을 복사해준다

그리고 파이참에 붙여넣기 하면 된다

 

 

그리고 깃허브를 새로고침 해 보면!

 

 

정상적으로 올라간 것을 확인할 수 있다!!

파일을 수정하고 깃허브에 올려보자

 

 

add, commit, push를 차례로 해 준 후 확인을 해 보면

 

 

커밋 메세지가 수정된 것을 알 수 있다

 


 

처음이 좀 어렵지만 익숙해지고나면 아주 유용한 깃이랑 깃허브! 아직 모르는 명령어들도 많고, 실수도 많지만 반복하고 모르는건 계속 구글링해 보면서 익숙해져야지!

어리버리 해지지 않는 그 날까지 화이팅팅

 

여려워도 견뎌! 버텨!