Skip to content

Latest commit

 

History

History
150 lines (121 loc) · 10.6 KB

File metadata and controls

150 lines (121 loc) · 10.6 KB

githubStudy

개발자를 넘어서 엔지니어가 되기 위해선, 기트허브를 사용할 줄 알고 잘 사용해야 한다고 한다. 하지만, 대부분의 기트허브 책들을 보면, 당최 이해가 쉽지 않게 서술해놓곤 한다. 주로 정의 위주의 서술... 그러고선, 쉽다고 하면서 잘 활용하고 사용할 것을 당부한다. 하지만, 대부분의 기트허브 초보자들은 사용하다가 포기하고 만다. 단언컨대, 기트허브는 어렵다. 이거 어려운거다. 정말이다. 어렵다.

그래서 나는 내가 배운 기트허브에 대한 내용들을 공부하면서 여기에 잘 정리해 놓고자 하며, 배우고 깨달은 점도 적어놓고자 한다.

지극히 개인적인 기트허브의 유의점이므로, 인정할 건 인정하자.

  1. 기트허브, 기트, 깃이라는 용어를 100 번 외쳐보면서, 이 용어에 익숙해져라. => 깃깃깃깃깃깃기트기트기트기트기트깃깃깃깃깃깃깃깃깃깃깃깃깃ㅋㅋㅋㅋ => 기트허브기트허브기트허브기트허브기트허브기트허브기트허브기트허브

  2. 기트허브는 한국인?에게 익숙하지 않은 GUI 이다. 기트허브만의 GUI 에 익숙해져라. => 그냥 살펴봐라, 그림 보듯이 살펴봐라. 버튼도 한번씩 눌러보면서 뒤로갖다가 앞으로 갖다가 => 디자인은 구리다. 개인적으로...

  3. 기트허브를 소개해주는 대부분의 예제는 초보자들에게 전혀 공감이 없다. => 예제에 속지 마라. 단언컨대 기트허브 초보자가 바로 소스코드를 깃 할일은 없으리라. => 그러니 낚이지 말고, 겁내 소소한 것부터 해보자.

  4. Repository, README.md 이 두개는 처음부터 익숙해지자. => 레포지토리, Repository, Repository 는 그냥 폴더라고 생각하자. 그냥 저장소다. 뭔가를 저장해두는 곳. => 그냥 간지있게 쓰고 싶었나 보다. 레포지토리ㅋㅋㅋ 레포레포 => READNE.md 는 확장자명도 .md 처럼 이상한 거다. 이상한 파일이니까, 처음에 가장 먼저 읽어봐라ㅋㅋㅋ => 뭔가를 읽어야할 내용을 적어두는 곳이다.

  5. 처음부터 여러가지 세팅하지 마라. => 이건 게임이 아니라서, 여러가지 세팅을 다 하면서 힘겹게 할 필요가 없다. => 할 수 있는 만큼, 이해가 되는 부분만큼만 세팅내용을 눌러봐라.

  6. 레포지토리 만들기 및 삭제하기만 한 20 번 해보자. => 레포지토리를 만들고 삭제하고, 만들고 삭제하면서 이거 자체에 익숙해져야 한다. => 기트허브는 닳지 않기 때문에 이러한 행위를 하면서 나만의 자극적인 놀이터가 되도록 만들어보자. => 연습용 레포지토리 이름. twice, girlsday, naruto, dragonball, python, joker, deadpool, ironman, sana 등 => 만들고 나면, 빈깡통의 레포지토리가 엄청 많을 것이다. 다 지워봐라. 속 시원하게 => 지우는 방법은 해당 레포지토리로 가서, 세팅에서, 맨 아래, Danger Zone 에서 Delete this repository 를 누른다.

  7. 레포지토리를 만들 때, 나오는 public 과 private 의 차이를 알아라. => public 은 누구나 이 레포지토리에 접근해서 내용을 수정안을 올릴 수 있다. => private 은 나만 혹은 여자친구와 놀 수 있는 놀이터이다.

  8. 기트허브에 익숙해지기 전까지, 원격저장소/로컬저장소 연결하는 이런 것좀 하지마라. => 익숙해진다음에, 레포지토리나 잘 만들 수 있고, 대체적인 정보를 안 다음에 만들어라. => 제발 어려운 것부터 하지 마라. 그리고 그런 것 부터 소개좀 하지마라. 초보자들에게.

  9. 첫화면에서 기트허브 GUI 를 조금 따져서 살펴보기. => 맨 위에 검은줄이 있다. 왼쪽에 있는 것들은 아직 볼 필요없고, 오른쪽에 보면 '종', '+', '프로필이미지' 이렇게 세개가 있다. => 종은 무시하고, '+' 을 눌러보면, 여섯가지 내용이 뜬다. 다 무시하고, New Repository 만 쓸 줄아면 된다. 지금은.ㅋ => 아까 그걸로 여러개의 레포지토리를 만들어봤으면 된다. 수십개 만들지 않았던가?ㅋㅋㅋ 그럼됬다. => '프로필이미지' 누르면  기트허브 첫화면이 나온다. 음. 내 전체적인 내용을 볼 수 있다. 익숙해지자. => 스타, 지스트, 헬프는 무시하고, 세팅을 가보면, 그냥 프로필 관리페이지이다. 그냥 그런 것이다. 사람 사는 게 그런 것처럼. => 싸인 아웃은 로그아웃이지 모... => 두번째 줄에는 왼쪽에 프사가 있고, 오른쪽 상단에 오버뷰, 레포지토리, 스타즈, 팔로워즈, 팔로잉이 있다. 그냥 보면 컨텍스트는 이해된다. => 그 중 우리는 레포지토리를 주로 쓴다. 그걸 눌러봐라. 그러면 내 레포지토리 목록들이 나온다. 눌러봐라. => 그러면, 자신의 이름/레포지토리명이 나온다! 꺄 중요한건 다음줄 => 코드, 이슈, 풀 리퀘스트, 프로젝트, 위키, 인사이트, 세팅 이렇게 있다. => 세팅은 아까 봤지? 레포지토리 삭제할 때 썼었다. 다른 내용들은 모르쇠로 일관하자. => 그 다음 줄에는 레포지토리 설명이 써있다. 나는 냉무 => 그 다음 줄에는 커밋트, 브랜치, 릴리즈, 컨트리뷰터 이렇게 있다. => 지금은 커밋트에 집중하자. 눌러보면, 지금까지 나의 수정 이력들이 나와있다!!!! => 이것만 알아도 기트허브를 쓸 의미가 있는 것이다.!!!!!! => 필쏘굿!! 파일명 또는 숫자로 된 부분을 누르면 내가 수정한 내역들이 자세히 뜬다. => <> 이표시를 누르면 그냥 플레인 텍스트로 내용이 뜬다. => 이게 정말 편한거다. 빨강색에 -는 사라진거고, 초록색에 +는 추가된거다. 이건 직관적이다. => 기트허브의 GUI 는 버튼이 졸라 많다. 이상한 글자도 많다. 그러니 익숙해져라.

  10. .gitignore 파일이란 => 해당 레포지토리에 파일을 업데이트 할 때, 무시할 파일에 대한 정보를 쓸 수 있는 것.

  11. git 이라는 프로그램을 설치해보자. => git 다운로드 사이트 가서 그냥 자신의 버전에 맞는 프로그램을 설치해라. => git 은 프로그램 이름이자, 명령어이자, 추상적인 의미의 버전관리 의미 등등, 그냥 그런 동일한 느낌의 이름을 주는 것이다. => 계속 말하지만, 깃이라는 용어 자체가 친숙해져야 한다. 깃깃깃깃깃깃깃깃깃깃

  12. git 으로 기트허브의 레포지토리를 다운받아보자. => 설치과정은 생략한다. => 로컬에서 중요한 것은 하나의 폴더를 준비하는 것이다. => 이 폴더의 역할은 기트허브에 있는 내용들을 이 폴더로 가져오거나, 이 폴더에 작업한 내용을 기트허브로 보내는 것이다. => 마치 작업 인터페이스라고 보면 이해하기 쉽다. => 가장 단순하고도 강력한 사용방식을 이제부터 시작해보자. => 아까 말했듯이, 준비한 폴더의 위치를 잘 기억해서, git 프로그램에서 해당 위치로 이동한다. => 그 폴더 안에서 git init 을 한다. => 그러면 그 폴더는 이제부터 작업환경이 된다. => 내가 앞으로 여기서 작업해서 기트허브로 올리면 된다. 그러면 기트허브에 내가 수정한 내용들이 반영된다. => 여기서 중요한 점은 하나씩 하나씩 해야한다. 브랜치 이딴거 현재는 집어치우자. 지금은 이렇게 올리고 받는 것만 => 잘 하면 그뤠잇이다. => 그렇게 git init 을 해 놓으면, 해당 파일에 숨겨진 폴더가 생긴다.ㅋㅋ 궁금하면 봐봐라. => 그다음 기트허브에서 만든 레포지토리의 내용들을 로컬에 다운받아 보자. => 왜냐하면, 기트허브에서 코딩을 할 수 없지 않는가?ㅋㅋㅋㅋ => 그러니, 기트허브에서 만든 것을 내려받아서 수정하고, 다시 올리는 작업만 먼저 해볼꺼다. => 더 복잡한 것은 추후에, 우선은 이것만 익숙해지자. => $ git clone https://github.com/rihun-kim/Study 이런식으로 쓰면 => 내가 git init 해논 곳으로 기트허브 내용들이 저장된다!!! 꺄옷!!ㅋㅋㅋ

  13. 기본적으로 이해해야할 커밋과정 => 개념적으로 우리의 로컬저장소(git init 한곳) 은 working directory, index, HEAD 이렇게 세 구역으로 나눠져있다. => working directory 는 실제파일들이 있어서 작업하는 곳이다. 코딩하는 곳이다. => index 는 준비영역으로 무대 올라가기 바로 전 단계에서 대기타는 곳으로 생각하면 편하다. => 솔직히 현실에서도 무대와 작업하는 곳이 딱 붙어있어서, 작업 후 바로 무대로가면 대략난감하지 않은가? => 그 다음 HEAD 는 실제로 무대로 올라가는 과정이다. 무대에 즐거운 춤을 춰보자. => [working directory] -add-> [index] -commit-> [HEAD] => 각각의 명령어를 통해, 각 단계로 움직인다.ㅋㅋ

  14. add 과정 => add 는 작업영역에서 index 영역으로 옮기는 과정이다. => add 하면 작업한 데까지 index 영역으로 살포시 들어가게 된다. => git add 파일명 이런식으로 해라. 다 할 거면, git add * 이렇게, 이 경우는 주의해서 쓰고

  15. commit 과정 => commit 은 index 영역에서 HEAD 영역으로 옮기는 과정이다. => git commit -m "쓸 메시지" 이렇게해서 커밋하면된다,

  16. 원격저장소인 기트허브로 가즈아 => 지금까지 HEAD 라는 로컬저장소에 저장이 되어 있다. => 이제 이렇게 즐겁게 춘 무대 장면들을 방송으로 보내서 모두가 보게 해야되지 않을까? => 더 넓은 바다인 기트허브로 보내버리자. => git push origin master 이렇게 보내버리자 => 단 git remote add origin 원격서버주소 먼저 원격서버주소를 설정한다음에 해라 => 이 정도 까지만 해서 익숙해지자. ㅇㅋ?

  17. 그래서 지금까지 필요한 훈련과정은 이거다. => 기트허브에서 레포지토리 만들기 => 깃프로그램에서 git clone 으로 해당 레포지토리 복제하기 => 로컬에서 파일 수정하기 => git add 을 통해 index 영역으로 옮기기 => git commit 을 통해 HEAD 영역으로 옮기기 => git push origin master 로 기트허브로 옮기기 => 원격저장소 위치 수정은 git remote add origin https://github.com/rihun-kim/Study 이런식으로 ㅇㅋ?

  18. 기트 add 한 목록 살펴보는 명령어 => git status

  19. 원격저장소 목록 보는 법 => git remote show origin

  20. 원격저장소에 있는 내용들을 로컬저장소로 옮겨서 갱신시키기 => git pull