내일배움캠프 8일차 - Git (깃 설치, clone, commit, push)

GitHub에 대해서는 코딩생활을 하면서 익히 들어왔었다.

그러나 깃허브 사이트 자체의 한글지원이 여전히 부족한데다 사용하기 위해서는 준비과정이 복잡한 편에 속했기 때문에 몇번 다뤄봤어도 제대로 쓰기가 어려웠었다.

오늘 캠프에서 Git에 대해 설명이 있었기에 이 기회에 내용을 기억하고자 내용을 필기한다.


깃(Git)

 : 버전 관리 툴.
 - 버전 관리 툴이 없던 시절에는 프로젝트 폴더 자체를 복제해서 주먹구구식으로 관리했었다. 그러나 프로젝트 폴더는 보통 100GB이상.
 - 깃, SVN, 퍼포스 등의 버전 관리 툴이 등장하며 이에 대한 부담이 줄어듦.

 - 본인 컴퓨터에 깃 설치가 되어 있는지 확인하는 방법.
작업 표시줄 > 검색 클릭 > “cmd” 라고 타이핑 후 엔터.
”git -v” 명령어 타이핑 후 엔터 시에 나오는 문구 확인.
아래와 같이 나오면 설치 되어있는 것. 아니면 아래 깃 설치 진행.


깃 설치

[이 링크]에서 진행. “Click here to download” 클릭.

설치 진행. 아래 그림들을 참고하며 설치. 그림이 없는 창에선 그냥 Next.

소스트리 설치

깃은 커맨드라인 쉘을 통해서만 가능하다.
커맨드라인 쉘보다는 그래픽 쉘이 더 직관적이고 쉽다.
이를 위해서는 깃 관련 또다른 프로그램을 다운 받아야한다.
소스트리, 깃포크, 깃헙데스크탑이 대표적이다.

소스트리는 [이 링크]에서 설치. 설치 마지막에 SSH 설정을 묻는 창에선 아니오 눌러도됨.
따로 설정한 값이 있다면 예.

(건너뛰기를 누른다)

커밋과 푸시

 - 레포지토리 생성
(레포지토리를 만든 적이 있을 때)

(레포지토리를 만든 적이 없을 때)

 - 레포지토리 이름 설정


 - README파일 생성, gitignore파일 생성.
리드미 문서는 해당 레포지토리의 얼굴과 같다.
추후에 리드미를 꾸미면 회사 지원할때도 좋다고 한다.

이렇게하면 레포지토리가 완성된다.

 - 리모트(Remote)

리모트 레포지토리 주소 얻어오기


 - 실습용 폴더 생성
C 드라이브 > 새로 만들기 > 폴더 생성.
경로에 한글이나 띄어쓰기가 없게끔 하기 위해 드라이브에서 가까운 위치에서 만들어야 함.
프로그래밍할때는 경로에 민감해야함.

해당 폴더에서 주소창에 "cmd"를 치면 해당 경로의 커맨드라인 쉘이 나온다

 - git clone 명령어
클론 받을 폴더는 비어있어야함에 주의.

“git clone [리모트 레포지토리 주소]” 타이핑 후 엔터.
성공 시 다시 명령어를 입력할 수 있는 프롬프트(빨간 화살표)가 나옴.
항상 다시 입력 가능한 상태가 될 때까지 대기해야함. 중간에 끄면 안됨.

폴더도 생성됨. 지구 어딘가의 데이터 센터(리모트)에 있는 레포지토리 내용을
내 집의 컴퓨터(로컬)로 복사 해오기 성공.
이 폴더를 “로컬 레포지토리 폴더” 라고 부른다.


 ※ 로컬 레포지토리 폴더에 들어갔는데 .git 폴더가 안보인다면.
보기 탭의 숨긴 항목을 표시하여 .git이 표시된다면 git clone이 잘 된 것이다.

 ※ 언리얼 프로젝트 같은 대용량을 불러올 때에는 zip파일을 다운로드하기 보다는 cmd에 git clone을 쳐서 다운로드 받는 것이 파일손실, 에러 없이 불러올 수 있다.

 - git status
로컬 레포지토리에서 git status 명령어로 상태를 확인한다.
위 사진은 리모트와 로컬의 차이가 없는 상태라는 뜻이다.

 - CMD로 add, commit, push
우리가 누군가에게 대용량 파일을 보낼 때는 그냥 안보냄.
알집으로 압축해서 보내는 편.

 - add: 압축할 파일들을 폴더에 몰아두는 것. stage라고도 함.
 - commit: 해당 폴더를 압축하는 것.
 - push: 압축된 파일을 리모트로 전송하는 것.

1) git add . 명령어로 압축할 파일들 선별하기
.은 모든 파일을 압축하려 할때 사용. 추후에 다른 인자도 써보자.

