작은 메모장
1. Git/Github란? 본문
이걸 알기 전에..
버전 관리 시스템(Version control Revision Control)을 알아야한다
동일한 정보에 대한 여러 버전을 관리하는 것
공학 및 소프트웨어 개발에서 팀 단위로 개발중인 소스코드 혹은 설계도 같은 디지털 문서를 관리하는데 사용
수정판이 하나 나올때마다 숫자, 문자로 이루어진 “버전”이 부여됨
버전이 부여된 코드를 보면 누가, 언제 이걸 만들었는지 볼 수 있음
이걸 왜 하냐고?
이꼴남
기존의 버전 관리는 이름 혹은 제목 수정으로 버전 관리를 함
문서도 이꼬라진데 코드 버전 관리는 얼마나 힘들겠슴
그래서 “내가 이 버전으로 가져오고/되돌리고 싶어”를 빠르게 해주는 프로그램이 필요해진거임
이것말고도 쓰는 이유는 많은데,
- 뭔가 망해감을 감지했을 때
- 예전에 내가 어떻게 코드를 짰는지 보고 싶을 때
- 프로젝트를 팀원 전체가 동기화하고 싶을 때
- 소스 코드가 어디서부터 바뀌었는지, 누가 바꿨는지 추적하고 싶을 때
등등이 이유가 되겠다
Git은 많은 용어가 있는데,
Repository: 파일의 현재 버전과 변경 이력 정보를 저장하는 곳, 그냥 프로젝트 저장소
Tag: 특정 시점의 소스코드 전체를 복사 및 보관
Check Out: 저장소에서 내 환경으로 코드를 가져오는 것
Commit: Check out한 코드를 수정이 끝난 후 저장소에 새로운 버전으로 갱신
Confilct: 파일 변경할 때 충돌 난 경우. 보통 한 파일을 두 명 이상의 개발자가 작업한 경우에 발생
Merge: branch 변경사항을 다른 branch에 반영할 때 사용
대략 이정도가 git의 용어라고 생각하면 편하다
Git은 대충 알았는데, Github는 무엇이냐
Git은 단순히 내 컴퓨터 환경 안에서만 사용가능한 버전관리 프로그램
이걸 클라우드에 올려서 더 편하고 넓게 사용하기 위한 웹 호스팅 서비스
단순히 Git을 인터넷으로 올렸다고 생각하면 편함
이걸 어케 받음?
방법은 3가지임
복제를 원하는 레포지토리에 코드 버튼을 누르면 HTTP, SSH, GitHub CLI 3개가 보임
HTTP는 저 링크로 1회용으로 발급받는 것. 업데이트를 할 때마다 저 링크를 계속 발급받아야 하여 상당히 귀찮은 편.
SSH는 인증 키 하나를 가지고 발급받는 것. 인증키가 있으면 가정하에 안전한 환경임을 인증하고 지속적으로 연결을 유지하는 것.
대략적인 사용을 해보자
껍데기밖에 없는 레포지토리를 만들었다.
이걸 이제 내가 작업하는 환경으로 불러와 마음껏 주물러볼 것이다.
일단 git 주소를 받는다
clone 명령어로 원하는 디렉토리에 가져온다
README를 수정한 후, 수정사항을 잘 감시하고 있는지 status 명령어로 확인한다.
코멘트와 함께 commit 후 push 한다.
여기까지 문제없이 코드가 동작했다면, 내가 변경한 수정사항이 레포에 반영이 되었다는 의미이므로, 가서 확인해보자.
적용이 잘 된 모습을 확인 가능하다.
사실 예전에야 CLI 환경에서 명령어를 통해 Commit / Push를 진행하지, 요즘에는 전부 아래같은 GUI의 접근성이 좋은 환경을 제공한다.
뭘 쓰든 자기가 편한걸 쓰면 된다.
'실더스 루키즈 교육' 카테고리의 다른 글
6. 파일 속성 리스트와 중요 정보 탐지 (0) | 2023.11.28 |
---|---|
5. RSS, FTP, API를 이용한 서비스 자동화 (0) | 2023.11.27 |
4. 파일 입출력, 메일 자동화, 웹 서비스 크롤링 (0) | 2023.11.24 |
3. 인프라 활용을 위한 파이썬 (0) | 2023.11.23 |
2. Cloud DataCenter 개론 (0) | 2023.11.22 |