베하~~
수 지 타 산 입니다
오랜만이네요 여러부운
새해를 맞이하여 잠시 휴식을 취하고 돌아왔어요
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/027.gif)
오늘은 AWS와 관련은 없지만 IT 엔지니어라면
누구나 한번 쯤은 들어봤을 깃허브에 대해 공부할게요
그럼 이론부터 시작할까요???
팔로팔로팔로미
1) 코드나 파일에 대해서는 버전관리가 필요합니다. 버전 별로 관리하면 필요 시, 이전 버전을 다시 가져오게 될 수도 있고, 누군가 잘못된 코드를 섞으면 복원해야 될 때도 있기 때문입니다. 그래서 언제든 특정 시점의 버전을 다시 이용하는데 문제가 없게끔 변경된 내역을 관리해줘야 하는 것입니다. 혹은 협업을 할 때 버전에 대해서 동료와 공유가 가능하게 됩니다.
-> 이 때 필요한 것이 버전관리를 위한 툴이 " Git " 입니다.
2) 어느 정도 규모가 있는 프로젝트를 진행할 때는 혼자가 아닌 여러 명의 개발자가 협업을 하게 됩니다. 하나의 공유 가능한 공간 안에서 여러 개발자들이 각각 맡은 파트를 가져가서 작업하고, 작업사항을 업데이트하고, 서로의 작업 로그를 살펴볼 수 있어야 하며, 이에 더해 버전별 백업도 실시간으로 진행해야 합니다. 하지만 여러 사람이 모듈별로 나누어 실시간으로 작업하는 소프트웨어 개발의 특성상 로컬 저장소라던지 메일이나 클라우드를 통해 관리하려면 어렵고 불편함이 따릅니다.
-> 따라서 작업 중 실시간으로 작업내역을 공유할 수 있는 원격저장소가 필요합니다. 이 때 필요한 것이 협업을 위한 저장소이며 이가 " Github " 입니다.
즉, 정리를 하자면 버전관리를 위한 툴이 Git이며 이러한 버전을 타인과 공유하는 저장소가 Github !!
여기까지 깃과 깃허브에 대해서 왜 이를 사용해야 하는지에 대해서 함께 알아보았습니다
그럼 이제는 깃허브에 대해 자세히 알아볼게요.
>> 깃허브(Git hub) 용어
- 커밋: 파일을 추가하거나 변경 내용을 로컬 저장소에 저장하는 작업
- 푸시: 파일을 추가하거나 변경 내용을 원격 저장소에 업로드 하는 작업
- 로컬저장소: 내피씨의 저장소
- 원격저장소: 깃허브 서버의 저장소
저장소의 개념은 로컬저장소와 원격 저장소로 구분합니다. 의미 그대로 생각하면 됩니다.
- 브랜치 : 현재 개발하는 버전의 관리를 위한 기능
>> 사용 순서
1) 로컬에 저장소를 생성한다 (init)
2) 깃허브 서버와 연결한다 (remote add)
3) 서버에서 전체 내용을 가져온다 (clone)
4) 작업이 진행된 이후에는 일부 변경된 내용만 가져온다 (fetch)
5) 필요에 따라 다른 서버의 내용을 가져올 수도 있다 (fork)
6) 추가작업은 브랜치(branch)를 따서 진행(checkout)하며 파일의 변화는 스냅샷(snapshot)으로 저장한다.
7) 새롭게 추가한 작업이 완성되면 마스터 브랜치와 병합 (merge) 한다
8) 개발이 완료되면 완료된 파일들을 스테이징 영역에 추가 (add) 한다
9) 내용이 안전하게 추가되었다면 로컬에 반영 (Commit) 한다.
>> 자주 사용하는 명령어
[git status] git status
- 저장소의 상태를 확인하기 위해 사용하는 명령어입니다.
현재 브랜치의 이름과 추가 · 변경된 파일 및 디렉토리 목록을 표시합니다.
[git add] git add
- 파일이나 디렉토리를 인덱스에 추가하는 데 사용하는 명령입니다.
추가 할 때 [file_pattern]에는 파일 및 디렉토리 이름을 직접하고있는 외에 “*. txt”처럼 와일드 카드로 여러 대상을 지정할 수도 있습니다.
[git commit] git commit
- 인덱스에 추가 된 파일이나 폴더의 내용을 저장소에 쓸 때 사용하는 명령어입니다. 옵션을 지정하지 않고이 명령을 실행하면 커밋 메시지를 작성하는 편집기를 시작합니다. 편집기는 각각 다르기 때문에 쉽게 메시지를 지정하려면 -m옵션을 붙인 후 큰 따옴표 안에있는 메시지를 지정합니다. 또한 -a옵션을 지정하면 변경된 파일을 검색하고 인덱스에 추가하는 작업도 동시에 실시합니다.
[git branch]
브랜치에 대해 다양한 작업을 수행하기 위해 사용하는 명령어입니다. 아래와 같이 사용합니다.
- git branch [branch-name] : 브랜치 만들기
- git branch : 브랜치 목록보기
- git branch -d [branch-name] : 지정한 브랜치를 삭제
[git checkout] git checkout
로컬 저장소의 브랜치를 전환 할 때 사용하는 명령어입니다.
[git log] git log -n
로컬 저장소의 커밋 히스토리를 탐색하는 데 사용하는 명령입니다.
-n옵션 내역보기 수를 지정할 수 있습니다.
[git grep] git grep “검색 단어”
저장소의 파일 내용에서 검색하고자 할 때 사용하는 명령어입니다.
특정 단어가 포함 된 파일을 검색하고 해당 파일의 어디에 단어가 포함되어 있는지를 확인할 수 있습니다.
[git clone] git clone [url]
기존 원격 저장소를 로컬에 다운로드하기 위하여 사용하는 명령어입니다.
예를 들어, GitHub에 공개되는 저장소를 자신의 컴퓨터에 다운로드할 때 사용합니다.
[git remote]
원격 저장소를 조작하는 데 사용하는 명령으로 아래와 같이 사용합니다.
- git remote : 원격 저장소의 이름 목록을 표시
- git remote -v : 원격 저장소에 대한 자세한 목록보기
- git remote add [name] [url] : 원격 저장소를 추가
- git remote rm [name] : 원격 저장소를 제거
[git reset] git reset -soft HEAD ^
로컬 저장소의 커밋을 취소하기 위하여 사용하는 명령어입니다.
잘못 커밋하거나 수정 누락이있을 때 자주 사용합니다.
여기까지 깃허브에 대해 공부해봤습니다
어려운 부분은 없으니 추가적인 내용이 필요하시면
구글링을 통해서 보충하시면 될 것 같아요
예를 들어, 언제 왜 commit을 쓰는지에 초점을 두고
실습해보시면 되겠습니다
그럼 다음 주에도 만나요
제에에에에에바아아아알
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/032.gif)
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
[AWS]도커란? (0) | 2023.01.28 |
---|---|
[AWS] EKS (0) | 2023.01.20 |
[AWS] Lambda - 실습 (1) | 2023.01.05 |
[AWS]GuardDuty (0) | 2023.01.04 |
세션 / 쿠키 (0) | 2022.12.29 |
댓글