Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 개발 피그마
- dev mode
- 생활코딩 정리
- css 정리본
- 프론트엔드
- CSS
- 백엔드
- 정처기 책 추천
- 웹 개발 공부
- javascript 정리본
- 정보처리기사 비전공자 합격
- 백엔드 입문
- 피그마 정리본
- CSS 공부
- 피그마 ui
- #워너고트립 #워너고트립후기 #유럽여행후기 #2030유럽여행 #워너고트립유럽
- 정보처리기사 정리본
- css 태그
- 피그마 공부
- 프론트엔드 기초
- html 강의 추천
- 생활코딩 css
- html 핵심
- 프론트엔드 정리본
- html 정리본
- JavaScript
- 웹응용프로그래밍
- javascript 공부
- 웹 개발
- 프론트엔드 공부
Archives
- Today
- Total
코딩 일지
협업을 위한 Git & GitHub 공부 / 명령어 정리본 본문
버전관리 시스템
파일 변화(버전)를 시간에 따라 기록했다가 나중에 특정 시점이 버전을 다시 꺼내올 수 있는 시스템 ex) CVS, Git, Subversion…
- CVCS(중앙 집중식 버전 관리)
- ex) CVS, Subversion
- 파일을 관리하는 서버가 별도로 존재
- 클라이언트가 중앙 서버에서 파일을 받아서 사용(Checkout)
- 단점: 중앙 서버에 문제가 발생하면 협업, 백업 불가능
- DVCS(분산 버전 관리 시스템)
- ex) Git, Mecurial
- 저장소를 히스토리와 더불어 전부 복제 → 서버에 문제가 생기면 이 복제물로 다시 작업을 시작
Git
모든 파일 집합의 변경 사항의 추적을 위한 소프트웨어
- 일반적으로 소프트웨어 개발 중에 소스 코드를 공동으로 개발하는 프로그래머 간의 작업을 조정하는 데 사용
Git의 기초 개념
- 모든 명령을 로컬에서 진행
- 모든 변화를 파일의 스냅샷으로 취급
- 데이터를 추가할 뿐 삭제나 변경하지 않음
Git의 세가지 상태


Git Bash 명령어
- git init
- 디렉토리 → Working DIrectory로 만들기
- .git이라는 하위 디렉토리 생성
- git status
- 상태를 확인
- git add 파일명
- git으로 관리할 파일을 추가함
- Untracked → Staged
- git으로 관리할 파일을 추가함
- git commit 파일명
- Modified → Stage
- 커밋과 커밋 메시지를 한번에
- git commit 파일명 -m “커밋메시지”
- git log
- 커밋 내역 확인
- 비교
- git diff
- 최근 커밋 vs Working Directory 비교
- git diff — staged
- 최근 커밋 vs Stage 비교
- git diff
GitHub와 연동하기
- Git Hub : Git 저장소의 온라인 저장 사이트
GitHub Repository를 원격 저장소로 추가하기
- 토큰 지정 안함: git remote add origin [GitHub 주소]
- 토큰을 지정 : git remote add origin https://[토큰]@github.com/[닉네임]/[repository].git
Local Repository → GitHub Repository 푸시하기
- 원격 저장소 지정 - clone 원격지의 소스코드를 받아 Local로 동기화하는 Clone
- git clone [GitHub 주소]
- local repository의 변경사항을 깃허브로 올리는 Push
- git push origin [master/main]
- Checkout : 마지막 커밋으로 되돌아 가는 기능
GitHub Repository에서 내려받기
- 깃허브의 소스코드를 받아오기
- git pull origin [master/main]
Git용 Tool 사용하기
- Sourcetree : GUI를 사용하여 Git을 편리하게 사용함
Commit
- 커밋 주의 사항
- 반드시 한 번에 하나의 논리적 작업만을 커밋합니다
- 커밋 메시지를 잘 작어야함 - 꼼꼼히 작성
Git 심화
변경 사항 되돌리기

Git의 3가지 트리

Branch
마음대로 작업할 수 있는 별도의 공간
- 기본은 master 브랜치
- 기존의 master 브랜치 내용은 그대로 보존하면서 새로운 작업을 추가하는 것
- 각 사용자별/모듈별 브랜치를 만들어 작업하고 통합하는 것이 좋음
- 머지(merge) : 브랜치 합치기
- 재배치(rebase) : 커밋 이력 정리
풀 리퀘스트
원격 저장소에 소유자가 아닌 사람이 변경사항을 추가하도록 요청하는 경우
- 순서
- 저장소를 본인 계정으로 포크하기
- 포크한 저장소 클론하기
- 브랜치 생성 후 브랜치에서 작업
- 작업 브랜치 푸시하기
- 풀리퀘스트 보내기
팀프로젝트에서 각자의 담당 모듈을 개발, GitHub를 통해 하나의 소스코드로 통합 하는법?
- Fork-Full Request
- 기본 Repository를 생성
- 개발자들이 각자의 Repository로 Fork
- 개발 후, 기본 Repository로 Full Request하여 반영
- Collaborator로 협업
- 기본 Repository를 생성
- 각 개발자들을 Collaborator로 추가하여 작업
CI/CD
소프트웨어 개발 라이프사이클을 간소화하고 가속화하는 것을 목표로 하는 지속적 통합(CI) 및 지속적 제공/배포(CD)를 의미
- 지속적 통합(Continuous Integration)
- 코드 변경 사항을 공유 소스 코드 리포지토리에 자동으로 자주 통합하는 방식
- 지속적 제공 또는 배포(Continuous Delivery/Deployment)
- 코드 변경 사항의 통합, 테스트, 제공을 나타내는 프로세스로 지속적 제공과 배포, 두 가지 의미

- 개발 이후 빌드, 테스트, 릴리즈, 배포 과정에 자동화 도구를 활용하여 애플리케이션 배포 주기를 단축하여 서비스 요구에 신속하게 대응하도록 지원함
'개발 공부' 카테고리의 다른 글
| 생활코딩 HTML 강의 / 핵심 정리본 (0) | 2025.02.16 |
|---|---|
| 개발 설계를 위한 피그마 기초 공부/정리본 (0) | 2025.02.16 |
| Unix 계열 기초 명령어 정리 (bash) (0) | 2025.02.09 |
| <입출력 프로그래밍> 공부 정리본 (1) | 2025.01.20 |
| <JavaScript & JQuery> 공부 정리본 (1) | 2025.01.19 |