[section 1] Git

수경·2022년 10월 28일
0

코드스테이츠

목록 보기
8/57
post-thumbnail

Git이란?

파일을 효율적으로 관리할 수 있도록 도와주는 프로그램
리눅스 창시자인 리누스 토르발즈가 개발

주요 기능

  • 버전 관리: 여러 버전 정보 기록 가능!
  • 백업: 원격 저장소에 저장함으로써 백업 가능!
  • 협업: 여러 사람이 작업물을 공유하고 취합

Github란?

git의 원격 저장소 기능을 제공하는 서비스 (클라우드)

사용자가 저장소에 접근하기 쉬움


Git의 영역

1. workspace

  • 실제로 사용자가 작업하는 공간
  • add 하기 전 파일들이 위치한 영역
  • working tree / work tree

2. staging area

  • add 한 파일들이 위치한 영역
  • local repository 에 저장할 파일들의 대기 영역

3. local repository

  • commit한 파일들이 위치한 영역
  • 원격 저장소에 저장할 파일들의 대기 영역

4. remote repository

  • 원격 저장소 (클라우드)


Git 명령어

# 해당 디렉토리를 git 저장소로 변환 / 새로운 저장소 초기화
git init

# 로컬 저장소와 원격 저장소의 연결 정보 확인
git remote --v
# 원격 저장소를 로컬과 연결
git remote add [remote repository name] [remote repository URL]
# 원격 저장소의 코드를 로컬로 복사, 자동 연결
git clone [repository URL]

# 파일 변경상태 확인
git status
# commit 로그 확인
git log

# workspace에 있는 파일을 staging area에 저장
git add [file name]
# staging area의 파일들을 commit message와 함께 로컬 저장소에 저장
git commit -m [commit message]
# 로컬 저장소의 파일을 원격 저장소로 저장
git push [remote repository name] [branch]
# 원격 저장소의 변경 사항을 로컬 저장소에 적용
git pull [remote repository name] [branch]

# 가장 최근 commit 취소
git reset HEAD^
# 가장 최근 commit 3개 취소
git reset HEAD^^^


협업 workflow

fork
다른 사람의 저장소의 내용을 추가하거나 수정하고 싶은 경우 다른 사람의 원격 저장소와 나의 원격 저장소를 연결

clone
다른 사람의 저장소의 내용을 복사해서 나의 로컬 저장소에 저장

remote
원격 저장소와 로컬 저장소 연결

fetch
원격 저장소의 내용을 로컬 저장소에 저장, 병합 ❌

pull
원격 저장소의 내용을 로컬 저장소에 저장, 자동 병합 ⭕️

push
로컬 저장소의 내용을 원격 저장소에 저장, 자동 병합 ⭕️


❗️ 병합 충돌

push는 자동 병합 기능이 있는 데, 만약 나와 협업자가 같은 파일의 같은 라인을 다른 내용으로 수정했을 경우 병합 충돌 발생!

해결 방법 : 협업자와 연락하여 코드 직접 수정 ➡️ 수정 사항을 원격 저장소에 저장



오늘은 🤔

그래도 git을 써보긴 했으니까 수월하긴 했다.

근데 맨날 냅다 clone 해서 작업했어서 fork 부분에서 오래 걸렸다...

그리고 git의 영역을 잘 모르고 기계적으로 add, commit, push, pull 을 했어서 거의 처음부터 공부하는 거나 마찬가지였다.

그래도 나름 재밌긴 했다.

첫 페어분과 마지막 페어프로그래밍도 merge 충돌 관련 여러가지 실험(?)도 해보고 알차게 잘 한 것 같다! 내가 산만하게 군 것 같아서 죄송,,,

아니 그것보다도 나... 오늘 너무 혼자 진행하지 않았나....?!................. ㅠ 흑...


드디어 Git의 전체적인 틀을 제대로 이해하게 된 것 같아서 좋다😌 근데 넘 어려워.... git 하다가 _어쩌구 어쩌구 너 fail~~_ 하면 마음이 찢어짐 ㅠ...

그래도 html/css 랑 비교하라고 하면 진짜 닥치고 git이 훨씬 재밌다 ^^^^^~

다음주는 대망의 자바... 가보자고🔥

profile
어쩌다보니 tmi뿐인 블로그😎

0개의 댓글