파일을 효율적으로 관리할 수 있도록 도와주는 프로그램
리눅스 창시자인 리누스 토르발즈가 개발
주요 기능
git의 원격 저장소 기능을 제공하는 서비스 (클라우드)
사용자가 저장소에 접근하기 쉬움
1. workspace
2. staging area
3. local repository
4. remote repository
# 해당 디렉토리를 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^^^
fork
다른 사람의 저장소의 내용을 추가하거나 수정하고 싶은 경우 다른 사람의 원격 저장소와 나의 원격 저장소를 연결
clone
다른 사람의 저장소의 내용을 복사해서 나의 로컬 저장소에 저장
remote
원격 저장소와 로컬 저장소 연결
fetch
원격 저장소의 내용을 로컬 저장소에 저장, 병합 ❌
pull
원격 저장소의 내용을 로컬 저장소에 저장, 자동 병합 ⭕️
push
로컬 저장소의 내용을 원격 저장소에 저장, 자동 병합 ⭕️
push는 자동 병합 기능이 있는 데, 만약 나와 협업자가 같은 파일의 같은 라인을 다른 내용으로 수정했을 경우 병합 충돌 발생!
해결 방법 : 협업자와 연락하여 코드 직접 수정 ➡️ 수정 사항을 원격 저장소에 저장
그래도 git을 써보긴 했으니까 수월하긴 했다.
근데 맨날 냅다 clone 해서 작업했어서 fork 부분에서 오래 걸렸다...
그리고 git의 영역을 잘 모르고 기계적으로 add, commit, push, pull 을 했어서 거의 처음부터 공부하는 거나 마찬가지였다.
그래도 나름 재밌긴 했다.
첫 페어분과 마지막 페어프로그래밍도 merge 충돌 관련 여러가지 실험(?)도 해보고 알차게 잘 한 것 같다! 내가 산만하게 군 것 같아서 죄송,,,
아니 그것보다도 나... 오늘 너무 혼자 진행하지 않았나....?!................. ㅠ 흑...
그래도 html/css 랑 비교하라고 하면 진짜 닥치고 git이 훨씬 재밌다 ^^^^^~
다음주는 대망의 자바... 가보자고🔥