Git

simoniful·2021년 5월 21일
0

Wecode

목록 보기
9/14
post-thumbnail

코딩을 시작하면서는 작은 양의 코드만 작성했기에 GitHub를 일종의 저장소로써만 사용했었습니다. 윈도우 환경을 사용하면서 깃허브 데스크탑에 익숙해져 있었고 리눅스 기반 환경에 대한 막연한 두려움 때문에 우분투도 몇 번 안써본 것이 사실입니다. 하지만, 부트캠프에 들어와서 코딩을 시작하면서 스스로가 관리할 수 범위를 벗어나며 수정하는 부분에 대하여 버전 관리가 점점 필요하게 된 거 같습니다.

역시 목마를 때 가장 와닿는 것인지 부랴부랴 Git 관련해서 지식을 배우고 부족한 부분을 채워나가고 있습니다. 우선적으로 튜토리얼을 보면서 정리한 부분을 블로깅하려 합니다.

👉🏻 가장 쉬운 Git 강좌

Git을 사용하는 이유

수정할 때마다 수정본을 저장하여 저장소에 보관한다고 생각하면 됩니다. 모든 파일의 저장 상태를 과거 버전으로 롤백하거나 프로토 타입을 시도 해볼 때 따로 폴더를 만들 필요없이 여러 버전을 관리가 가능하게 됩니다.

주로 CLI(Command Line Interface) 즉, 커맨드 창에서 기능을 수행하며 GI 인터페이스로 수행하는 깃 허브 데스크탑, 소스트리 등이 있으나 개발자이기에 커맨트를 통하여 직접 컨트롤 하는 것을 권장합니다.

IDLE과 Git을 병행하여 사용하는 것이 일반적이며, 대부분의 IDLE에서는 ctrl + ~ 을 통하여 터미널을 열 수 있다. 따라서 편집기에서 바로 Git을 활용하는 것이 가능합니다. 참고로 command + shift + . : 숨긴파일 보기 기능이 있으니 활용하도록 합시다!

환경 만들기

  • git init : 폴더가 git의 관리 하에 들어갑니다.
  • git config --global user.name “(내 이름)”
  • git config —global user.email “(내 메일 주소)”
    : 이름과 이메일 등록

현재 시점 저장

  • git status : 아직 저장되지 않은 파일을 확인합니다. 상태 확인
  • git add . : 모든 파일을 추가한다.
    다시 git status 확인시 ‘묻을 것들’ 이 나열된다.
  • git commit -m “설명” : 파일을 묻는다.
    ex) git commit -m “First Commit”
    다시 git status : 다 담아서 묻을게 없다고 나온다.

Commit 기록 확인

  • git log : 폴더의 commit 히스토리 확인 (q로 로그창 종료 가능)
  • vi 에디터 사용 : 파일의 데이터를 수정(:wq로 종료)

구버전으로 복귀

복귀에는 2가지 방법이 있는데, Reset과 Revert가 있습니다. 그 중 Reset은 과감한 방법이며, Revert는 어느 정도 현재에 걸쳐두고 복귀를 하는 방법입니다. git log에서 나온 결과물 중 일련번호 앞 6자리를 복사하고 사용하면 됩니다.

  • git reset [ 일련번호 6자리 ] -- hard
  • git revert [ 일련번호 6자리 ]

새로운 시도

브랜치를 통하여 기존의 것과는 다른 새로운 시도를 할 수 있습니다. 브랜치를 만들고 체크아웃하면서 원하는 버전을 나누어 만드는 것이 가능합니다.

  • git branch : 연결된 브랜치 모두를 확인
  • git branch name : 브랜치 생성
  • git checkout name : 브랜치 이동
  • git checkout -f 브랜치 이동시 변경된 파일 무시 옵션

병합(Merge)

  • git merge my-branch(변화를 가져올 branch 이름) : master branch에 my-branch를 병합

종료시에는 Mac에서는 저장하고 나가기 :wq를 입력합니다.

같은 파일의 같은 라인에 손을 대고 나서 merge를 하는 경우에는 conflict가 발생합니다.

둘중의 하나의 내용을 수정한 다음에는 git add로 캡슐에 넣고 git commit까지만 실행해줍니다. 병합하는 것이라고 이미 메시지가 완료되어있고 :wq로 저장해주면 merge가 완료됩니다.

협업할때는 되도록 다른 브랜치들이 같은 파일을 수정하는 것을 삼가하도록 해야합니다.


마스터 브랜치와 별도로 진행한 브랜치

$ git checkout -b my-branch
// 두 명령어는 동일
$ git branch my-branch
$ git checkout my-branch


각 브랜치의 커밋을 통한 확장

각 브랜치를 병합

$ git checkout master
$ git merge my-branch

시작부위 옮김(rebase)

  • git rebase my-another-idea 분기들을 깔끔하게 한줄로 합칩니다.

remote 브랜치 사용에 있어서 충돌이 있을 수 있으니 local에서는 주로 사용하여 커밋들을 정리할 때 사용하는 것을 권장합니다.

👉🏻 merge, rebase 관련 자료 1
👉🏻 merge, rebase 관련 자료 2
👉🏻 실무 rebase 사용법

VS code 세팅

cammand + shift + p : 명령 팔레트
명령 팔레트 내 셸 명령 PATH에 'code' 명령 설치

command + j : VS code 내 터미널 실행

profile
소신있게 정진합니다.

0개의 댓글