Contents
Git/Github
- 이걸 왜쓰지?
- 버전 컨트롤(VCS)
- 협업환경 조성(팀플할 때 사용)
- 코드 변경 이력 확인
- 팀원 간의 코드 리뷰
- 효율적인 의사소통
- 코드 공유 간편화
- 다른 사용자의 기여(Contiburion) 허용
- Git의 동작 구조
- 로컬 환경에서 작업한 것을
- 원격저장소로 올리거나(push)
- 원격저장소에서 초치신 버전을 내 로컬환경으로 당겨올 수 있다(pull)
- Github는 Git을 기반으로 만들어진 웹 서비스
Github 연동
- Git 최초 설정
git config --global user.name "사용자 이름"
git config --global user.email 메일주소
- 후에 git config list 나 git config —list 로 확인
- Github - Repository란
- 파일들과 이력(변경 기록)을 저장하는 작업 공간
Git 명령어

- Status
- git status
- git의 변경 사항을 확인
- Add
- git add [파일명][경로]
- 경로에 있는 파일을 스테이지에 추가
- Commit
- git commit
- git commit -m "[메시지]"
- 스테이지에 추가되어있는 변경사항들을 git 로컬 저장소에 추가
- 변경사항 확인하는 명령어
- git log
- 커밋 내역 확인
- git diff
- 어떤 파일에서 어떤 내용이 변경되었는지 확인
- Revert
- git revert [커밋 해시]
- 작업한 커밋을 어느 지점(커밋 해시)까지 되돌리는 것
- 커밋 기록이 남는다
- Reset
- git reset —hard [커밋해시]
- Revert와 비슷하지만 커밋 기록이 남지 않는다 ☢️**
위험!!**☢️
- Branch
- 브랜치 관리 방법
- 기능 개발 단위로 단위
- 각각의 개발자가 서로 다른 기능을 동시에 안정적으로 개발 가능
- main 브랜치에서 기능 개발 브랜치를 파서 각각 기능을 개발한 뒤 merge한다
- git branch
- 브랜치 목록 확인
- git branch [브랜치 명]
- 브랜치 생성
- 현재 위치하는 브랜치를 기준으로 생성됨
- git switch [브랜치명]
- 현재 브랜치 이동
- git switch -c [브랜치명]
- 생성과 동시에 이동
- git branch -d [브랜치명]
- 브랜치 삭제
- -D 옵션을 사용하면 강제 삭제
- git branch -m [기존 브랜치 명] [새 브랜치 명]
- 브랜치명 변경
- 브랜치 관리 방법
- Merge
- git merge [Feature 브랜치]
- 브랜치 두개를 합침
- 브랜치명은 현재 위치하는 브랜치를 따라감
- git merge [Feature 브랜치]
- Merge 방법
- Fast-Forward Merge (FF)
-
- feature 브랜치가 베이스 브랜치에서 파생되고 베이스 브랜치의 변경 사항이 없다면 가능
- 단순히 브랜치 포인터를 이동시킨다
- 병합 작업이 일어나지 않는다
-
- Three-way Merge (Non Fast-Forward)
- 베이스/ feature 두 브랜치 모두 변경 사항이 적용되면 가능
- 공통 조상을 기준으로 병합된다
- Rebase Merge
- feature 브랜치가 너무 많아져서 3way 머지했을 때 그래프가 안이뻐질 거 같으면 한다
- 머지하고자 하는 feature 브랜치로 이동
- git rebase [main 브랜치]
- main 브랜치로 이동
- git merge [feature 브랜치]
- feature 브랜치가 너무 많아져서 3way 머지했을 때 그래프가 안이뻐질 거 같으면 한다
Github 이용
- Git Remote
- 로컬 저장소에 있는 파일을 깃허브 레파지토리에 push
- git remote
- remote된 깃허브 레파지토리를 확인
- git remote add [remote명] [Repository URL]
- 깃허브 레파지토리의 URL로 리모트를 추가
- git remote add origin [Repository URL] - 국룰
- git push -u [remote명] [브랜치명]
- remote에 브랜치 푸시
- git push -u origin [브랜치명]
- git pull
- 원격 레파지토리의 최신 작업 받아오기
- Git clone
- 깃허브 원격 레파지토리를 내 로컬환경에 복제하는 작업
- 내가 복제하고자 하는 디렉토리로 이동 → git clone [Repository URL]
Conflict
- 브랜치를 머지할 때 99% 당연하게 나타남
- 두 개발자가 같은 구간을 수정해서 자동 머지를 못하고 수동 해결을 요구하는 상황
- 좀 더 나은 코드를 골라서 머지한 후 다시 커밋한다
- Error: ‘git pull’ before pushing again.
- pull할 거리가 남아있을 때 push가 안되는 상황에서 나오는 메시지
- pull 후 push하면 해결
'이스트소프트 오르미' 카테고리의 다른 글
[이스트소프트 오르미] 3일차 (0) | 2025.07.11 |
---|---|
[이스트소프트 오르미] 1일차 (1) | 2025.07.08 |