[TIL] Git, SourceTree, GitHub

김대욱·2023년 1월 13일
0

Git

Git : 형상 관리 도구(버전 관리)
git initialize : 컴퓨터에 있는 프로젝트를 깃 프로젝트로 만드는 것.
commit : 현재 프로젝트의 상태를 저장하는 것.
add(staging) : commit에 반영할 파일을 선택하는 것.
commit history : commit 내역을 시간순으로 리스트화 한 것.
repo : git으로 관리되는 프로젝트를 칭하는 용어.
Tracking : 로컬 repo와 원격 repo를 연결하는것을 뜻한 용어.
push : 로컬 repo의 커밋들을 원격 repo에 반영하는 것.
pull : 원격 repo의 커밋들을 로컬 repo에 반영하는 것.
clone : 원격repo를 로컬에 가져와서 초기repo 세팅하는 것.

SourceTree, GitHub 사용해보기

Git을 좀 더 편하게 사용하기 위한 도구.

빨간 네모의 Add를 누르면 git init을 할 수 있다. 강의자료 에서는 텍스트 문서로 공부했기 때문에 이번엔 파이썬 프로젝트를 생성하고 Add해줬다. 첫 커밋을 하기 위해 간단한 코드를 작성해줬다.

#calculator.py

def plus(a, b):
    return a + b

수정된 파일을 staging하고, 커밋 메세지를 적은뒤에 commit한다.

정상적으로 commit이 완료됐다.

다음으로 merge 연습을 하기 위해 빼기 함수를 작업할 브랜치와, 곱하기 함수를 작업할 브랜치를 각각 feature/sub, feature/multi로 생성했다.(브랜치 생성 방법 : History에서 가장 최근 커밋 우클릭-브랜치 생성)

다음으로 각 브랜치에서 빼기와 곱하기 기능을 작업한 뒤 커밋하고 merge했다.

#feature/multi 작업내용

def multi(a, b):
    return a * b
#feature/sub 작업내용

def sub(a, b):
    return a - b

feature/multi > feature/sub 순으로 병합 하던중 conflict메세지가 떴다.

def plus(a, b):
    return a + b

<<<<<<< HEAD
def multi(a, b):
    return a * b
=======
def sub(a, b):
    return a - b
>>>>>>> feature/sub

conflict가 발생하면 원인이 된 코드가 <<<<와 >>>>사이에 위치하게 되는데 충돌이 안나게 수정해주면 된다.

def plus(a, b):
    return a + b

def multi(a, b):
    return a * b

def sub(a, b):
    return a - b

위와 같이 수정을 하니 병합이 정상적으로 완료됐다.

다음으로 remote repo에 push하기 위해 깃허브에 리포지토리를 하나 만들고 소스트리에서 url을 입력해 연결해준 뒤 push했다.

정상적으로 push가 됐다.

0개의 댓글