우리가 프로젝트를 하다보면 수정본이 생기기 마련. 이 수정본들을 보통 버전이라고 부른다.
하지만 파일로 버전을 관리하면 파일이 많아지고 이름도 복잡해져서 문제가 발생하는데
이런 짤이 그 문제를 보여준다.
Git은 위와 같이 파일을 여러개로 만들지 않고 하나의 파일로 여러 버전을 관리하면 좋겠다!라고 생각해서 나온 프로그램이라고 볼 수 있다.
Git? GIthub?
GIt과 Github는 이름이 비슷하지만 서로 다른 곳에서 동작하는 버전관리 프로그램이다.
이 둘의 차이점을 알기 위해서는 서버와 클라이언트라는 뜻을 알면 도움이 되는데
클라이언트 : 원하는 데이터를 서버에 요청
서버 : 클라이언트의 요청에 응답하여 데이터를 보냄
간단히 설명하면 위와 같이 설명할 수 있다.
우리가 컴퓨터로 서버에 데이터를 요청하면 서버는 요청받은 데이터(사진, 텍스트)를 클라이언트한테 보내는 것임.
그럼 내 컴퓨터가 서버가 될 수 있나?
물론 가능. 컴퓨터의 주소를 알려주고 요청한 데이터에 응답한다면 우리의 컴퓨터도 서버가 될 수 있다.
local(로컬)과 remote(리모트)
쉽게 말하면 내가 있는 곳을 local이라고 하며 멀리 있는 다른 컴퓨터를 remote라고 부른다.
내가 멀리 있는 다른 컴퓨터를 사용하면 그 컴퓨터가 local이 되고 나보다 멀리 있는 컴퓨터가 remote가 되는 것.
이 로컬과 리모트로 깃과 깃헙의 차이가 나타나는데
Git은 로컬에서 동작하는 버전관리프로그램이고 Github는 리모트에서 동작하는 소스코드 버전 저장소라고 할 수 있다.
Mac에서 깃설치 및 사용
1. Git 설치
이미 컴퓨터에 깃이 설치되어 있을수도 있다.
git --version
git — version이라고 치면 만약 깃이 설치되어있으면 버전이 뜨고 설치가 되어있지 않으면 없다고 뜬다.
만약 없다면 구글에서 git을 검색해서 설치하면 된다.
2. 유저네임과 이메일 정하기
git config --global user.name “이메일or유저네임”
--global은 앞으로 이 컴퓨터에서 깃으로 관리하는 모든 프로젝트는 이 유저네임과 이메일로 등록된다는 의미이다.
git config --list
명령어를 치면 이메일과 유저네임을 확인할 수 있다.
3. 명령어로 폴더를 들어가는 방법
그렇다면 명령어를 통해서 내 컴퓨터에 있는 폴더와 파일에는 어떻게 접근할 수 있을까?
우리가 보는 운영체제에서는 파일을 클릭하면 그 안에 있는 폴더를 볼 수 있다.
터미널에서 명령어를 입력하여 똑같이 할 수 있는데 ls라는 명령어를 입력하면 파인더에 있는 폴더리스트를 볼 수 있다.
만약 여기서 Movies라는 폴더로 들어가고 싶으면
cd Movies
라고 명령어를 입력하면 Movies폴터를 마우스로 클릭해서 들어간 것처럼
현재의 위치가 Movies로 변하는 것을 볼 수 있다.
다시 폴더에서 나가고 싶으면
cd ..
이라고 명령어를 치면 다시 폴더에서 나오게 됩니다.
폴더를 생성하고 싶으면
mkdir
명령어를 입력하여 폴더를 생성할 수 도 있습니다.
4. 로컬에서 깃으로 버전관리하는 순서
git init
깃으로 관리하고 싶은 프로젝트 폴더로 이동해서 위의 명령어를 입력하면 git저장소가 된다.
git status
현재 상태를 알려주는 명령어이다. 커밋이 되어있거나 어떤 파일이 커밋될 준비가 되어있는지등을 볼 수 있다.
git add .
점은 모든이라는 의미이며 위의 명령어를 입력하면 해당 폴더안의 모든 파일들이 커밋될 준비가 된다.
git commit -m “버전의 이름"
적은 버전의 이름으로 커밋이 된다.
git log
를 통해 커밋이 잘 되었는지를 확인
파일을 수정하고 다시 새로운 버전으로 올리고 싶은 경우
git add.로 파일들을 모아서
git commit -m “버전이름2” 로 새로운 버전을 적어준다.
이전파일로 돌아가고 싶은 경우
git reset —hard
를 입력하면 이전파일로 돌아간다.
다시 버전2로 돌아가기 위해서는 깃허브와 연동을 해야한다.
5. Github와 연동하는 방법
깃허브에 가입을 합니다.
이때 위에서 설정한 유저네임과 이메일을 동일하게 설정해줘야 한다.
가입하고 왼쪽상단에 new버튼을 눌러서 새 리포지토리를 생성한다.
리포지토리는 온라인 저장 폴더라고 간단히 생각하면 된다.
리포지토리 이름은 본인이 원하는 이름을 지으면 된다.
아래의 선택은 공개 비공개여부를 선택하는 것이다. 크게 상관은 없다.
이제 깃과 깃헙을 연동시켜주면 된다. 커밋까지는 위에서 했기 때문에 아래의 연동을 해야하는데
우선 터미널로 깃 저장소로 설정한 폴더로 이동한다.
밑의 브랜치는 아직 배우지 않았기 때문에 넘어가도 괜찮다.
그 아래에
git remote add origin 복사한 주소
명령어를 입력하면 깃과 깃헙이 연동된다.
git push origin main
이제 파일을 깃허브로 push하면 된다. 말 그대로 밀어넣는다는 뜻이다.
이러면 깃헙에 폴더가 올라가 있는 것을 확인할 수 있다.
파일을 수정하고 다시 커밋을 하면 커밋이 쌓이게 되는데 오른쪽 상단에 버튼을 누르면 커밋내역을 확인할 수 있다.
6. 예전버전으로 돌아가고 싶거나 파일이 삭제된 경우?
커밋을 해놨는데 예전버전으로 돌아가고 싶거나 폴더자체가 삭제되어서 깃헙에 있는 내용을 불러와야하는 경우가 있을 수 있다.
우선 예전버전으로 돌아가는 방법으로는
git log
위의 명령어를 통해서 커밋히스토리를 불러와 체크섬을 알아내서 돌아가는 방법이 있다.
위에 commit 뒤에 적힌 노란글씨가 체크섬이다. 위의 코드를 복사해서 사용하면 원하는 버전으로 돌아갈 수 있다.
git reset —hard 커밋코드
두번째로 로컬에서 폴더가 삭제되어 깃헙에 있는 내용을 불러오고 싶은 경우가 있다.
이 경우에는 clon명령어를 사용해서 깃헙에 있는 내용을 복사해오면 된다.
git clone 깃헙주소
오늘은 간단하게 mac에서 깃과 깃헙을 사용하는 법을 공부해봤다.
구글에 검색하면 더 많은 기능들이 있으므로 원하는 기능을 검색해서 사용하면 될 듯 하다.
'Git' 카테고리의 다른 글
개인 프로젝트를 올리는 방법 2가지, gitignore? (0) | 2024.03.12 |
---|