Cute Running Puppy
본문 바로가기
개발일기

깃허브 연동 연습 (파이참, 깃)

by 징구짱 2023. 2. 13.
728x90

2023.02.12

프로젝트에서 깃이 너무 힘들었어서🥲

파이참과 깃을 연결하는 연습을 해볼것이다.

 

  • Repo 만들기

Sourcetree에 위에 복사한 주소를 붙여넣고 프로젝트를 선택한 후 클론한다.

내 프로젝트로 가서 확인하면 .git 폴더가 생성되었다.

보이지 않는다면 보기 > 표시 > 숨긴항목 체크한다.

 

 

  • 깃에 올리지 말아야할 파일 추가하기

프로젝트 우클릭 > 새로만들기 > 파일 클릭 후 .gitignor파일을 만든다. (활성화 되어있다면 오타이므로 확인!!)

깃에 올리지 말아야할 파일을 추가한다. (venv, .idea)

 

 

  • 깃허브에 파일 올리기

깃이 연결됐다면 파일을 추가하면 알림창이 뜬다. (add)

커밋을 위해 add한다.

 

 

 add하지 않으면 커밋 파일에 보이지 않는다.

 

  • 수동 추가하는방법

해당파일 우클릭 > Git(G) > 추가

 

커밋 후 푸시하면 깃 허브에서 파일 확인이 가능하다.

 

 

  • 이슈 등록하기

연습을 위해 이슈를 두개 등록했다. (login / signup)

제목과 상세내역 그리고 오른쪽 부분도 작성한다.

  • Assigness : 담당자를 지정
  • Labels: issue 기능 분류 라벨

 

 

  • 브랜치 만들기

각각의 작업을 따로 저장하기 위해 브랜치를 생성한다.

이슈 페이지의 create a branch를 클릭

브랜치명을 입력한다. ( / 추가시 폴더처럼 만들어짐)

 

프로젝트 업데이트를 하면 원격에 브랜치가 추가된걸 확인할 수 있다.

두개의 이슈에 대한 브랜치를 생성한다.

 

 

  • 브랜치 이동하기

작업할 브랜치(login) 우클릭 > 체크아웃

 

 

  • 커밋하기

(login 브랜치에서) 커밋 연습을 위한 login 파일을 추가했다.

브랜치에 따라 파일이 다른 것을 확인할 수 있다.

(좌) login 브랜치 / (우) signup 브랜치

커밋창을 킨 후 커밋할 파일을 클릭(add)하고 커밋메세지를 입력 후 커밋한다.

커밋 메세지는 무슨 작업을 했는지 알아볼 수 있도록 작성하는것이 좋다. (그래야 작업을 되돌릴 때 찾기 쉬움)

커밋을 여러번 하여 완성된 브랜치는 푸시로 원격 repo에 저장한다.

 

signup 브랜치에 체크아웃 후 이곳에서도 작업을 할 것이다.

커밋을 여러번 하여 완성된 브랜치는 푸시로 원격 repo에 저장한다. (원래는 원격 repo의 main 브랜치에서 풀을 당겨온 후 진행한다.)

 

 

  • 브랜치 합치기 (같은 파일을 수정 후 합치는 과정)

현재 상황 : 수정사항 커밋 후 푸시

 

login 브랜치 수정사항

  • login 파일 추가
  • app.py 파일 수정

signup 브랜치 수정사항

  • signup 파일 추가
  • app.py 파일 수정

푸시된 내역은 github에 아래 사진처럼 뜬다. compare & pull request 클릭

create pull request 클릭

Merge pull request 클릭

Merge된 브랜치는 삭제가 가능하고 해당 issue는 자동으로 닫힌다.

 

같은 파일을 수정한 signup 브랜치를 합치면 자동 병합에 실패해 충돌 메세지가 뜬다. Resolve conflicts 클릭

충돌된 개수(맨 위 빨간 글씨)와 충돌 부분의 파일을 자동으로 비교하여 해결해야할 부분을 보여준다.

<<<<<<< 현재 브랜치명 (signup)
현재 브랜치 변경내역

=======

합칠 브랜치 변경내역
>>>>>>> 합칠 브랜치명 (main)

합칠 코드로 수정 후 Mark as resolved 클릭

Commit merge 클릭

Merge pull request 클릭

Merge되어 브랜치를 바로 삭제할 수 있다.

삭제버튼을 클릭하면 프로젝트 업데이트 후 원격 브랜치가 삭제된걸 확인할 수 있다.

모든 브랜치를 병합하여 이슈가 모두 사라진것을 확인할 수 있다.

 

  • 프로젝트 가져오기

원격 repo는 합쳐졌지만 로컬 repo는 아직 그대로이므로 pull하여 프로젝트를 가져온다.

 

브랜치 히스토리를 보면 이러한 과정을 지나온 것을 볼 수 있다.

 

처음병합했던 login 브랜치는 main 브랜치와 파일이 다르다.

사용하려면  pull하여 main에서 프로젝트를 가져온다. (로컬 repo)

아직 login의 원격 repo는 그대로 이므로 푸시해서 변경내역을 저장해준다.

 

터미널 사용

 

  • 현재 브랜치 정보를 확인
git branch


dev
login
main

 

  • 브랜치 이동하기
git checkout login

브랜치 정보를 확인하면(git branch) 이동한 것을 알 수 있다.

dev

login

main

  • 저장소 상태 확인
git status

 

  • add 하기
git add <file name>
// 특정 파일을 추적하고 싶을때

git add -A
// 프로젝트 전체를 추적하고 싶을때

 

  • add 해제하기
git rm --cached <file name>

 

  • commit 하기
git commit -m "<message>"
// <message> 에 반드시 commit 메세지 작성
// -m : commit 명령과 동시에 메세지를 입력할 수 있음

 

  • 작업로그 확인하기
git log

 

  • 소스 변동사항 확인하기
git diff

 

  • 브랜치 생성하기
// 브랜치를 생성한 후 그곳으로 브랜치 이동
git checkout -b dev

 

  • 브랜치 병합하기

병합할 곳(main)에 체크아웃 후 병합할 브랜치를 입력한다.

git merge dev

 

  • 원격 저장소 설정하기

github 저장소를 만든 후 실행한다.

// git remote add [원격 저장소명] [원격 저장소 주소]

 

  • 원격 저장소에 프로젝트 업로드하기
git push -u origin main
// git push -u [원격 저장소 명] [브랜치명]
// -u : 동일한 원격 저장소와 브랜치에 push 할 때 git push 만으로 실행 가능

 

  • 원격 저장소 프로젝트 로컬로 가져오기
git fetch
// 로컬 저장소로 받아오지만 직접 작업을 하거나 수정을 할 수가 없음
git pull
// 원격 저장소의 소스를 받아 Working Directory 병합까지 수행
728x90

'개발일기' 카테고리의 다른 글

깃허브 브랜지로 소스 관리하기  (0) 2023.03.01
포트 죽이기  (0) 2023.02.27
버킷리스트 수정하기  (0) 2023.02.07
네컷 사진 두 줄로 보이기  (0) 2023.02.07
github로 배포하기  (0) 2023.02.01