일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 카카오 코딩테스트
- 알고리즘 문제풀이
- PYTHON
- backjoon
- 스위프트
- SWIFT
- dft
- 컨볼루션
- 전자공학
- 코테
- 독서노트
- DSP
- SWIFTUI
- 파이썬
- 코딩테스트
- leet code
- 알고리즘
- 백준
- Trie
- DTFT
- leetcode
- 트라이
- 코테준비
- 이산신호처리
- 신호처리
- IOS
- 프로그래머스
- 알고리즘문제풀이
- Leet Coding Challenge
- 릿코드
- Today
- Total
매일 매일 성장하는 섭섭군
Git&GitHub 알아보기 본문
Git 과 GitHub는 무엇일까?
Git은 버전관리시스템(VCS, Version Control System) 프로그램입니다.
GitHub는 Git을 업로드 할 수 있는 웹사이트 중 하나입니다.
그렇다면 버전관리시스템이란 무엇일까요? Git이 메인이니 간략하게 설명하도록 하겠습니다.
✓ 버전관리시스템(VCS, Version Control System)
버전관리시스템이란 말 그대로 버전을 관리하는 시스템입니다. 이력서, 자기소개서, PPT등 서류 작업을 할때 이런 제목들을 사용해 보신 적이 있나요?
"최종 발표 PPT.pptx"
"진짜 최종 발표 PPT.pptx"
"진짜진짜최종 발표 PPT.pptx"
"이게 진짜최종 발표 PPT.pptx"
딱 봐도 뭔가 최종으로 완료된 PPT인지 햇갈립니다. 이러한 것을 다음과 같이 바꾸면 어떨까요??
"발표_PPT_ver1.0.pptx"
"발표_PPT_ver1.1.pptx"
"발표_PPT_ver1.2.pptx"
"발표_PPT_ver2.0.pptx"
이런식으로 버전을 구분해서 작업한다면 최종으로 완료된 PPT가 무엇인지 한눈에 알 수 있습니다.
게다가 시간의 흐름에 따른 진행 사항을 확인 할 수 있습니다.
위 예시를 보고 버전관리가 필요하다라는 것을 알수 있다.
버전관리시스템은 위에서 보여준것 보다도 더 많은 일을 할 수 있다.
- 백업 및 복구 : 사고로 내용이 날아가거나, 무언가가 잘못되었을 때 다시 이전의 내용으로 복구할 수 있다.
- 버전 관리 : 시점에 따라 확인이 가능하다.
- 변경점 관리 : 누가, 언제, 무엇을, 어떻게 변경했는지 알 수 있다.
- 협업 : 같이 일하는 사람에게 수정사항을 쉽게 공유 할 수 있고, 복사후 동시다발적으로 개발이 가능하다.
✓ Git
Git은 "분산형 버전 관리 시스템" 입니다. 뭔가 이름부터 협업하기 좋을것 같은 느낌이 들지 않나요?
개발자들은 각자 개발을 진행 한 후에 개발한 것을 합칠지? 아니면 합치지 않을지? 결정할 수 있습니다.
또한 서버에 접속하지 않으면서도 작업을 진행할 수 있습니다.
대표적인 Git 명령어들을 보면서 어떠한 기능이 있는지 확인 할 수 있습니다.
변경된 사항 받아오고 변경한 사항 올리기
- Clone : 원격 Git 저장소로부터 데이터(버전정보) 내 컴퓨터(로컬저장소)로 가져오기
- Pull : 원격저장소에 있는 최신 버전정보 가져와서 내 로컬저장소와 병합하기
- Commit : 파일 및 폴더의 추가/변경 사항을 기록하기
- Add : commit 할 파일 및 폴더 선택하기
- Push : 내 컴퓨터에 있는 데이터(버전정보)를 원격 Git 저장소에 업로드하기
독립적으로 개발하고 병합하기
- Branch : 독립적으로 개발 할 수 있도록 해당 시점으로 부터 데이터(버전정보 복사)
- Pull Request : 독립적으로 개발한것 합칠 수 있도록 승인 요청하기
- Marge : Branch로 진행한 것 병합하기
✓ GitHub
GitHub는 Git을 저장할 수 있는 원격저장소(서버)입니다. 즉, 개발자들의 버전제어 및 협업을 위한 플랫폼입니다.
Github 이외에도 다양한 서버들이 있으며 직접 구축하여 사용도 가능합니다.
정리하면서
Git에 대해서 아주 일부만 사용하고 있다고 느꼈다. 추후 회사에 들어가 협업을 원활하게 하기 위해 좀 더 공부를 진행해야 겠다.
공부하기에 좋은 링크
참고 페이지
https://blog.naver.com/opusk/220984046181
https://namu.wiki/w/버전%20관리%20시스템
https://backlog.com/git-tutorial/kr/
'개발관련 > 개발상식' 카테고리의 다른 글
Bitbucket Self Hosted Runner(Window) Guide (0) | 2022.07.04 |
---|---|
Jenkins Install 방식 알아보기(서비스 형태, WAR 형태) (0) | 2022.06.29 |
오픈소스 소프트웨어 라이센스와 종류 (0) | 2020.08.08 |
일급객체(First Class Citizen)이란? - with Swift (0) | 2020.08.08 |
함수형 프로그래밍이란? (0) | 2020.08.08 |