1. git status 명령어로 현재 상황 파악
2. git add . 명령어로 모든 파일을 압축하겠다고 선언!
3. 다시 git status 명령어로 현재 상황 파악

2) git commit -m “커밋메세지” 명령어로 압축하기
1. git commit -m “커밋메세지(부가설명)”를 통해 압축 성공. 커밋 메세지에는 적절한 내용을 적어주면 됨.
2. git status를 통해 확인해보니, 커밋할 게 더이상 없다고 나옴. 정상.

3) git push 명령어를 통해 리모트 레포지토리에 올리기
git push 명령어를 타이핑 후 엔터를 치면 세 가지 경우로 나뉨.
1. 최초 로그인 창 팝업.
2. 아이디 선택
3. 아무 일 안생기고 푸시 완료. 이 경우엔 아래 내용 무시.

이런 화면이 뜨는 경우.
여기서 Sign in with your browser 클릭 후 크롬창이 뜨면,
해당 창에서 로그인 해주면 됨.

다시 CMD 창을 보면 git push 명령어가 성공한 것을 볼 수 있음.

리모트 레포지토리를 확인 해보면 커밋 메세지도 잘 보임.



※ 소스트리로 add, commit, push

 - 소스트리에서 로컬 레포지토리 관리

1번에 보이는 + 버튼 클릭. 새 탭을 만들 수 있습니다.
2번에 Add 클릭. 기존에 있는 로컬 레포지토리를 추가하고자 합니다.
3번에 Browse 클릭.

Browse 클릭 후 나오는 다이얼로그에서 로컬 레포지토리 폴더를 선택.
로컬 레포지토리 폴더에는 위 그림과 같이 .git 폴더가 보여야함.
절대 .git 폴더에 들어가서 폴더 선택하지 마세요! 폴더 이름이 과제이름/팀플젝이름이어야 합니다!!!
    
Add 버튼 클릭.

성공 후 화면.
    

 - 소스트리 살펴보기
1. File Status가 어딨는지 찾아봅시다.
2. History가 어딨는지 찾아봅시다.
3. BRANCHES가 어딨는지 찾아봅시다.
4. REMOTES가 어딨는지 찾아봅시다.

- [Commit 전 주의사항]
비주얼 스튜디오를 끄고 커밋해야함.
혹시라도 저장하지 않은 파일이 있다면, 비주얼 스튜디오를 끄면서 저장하겠냐는 창이 나옴.
파일을 저장하지 않은 채로 커밋/푸시하면 어떤 파일은 올라가고 어떤 파일은 그대로 잔류.
습관적으로 모든 파일 저장 및 커밋 전 비주얼 스튜디오 꺼두기.

 - 변경사항 만들기
1번: 프로젝트에 변경사항이 생기면 이곳에 “커밋할 내용이 1개 있습니다.”라고 표시됩니다.
2번: History에도 “Uncommitted changes”라고 나옵니다.

 - 스테이지(Stage == Add)

Stage All 버튼을 클릭하면, 이전 시간에 배운 “git add .” 명령어와 동일한 작업이 진행됨.
압축 파일의 대상이 될 파일들을 선별하는 것.
    
압축 파일의 대상이 된 파일들.
    

 - 커밋(Commit)
1번 위치의 커밋 메세지를 작성.
2번 위치의 Commit 버튼 클릭.

커밋을 완료 한 뒤 모습. Push 버튼과 main 브랜치 옆에 1 표시가 생겼다.
origin/main과 origin/HEAD는 이전 커밋에, main 브랜치만 신규 커밋에 위치하고 있음.
이후에 배우겠지만, origin/이 붙은 브랜치를 리모트 브랜치라고 함.
main 브랜치는 로컬 브랜치.

 - 푸시(Push)

 Push 버튼 클릭. 클릭하면 아래와 같은 다이얼로그가 뜸.

1번에 로컬 브랜치가 main인지 확인. 추후에 여러 브랜치의 커밋을 한 번에 Push 할 수도 있음.
2번에 리모트 브랜치가 main인지 확인. 리모트 브랜치를 수정 할 수도 있음.
3번 Push 버튼 클릭. 
    
이런 창이 뜰 순 있으나, 이전의 방법대로 계정 선택하고 Continue.

Push 성공시 main 브랜치, origin/main, origin/HEAD가 모두 최신 커밋에 위치함.

리모트 레포지토리 확인.

댓글

이 블로그의 인기 게시물

내일배움캠프 사전캠프 - 사전캠프설 연휴 커피 파밍 이벤트 작품 [ EXTREMITY ]

내일배움캠프 29일차 - 커리어데이 2일차 : 클라이언트 프로그래머로서 포트폴리오, 입사준비팁