협업을 위한 GitHub 공부하기(1)

이건준·2022년 4월 10일
0

문제제기

-> 이번에 첫 토이프로젝트에 참여하게되었고 팀원분들과 협엽을 올바르게 진행하고자 많이 부족한 GitHub에 대한 공부를 해보고 나만을 위한 정리를 위한 글


1. 버전관리란 ??

-> 내가 원하는 시점으로 이동할 수 있게 해주는 것
-> 그리고 이를 도와주는것이 버전 관리 시스템인 것이다 -> Git
-> 이 Git으로 관리하는 프로젝트를 올려둘 수 있는 사이트가 GitHub인 것이다

2. Window에선 Git Bash를 따로 깔아서 Git 명령어를 사용, Mac에선 terminal에서 Git 명령어를 사용해도 무관

3. git init

원하는 폴더에 cd~명령어를 통해 들어가 git init을 치면 해당 폴더는 로컬저장소가 되고 이 폴더안에서 버전관리를 할 수 있다

4. Mac에서 .txt파일 만들기

Window에서는 메모장이라는것이 존재하여 README.txt파일을 만들기 수월하였다

하지만 Mac에서는 텍스트편집기를 이용하여 만들면 .txt파일대신 다른 확장자가 나오게 된다

-> 이를 해결하기위해 텍스트편집기의 환경설정에서 리치텍스트라 되있는 부분을 일반 텍스트로 바꾸어주면 해결!!

5. git 사용을 위한 내 정보등록하기


->각각 git config --global user.email ""과 git config --global user.name ""을 이용하여 내 GitHub 이메일과 이름을 작성해준다

6. 커밋(Commit)이란 ??

Git에서 생성된 각 버전을 커밋이라고 한다 !!(버전관리를 위해 여러 버전을 올릴텐데 우리는 그 중 하나의 버전 즉 커밋을 만들어보려한다)

7. git add *

이 커밋에다가 파일을 추가하기위해선 위 명령어를 사용한다
-> 우린 앞서 만든 README.txt파일을 추가할것이기때문에 git add README.txt를 작성하였다

8. git commit -m ""

이렇게 생성된 커밋에는 위 명령어를 통해 상세설명을 적을 수 있다

9. git log


-> git log명령어를 사용하면 앞서 우리가 git add, git commit을 사용하여 만들었던 커밋들을 확인할 수 있다

10. 최신커밋이 아닌 이전 커밋으로 되돌리기

앞서 git log를 치게되면은 commit다음에 각각의 아이디가 나오게된다, 우린 이 아이디의 전체혹은 앞자리 7자리만을 기억한 후에

-> git checkout [원하는 커밋에 대한 아이디]를 적으면 이전 커밋으로 돌아가게되는것을 확인해볼 수 있다 !!!

*** git checkout - 를 하여도 왔다갔다 가능한거같은데 이것은 다시 확인해봐야할듯 !!

11. GitHub에 원격저장소만들기

->원격저장소를 Repository라고 하는데 GitHub에 원하는 이름의 Repository를 생성

->그 다음 git remote add origin [원하는 Repository의 주소]

-> git push origin master를 해주면 해당 Repository에 로컬저장소에서 커밋했던 텍스트파일이 올라오는것을 확인할 수 있다

*** Git과 GitHub는 서로 다른 단체라 GitHub에서 New를 이용해 Repository를 생성하면 기본 브랜치가 main인데 우리가 앞서 해온 git init을 통해 git을 생성하면 기본 브랜치를 master로 생성하게된다, 이를 명심하자 !

12. GitHub 원격저장소의 커밋을 로컬저장소에 내려받기

-> 위와 같은 것을 클론이라고한다
-> 클론을 하게되면 최신버전뿐만 아니라 이전버전, 원격저장소 주소등이 로컬저장소에 저장하게된다

-> git clone [원격저장소주소] .

***여기서 반드시 원격저장소주소다음 띄고 .을 붙이는것을 잊지말자, 이를 잊게되면은 원격저장소의 저장된것을 받아올때 최상위 폴더까지 같이 받아와 폴더구조가 더 복잡해진다

-> 헌데 위 방법대로 clone을 해서 git add, git commit, git push를 하게되면은 원격저장소에 바뀐 커밋이 올라가지만 처음 원격저장소에 올렸던 로컬저장소에는 변화하는것이 없습니다

13. git pull

-> 위에서 언급한대로 처음 로컬저장소에서는 변경사항이 반영되지않았는데 이때 git pull origin master를 하게되면 이때 pull은 원격저장소에 새로운 커밋이 있다면 그걸 내 로컬저장송로 받아와주세요라는 의미이다

***CLI는 커맨드라인인터페이스로 맥에서 terminal과 같고 GUI는 그래픽유저인터페이스로 좀 더 시각적으로 편리하게 클릭하여 사용할 수 있는 방식

0개의 댓글