기타

깃허브 등록

유승혁 2022. 1. 3. 23:48

유튜브 메모밍님 덕분에 배운 지식을 정리한 거야요.

 

0. 리포지토리란?

 지금까지의 느낌상 디렉터리인데 리눅스 처럼 다중 이용 디렉터리이고 private하면 권한이 770이고 public하면 775인거 같다

 

1. 리포지토리 등록

 로컬 폴더(A) 골라서 우클릭 한다음에 Git Bash Here 누르면 커맨드 창이 뜬당.

 그 다음으로는 커맨드 창에 git init 치고 git remote add origin (깃 리포지토리 주소) 넣으면 된다. 유튭에서 git init치면 폴더 안에 여러 디렉토리랑 파일 생긴다고 했는데 난 안보여서 당황했다.. 그래서 cmd 창에서 ls -a로 했더니 꼭 필요한 .git/ 디렉토리가 있어서 다행이 계속 진행 할 수 있었다.

 

2. Push 전에 Pull이 있다.

 위 구절의 의미를 깊게는 모르겠으나 깃에 파일을 등록하기 전에 어떤 정보들을 pull해야 한다? 뭐 이런 의미정도 같다. 

 간단한 명령어 몇 개만 배웠다. 일단 A에 내가 만들고 싶은 파일(test.txt)을 등록한다.

 아까 그 cmd 창을 띄운다. 처음에는 깃 레포지토리에 아무것도 등록 안해서 기냥 pull 안하고 push만 하면 된다고 한다. (뭔가 있었으면 pull 하겠네~)

 Push 순서는 git status를 한다. 얘는 A랑 깃 레포지토리 간에 연결 상태 체크하는 명령어 이다. 그러면 이제 깃과 연결 안된 파일들(test.txt) 을 나타내 준다. 이 녀석들을 트래킹 (연결) 해주고 싶다면 git add .을 하면 된다. 한번에 다 해준다.

근데 여기서 git add . 할때 CRLF 관련 에러가 나오기도 한다. 1학년때 본 단어인데 오랜만에 보아서 너무 반가웠지만 에러를 보니 당황했다 ㅋㅋ. 윈도우면 git config --global core.autocrlf true 이 명령어 치면 되고 리눅스나 맥이면 true 대신 input으로 바꾸어 주면 완료!

 git commit -m "comment msg" 이 명령어를 치면 트래킹된 파일들을 깃 리포지토리에 등록할 때 comment msg가 등록 된다. 그리고 그 파일들의 정보들이 나온다. 근데 이제 만약에

                                     git config --global user.email "you@example.com"

                                     git config --global user.name "Your Name" to set your account's default identity.

위 같은 오류 메세지 뜨면 

$ git config --global user.name "user name"

$ git config --global user.email "user e-mail" 

을 적어주면 된다. 이때 user name이랑 user-email 깃 내 정보랑 맞게 해주어야 한다. 맨 첨에 암거나 했다가 안되어서 당황했었다.

 이제 commit까지 했으면 git에다가 push를 해야 한다. 간단하게 git push origin master를 이용. 이러면 아이디 비번 입력 치는 브라우저가 열리는데 이것만 올바르게 입력하면 성공적으로 push가 된다~ :)

 참고로 Pull 명령어는 git pull origin master 이다. 아마 더 깊게 들가면 pull도 하고 내가 원하는 파일들만 등록하기도 하고(. 대신 파일명 쓰면 된다.) 다른 파일들은 다른 commit 붙여서 하고 뭐 암튼 여러 방법이 궁금하지만 천천히 알아보자.

 

3. 다른 사람 git 가져오기

   여기서 pull이 쓰인다. 폴더 만들고 우클릭 해서 똑같이 Git Bash Here한 다음에 cmd 창에 git init과 git remote add origin (가져올 깃 리포지터리 주소) 를 통해 가져온다. 이후 pull을 쓰는데 git pull origin master를 하면 내가 만든 폴더 안에 그 사람의 깃 리포지터리에 있던 파일들이 옮겨진다.

 

4. 파일 내용을 수정하고 git에 반영하기

 파일을 수정 후에 수정 내용을 git에 올리고 싶다면 git status -> git add . -> git commit -m "second msg" -> git push origin master 이 과정을 거치면 수정이 되어있는데 내가 깜짝 놀란 건 깃 레포지토리에서 파일 명이 아니라 commit msg를 클릭하면 어떤 부분이 수정되었는지 비교하기 편하게 되어 있고, 파일 명 클릭하고 history 누르면 변경 전 파일내용과 수정된 부분을 자세하게 비교할 수 있게 해준다. 그리고 댓글 창도 있었다. (신기신기)

 게다가 굳이 다운받고 올리는 방식 말고도 웹 상에서도 내용을 수정 가능! 물론 commit msg를 넣어야 한다. commit이 되게 중요한거 같다. 근데 이러한 경우는 당연히 웹 상에서만 변경 되었으므로 local 폴더안에 있는 파일들은 변경 되지 않았다. 이런 상황 말고도 깃 상에서 더 최신 버전을 들고 있는 경우가 허다하다고 한다. 이럴 때는 Pull을 하면 된당~

만약에 pull을 안하게 되면 그 최신버전을 덮어 씌어버리게 되어서 웹 상에 있던 최신 버전 파일이 없던 일이 되어 버릴수가 있으니 진짜진짜 조심해야 한다. (꼭 pull을 해야 하느니라)

 

5. 앞으로 배울 것

 지금 3-1 끝났는데 군대가기 전에 배워놓아서 군대에서 했던 알고 코드들 올렸어야 했다.. 흑흑.. 이제라도 열심히 해야지. 아무튼 궁금한 것은 메모밍님이 언급하신 가장 중요하다는 branching기능 이라는 건데 찾아보고 공부해야 겠다.