본문 바로가기
etc/블록체인 뉴딜일자리사업

Git 명령어

by vellahw 2023. 5. 3.

 

 💭 교육 2일차

수업은 오전-이론 강의, 오후-프로그래밍, 실습으로 진행된다. 오늘 오전은 어제와 비슷한 내용의 블록체인을 이해하는 수업을 받았고 오후는 git 명령어를 마무리 했다. 블록체인과 암호화폐 관련한 용어들도 들었지만 우리가 용어들에 익숙해지도록 간단히 설명하는 정도로만 수업이 진행 되었다. 깃 명령어로는 pull, 브랜치 생성, merge 등을 배웠고 어제보다 실습을 와다다 진행하고 마지막엔 팀 협업 찍먹을 해보아서 시간 가는 줄 모르고 오후 수업이 마무리 되었다!

 

 

 

 


블록체인 이론

 

 

 

✔️ 블록체인 기술의 등장 배경

PC와 스마트폰을 통한 온라인 거래가 보편화되고 사물인터넷(IoT) 기반이 확충되어 온-오프라인 거래도 증가하였다. 이에 금융과 정보통신이 접목된 핀테크에 이어 위변조가 거의 불가능한 거래 시스템에 대한 사회적 요구 증대되었다.

 

디지털 가상화폐인 비트코인에 적용된 블록체인 기술을 금융 거래 뿐만 아니라 산업 전반에 적용하려는 새로운 비즈니스 모델이 확산되어 암호통화가 출현되었다.

 

*블록체인에서의 거래: 일반적인 돈이 오고가는 그 거래를 생각할 수 있지만 블록체인에서는 입력값과 출력값이 변하는 것을 말한다.

 

 

 

 

✔️ 블록체인의 핵심

  • 원본 증명
  • 신뢰 매개
  • 보상 체계 

어제 배운 것과 같이 블록체인은 암호화 증명으로 원본과 가짜를 구별한다. 따라서 개인정보와 저작권 보호, 위변조를 방지한다. 디지털 세상에서 초신뢰 거래 매개, 유통 수단으로서 암호화폐, 디지털 자산 기능을 하며 거래 단위룰 세분화 한다. 

디지털 통화로서 탈중앙 발행과 유통을 관리하고 생성과 거래에 참여자 인센티브를 제공한다.

 

 

 

블록체인 및 암호화폐의 원리

비트코인은 안전한 해시 알고리즘(SHA) 중의 하나인 SHA256 암호방식으로 다수의 참여자(노드)가 작업증명(Proof of Work)을 통해 블록체인을 만든 것이다.

 

작업증명(Proof of Work) ?

알고리즘에서 목표값보다 작은 해시값을 구하는 계산법을 말한다. (용어 정리는 따로 포스팅 하는 걸로!)

 

 

 

 

 

 


Git

 

 

✔️ README.md 쉽게 작성하기

md 확장자: Markdown 마크다운

typora라는 마크다운 에디터를 이용해도 되지만 노션을 통해서도 쉽게 작성 가능하다.

 

 

내용을 작성하고 사진 속 우측 상단 점 세 개 아이콘을 누른다.

 

 

 

Export 클릭 후 Markdown & CSV 파일로 Export 해준다.

zip 파일로 저장 되는데 압축을 풀어 IDE를 이용해 파일을 연다. 그럼 아래와 같이 마크다운 언어로 변환된 것을 확인할 수 있다.

 

 

 

신기하군..

IDE에서 README.md로 파일을 생성하고 내보내기 한 파일의 내용을 복사-붙여준다.

이제 깃에 commit-push 해주면 끝!

 

[ 업로드 명령어 ]

git add .

git commit -m "커밋메세지 입력"

git push -u origin main

 

리드미 파일 업로드 완료 🎉

 

👀 이미지는 노션에서 마크다운으로 내려받기 해주어도 엑박이 뜨기 때문에 깃허브에 올린 리드미 파일을 수정하여 이미지만 새로 등록 해주면 엑박 없이 업로드할 수 있다.

 

 

 

 

