안녕하세요!
오늘은 초보를 위한 깃, 깃허브 사용법 및 명령어에 대해 정리해보고자 합니다
음... 학교에서는 실무에서 깃허브를 사용한다는 사실조차 듣지 못했는데 이것저것 찾아보다가 실무에서 깃, 깃허브를 거의 필수로 사용한다는 걸 알고 공부를 시작했습니다.
저도 전문대를 진학하게 되면서 문과에서 이과로 넘어간 케이스고 그냥 성적 맞춰서 온거라.. 이쪽에 관심도 없고 알바하느라 주5일 알바와 학교 병행만으로도 벅차서 그 외에 공부를 많이 하지 못한 케이스에요..
암튼 그러다가 1년전부터 급격하게 이쪽 분야에 관심이 많고 블로그나 뭔가 파일을 정리해서 보는 것 좋아하는 편이라서 깃허브라는 것이 있다는 것 듣고 왜 이제야 알았나 후회가 될 정도에요
물론 개발 분야를 가기 위한 필수이기도 하고요.
저도 극초보 이기도 하고 정리를 해두는 편이 기억 속에도 오래가는 편이라 이렇게 글로 남깁니다.
일단... 깃, 깃허브, 깃랩이라는 말에 대해 한 번이라도 들어보신 적이 있으실거에요.
이쪽 분야를 가기 위해서 이것저것 찾아보면 깃, 깃허브, 깃랩이 가장 먼저 들리는 단어죠.
그렇다면... 깃, 깃허브, 깃랩은 뭘까요?
다들 중요하다는데 왜 중요할까?
깃, 깃허브, 깃랩의 의미 간단 정리
당장 써야 하는데 개념이 뭐가 중요해? 라고 다들 생각하실거에요
저도 그랬으니까요..ㅎ
그래도 간단하게 뭐가 다른지는 알아야 하니까요
- 깃 : 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 관리 시스템
- 깃 허브 : 분산 버전 관리 툴인 깃 저장소 호스팅을 지원하는 웹 서비스
- 깃랩 : 깃랩 사가 개발한 깃 저장소 및 CI/CD, 이슈추적 , 보안성 테스트 등의 기능을 갖춘 웹 기반의 데브옵스 플랫폼
혹시 이런 생각 가져본 적 있지 않나요?
"회사에서는 여러 분야의 직원들이 나눠서 일을 할텐데 겹치지 않게 할 수 있지? 파일은 어떻게 주고 받을까?"
이를 위한 툴이 깃이 버전 관리를 위한 시스템 , 깃허브가 그 소스나 파일을 저장하는 저장소라고 생각하시면 편해요! 깃랩은 저도 아직 사용해보지 못해서 정확히 설명드릴 수는 없지만 깃허브와 마찬가지로 오픈소스 플랫폼이라고 생각하시면 돼요!
여기서 깃허브가 오픈소스의 천국이라고 볼 수 있죠! 오픈소스는 사람들이 공개한 자기들의 코드라고 보면 돼요
많은 데이터들이 늘어나고 있는 만큼 오픈소스 또한 많은데요. 이 오픈소스를 참고하거나 활용해서 자신만의 코드를 만드는 사람들이 많아요!
하지만 제일 많이 쓰는 곳은 깃, 깃허브고 가장 커서 이 둘 사용법만 잘 알고 있어도 돼요!
그렇다면... 깃, 깃허브는 어디에 사용할까요?
깃, 깃허브 사용처 및 유용한 이유
1. 내 컴퓨터에서 하던 작업을 다른 컴퓨터에서 하고 싶을 때
=> usb에 저장하여 옮기지 않아도 깃허브를 이용하면 다른 컴퓨터에서 바로 가능
2. 우리가 흔히 수정할 때,
요런식으로 저장하는데 이렇게 저장할 경우 5개의 파일을 관리해야 하지만, 깃허브를 이용한다면 한 개의 파일로 저 5개 수정본 관리 가능, 내가 지금 결과보고서 최종을 하고 있는데 결과보고서 수정 내용으로 돌아가는 것이 시움!
3. 컴퓨터가 초기화 되버렸다..?
그래도 걱정 노노..! 깃허브에 저장되어 있는 것을 사용하면 됨
4. 기업에서 사용
기업에 여러 사람이 작업이 겹치지 않게 도움을 줌, 그리고 파일을 주고 받을 필요가 없음(왜냐 깃허브에 저장되어있으니 그냥 다운받으면 됨)
5. 게임의 세이브 포인트와 같음
CMD?
저는 일단 cmd, 명령어를 이용한 방식 사용하려 합니다!
그전에 cmd(명령프롬프트) 명령어 대해 간단히 알아보려합니다. 그전에 개발을 진짜 처음하시는 분들이나 컴알못 이신분들은 cmd가 뭘까..? 하시는 분들 계실거에요
cmd는 윈도우 기준 단어로 컴퓨터 하단에 돋보기로 찾기로 cmd라고 치면 나와요! 요런 것입니다! 터미널이라고도 부르는데요 윈도우 명령어 처리기입니다!
1. git config --global
- git config --global user.name "GEUMJU LEE" : " " 안에는 자신의 이름을 넣어 유저 네임 세팅
- git config --global user.email prettylee620@gmail.com : 파란색 부분을 자신의 이메일을 넣어 유저 이메일 세팅
- git config --list : 제대로 되었는지 확인
2. CMD 기본 명령어
- cd 폴더명 : 폴더 안으로 이동
- cd .. : 폴더 밖으로 이동
- mkdir : 폴더 만들기
- dir(window)/ls(Mac) : 현재 폴더의 파일들 보기
- 실습
위의 두개의 사진은 같은 의미다. \을 기준으로 끊기는 파일명이라고 보면 된다.
즉, 오른쪽 명령 프롬프트 는 C안에 Users 폴더안에 geumju 폴더를 위치한다고 보면 된다.
각자 컴퓨터마다 폴더명은 다 다를 것이다. 비슷한 위치에 빈 공간에 오른쪽마우스 눌러서 새로만들기 => 폴더를 한 뒤 이름을 git으로 만들어주자
여기다가 이제 github(깃허브)에 올릴 파일들을 관리해줄 것이다!
그렇다면 명령 프롬프트(cmd)에서 git 폴더로 들어가고 싶으면 어떻게 해줘야 할까?
cd git을 쳐주는 것이다 그럼 위와 같이 \git이 추가된다. 반대로 geumju 파일로 돌아가고 싶다면.. 어떻게 해야할까?
cd ..을 해주면 된다!
mkdir을 이용하면 폴더를 굳이 새로만들기 해서 할 필요없다! mkdir 폴더명을 하면 만들어진다
그리고 하나의 팁으로 폴더 위에 저기 주소창에 cmd치면 cd로 왔다갔다 할 필요없다!
깃, 깃허브 사용법
1. Git 설치하기
2. GitHab 가입
다음 깃헙 가입 페이지로 이동
하여 기존 회원가입과 같이 회원가입 해주면 됩니다. 이는 다른 블로그에도 많으니 참고 바랍니다!
3. GitHab에 올리기(기본 기능)
1. 초기설정해주기( user.name과 user.email은 github를 만들 당시 이메일과 이름과 같아야 함)
: git config --list는 현재상태를 보여줌
2. github를 올리기 위한 명령어
- git init : .git 폴더 생성하여 git이 관리해주게 만듦(사진사를 고용) => 한 프로젝트 관리시 1회만 하면 됨
- git add . : 모든 파일 스테이징(추척을 시작한다의 의미, 사진을 찍기 위한 사람들을 모으는 것과 같음) => 사진을 찍을 때마다 해주어야 함
- git commit : 모인 코드들의 상태를 '찰칵'하고 찍음 ex. git commit -m "message" : " " 안에는 자기가 기억할 이름을 넣어주면 됨
- git log : 이 사진을 확인하는 앨범같은 명령어, 커밋 로그를 확인
- git status : 현재 git의 상태를 보여줌
- git reset --hard 커밋해쉬코드 : 커밋 번호에 해당하는 커밋으로 코드를 돌아감
3. 새 프로젝트 만들기
를 클릭후
에서 new 버튼을 클릭
저장소 이름의 경우 자신이 올릴 파일명을 지정해주면 됨
여기서 다른 사람들의 보지 않았으면 좋겠을 때, private로 클릭해두면 됨
4. 깃허브에 올리기
자기가 깃허브에 올릴 파일이 들어있는 곳에 cmd를 쳐서 cmd을 연다.
git init을 사용하여 사진사를 고용하고 git add . 를 통해서 사람을 모아준다는 느낌(파일 전부를 모아준다는 것)
git commit -m " " : ""안에는 위에 한글파일과 같이 결과보고서 최종본처럼 폴더 수정 세이브 포인트를 기억할 이름을 적어둔다.
위에 형광펜 쳐진 곳이 우리가 만들 프로젝트를 올릴 주소임 프로젝트를 이 주소와 연결해줘야 파일이 올라가게 된다
=> git remote add orign 형광펜주소
그리고 마지막 파일 올리기 위한 명령어 : git push -u origin main
이렇게 하면
깃허브 올린 프로젝트 안에 올라가게 된다. 위에 상단 오른쪽에 1 commit를 누르면
이런식으로 볼 수 있다. 만약 같은 프로젝트인데 몇개의 코드나 파일이 추가 된 것을 이 프로젝트에 git commit -m " " 명령어를 사용해서 세이브 포인트를 만들어 올려준다면 여러 개의 파일로 관리 할 필요 없이 깃허브 프로젝트 하나 안에 여러개의 commit으로 관리 할 수 있다.
5. 깃허브에 올린 것을 다운로드 혹은 다른 사람것을 다운로드 하는 법
에서 저 주소를 복사하고 저장하고 싶은 공간에 cmd 창을 열어서
git clone 주소
해주면 다운로드 가능
6. 프로젝트 내에서 일부의 파일은 안 올리고 싶다면?
프로젝트 내에 .gitignore 텍스트 파일 만들기
텍스트 파일 내부에 파일을 올리지 않을 것을 적음
* : 모든 파일 .exe : 확장자
=> 즉, .exe로 끝나는 모든 파일을 올리지마의 뜻
프로그래밍 언어마다 굳이 안올려도 되는 파일들이 있음 예를 들어 .exe 파일 같은..?
하지만 매번 .gitignore 하나하나 확장자 치기에는 귀찮아 ㅜㅜ
https://www.toptal.com/developers/gitignore
에 가서
프로그래밍 언어나 운영체제 환경을 치면
파일을 자동으로 만들어줌
7. 깃허브에 올라가진 프로젝트를 삭제하고 싶다면?
- 깃허브 프로젝트에 들어가고 setting을 들어감
- option 맨 밑에 보면
형광색부분을 넣어서 밑에 i understand --- 버튼 누르면 삭제됨
4. 깃허브에 유용한 사이트
깃허브 파일을 열 필요없이 바로 바로 보여줌
- 깃허브 프로 학생이면 학교 이메일 인증만으로 무료 사용 가능 : https://education.github.com/pack
- GitHub Isometric Contributions : https://chrome.google.com/webstore/detail/github-isometric-contribu/mjoedlfflcchnleknnceiplgaeoegien
잔디심기를 3D로 볼 수 있음
그리고 나머지는 너무 길어지는 것 같아 다음길에 마저 적으려합니다!
다음에는 소스트리 등에 대해 적어볼게요!
다음편!
'협업툴 > Git, Girhub' 카테고리의 다른 글
깃허브 사용법 02편 : 소스트리, 브랜치, 팀원들끼리 협업하는 방법 (0) | 2022.01.06 |
---|