✔️ .gitignore 

깃에 올리지 않을 것들, 버전관리 할 필요 없는 사진, 라이브러리 같은 것들을 등록 해주면 깃에 업로드 하지 않을 수 있다.

 

개발 시 필요한 프라이빗한 정보를 기입해놓은 파일(.env)과 깃에 올리지 않을 폴더(trash_folder)가 있다고 가정한다면

.gitignore 파일 생성 후 폴더명은 앞에 슬래쉬(/)를 붙여 등록하고 파일은 파일명으로 등록한다.

커밋 후 레포지토리를 확인하면 업로드 되지 않은 것을 확인할 수 있다.

 

 

 

 

✔️ git pull

로컬저장소와 원격저장소의 내용이 다를 때 두 저장소를 동기화 시켜줘야한다. 동기화 하지 않은채 커밋하게 되면 위와 같은 오류가 발생하는데 이럴 때 Pull(당기기~~)을 해주어야한다.

 

[ pull 하고 push 하기 명령어 ]

git pull origin main(브랜치명)

git add .

git commit -m "커밋메세지"

git push -u origin main(브랜치명)

 

 

 

 

✔️ clone

만약 A 컴퓨터에서 작업을 하고 깃에 업로드한 뒤 B 노트북에서 작업을 이어가고 싶을 때 clone 기능을 사용하면 된다.

 

 

 해당 레포지토리 화면에서 초록색 Code 버튼을 클릭 후 HTTPS 주소를 복사해준다.

 

 

[ clone 명령어 ]

git clone (레포 주소) (폴더 생성을 원한다면 폴더명)


git pull origin main 

*클론 후 pull 해주어야 함

 

 

 

 

✔️ branch 브랜치

[ 브랜치 생성 명령어 ]
git branch 브랜치명

[ 브랜치 이동 명령어 ]
git checkout 브랜치명

특정 브랜치에서 작업 하기 위해 브랜치를 생성했다면 checkout 명령어로 해당 브랜치로 이동 후 작업 해야한다.

 

 

 

 

✔️ 브랜치 병합 Merge

큰 흐름: main 브랜치 확인 → merge 

 

git checkout main

git merge (merge 할 브랜치명)

 

 

 

 

✔️ 협업하기

1. 생성된 레포지토리(원격 저장소)를 clone하여 내 컴퓨터(로컬 저장소)에 저장한다.

git clone 레포명

 

2. pull 해준다.

 

git pull origin main

 

3. 내가 작업할 branch를 생성, 이동

git branch 브랜치명

git checkout 생성한 브랜치명

 

 

4. 작업 후 add~push

git add .(혹은 파일명)

git commit -m "커밋 메세지"

git push -u origin 내가 생성한 브랜치명

 

5. merge 하기

merge 할 땐 꼭 main 브랜치에 있어야함!

git checkout main

git merge 병합할 브랜치명

 

 

 

 

 

 

마치며 💭

git을 써보긴 했지만 IDE에 git을 연동해 써봤지 명령어를 제대로 사용해본건 처음이었다. 마지막에 팀 리더가 레포를 생성하고 팀원들은 clone 해서 각자 브랜치를 생성하고 마지막에 merge까지 해보니 신기하고 프로젝트가 기대되었다. 앞으로 작업하는 건 다 명령어 써서 커밋 해봐야지

README 파일 쉽게 변환하는 건 정말.. ㅎㅎ 신세계.. 다른 방법이 있을 것 같다 생각하면서도 꾸역꾸역 깃으로 리드미 작성했었는데 노션으로 쉽게 작성 할 수 있는 건 몰랐다. 잠시 강사님의 노션 찬양(?) 타임이 있었는데 공감 ㅇㅇ..

블록체인 관련 용어가 아직까지 너무 낯설다 "리얼 이과" 너낌.. 그치만 개발을 어서 해보고싶다!!

 

 


 

댓글