
모든것엔 이유가 있다.
왜 사용해야하는지, 왜 필요한지
그목적이 확실하지않으면 배움의 의미가 줄어들지도 모른다.
개발자라면 흔히쓰는 이 git,github 왜 써야하는지
git과 git hub의 사용법에 대해서 알아보도록하자!
현재 깃 상태를 의미한다
커밋이되었는지, 바뀐 내용이 있는지? 확인 할 수 있다
git add 를 하게되면 아직 커밋이 없다고 나온다,
그리고 스테이지 해제를 해야한다
아직은 와닿진 않지만 설명에 의하면 문서가 지워질수있기 때문이라고한다.
차이점이라고 하면
git rm => 원격 저장소와 로컬 저장소에 있는 파일을 삭제한다.
git rm --cached => 원격 저장소에 있는 파일을 삭제한다. 로컬 저장소에 있는 파일은 삭제하지 않는다.
명령어 git rm --cached index.html로 다시 입력
잠시 git add [파일명] 써주게되지만
보통은 git add . 모든 파일을 체크하게 된다
대부분 귀찮거나,파일이 많기때문에 각각 바뀌는 파일들의 내용을
일일히 하나하나 git add 할수가없기때문이다
git add . 효율적으로 할려면
.gitignore 파일을 생성하고 안에 git add 되기 싫은 파일을 적어주면
git add . 을 해도 그파일은 제외된다.
레드 컬러로 된 파일은 아직 git에 추가되지않았기에 단계로 가기위해서 다시 git add 를 해준다
git add 다음으로는 git commit
지금상태를 기억해달라는 의미인데 어떤 코멘으로 기억하게 할꺼냐??
메모를 남겨야 어떤 작업을 했는지 알수있기때문이다.
git commit을 했는데 실수해서 파일을 빼고싶다면
commit 된 상태를 지우고
git add > git commit 해야한다
드래그 된 번호는 커밋번호이다
commit 을 하게되면 어떤 commit이 저장되었는지
vim에디터가 켜지니까 당황하지말고 :wq를 눌러주면 터미널 창으로 나오게된다
그리고나서 뭔가 또 ..잘못된것같아 파일을 수정하면
수정되었다고 git add를 하라고 나오는데
알고보니 수정안해도 되는 상황이라면 전 상황으로 되돌려야하지않는가?
그럴때 git chekout -- [파일명] 써주면 이전 단계로 돌아가게된다
그렇다면,,파일을 수정할때마다 계속 add > commit 해줘야하는데
한번에 하는방법은 없을까?
다시한번 보자 수정되었고 수정하고 커밋을 동시에 해보자
명령어 git commit -am "first project"라고 하니 add와 commit 이 같이 되었다.
단,이 방법은 add가 add . 모든 파일을 추가하게된다.
여기서 1file changed, 1 insertion(+) 의미는 1개파일에 1개 줄이 추가됐다 라는 의미다
git commit 은 미래에 내가 확인하고 참고해야할 내용이기때문에 최대한 자세히 남겨놓는것이 좋다고한다.
그리고 commit 을 하다보면 어떤부분이 바뀌었는지 헷갈리수가있는데
그부분은 git diff 명령어로 확인할수있다
이렇게 - 된부분은 사라진 내용이고 +는 추가된 내용이다
이제 저장을 시도해볼건데
git hub 를 이용해보자 !
git hub에서 레파지토리 누르면 아래와같은 화면이 출력될것이다
파일명과 public (공개) / private(비공개)로 만들면된다
다음 창으로는 이렇게 폴더가 생성되었고 그외내용들이 적혀있다.
자세히보면
우리는 이렇게 순서대로 진행하고있었다 commit 했고다음은 remote add 부분을 따라 해보자
아래의 주소로 등록이 되고 다음 단계에서 push 하면 원격저장소에 저장이 된다.
이렇게 원격으로 저장 되었다 .
커밋을 하지않고 수정해보자 그러면 커밋하라고 경고가 뜬다 현재 git hub 레파지토리를 볼까?
수정이 되지 않았다시 커밋을 해보자
이렇게 커밋이 정상적으로 됐다
하지만 지금부터 문제다.
협업이 됐든 누군가가 파일을수정하고있고 그파일을 나도 수정하고있고
어떤사람은 미리 수정해서 commit 을 끝낸 상태라면
혼동이 올수이 있지않은가?? 그래서 협업 과정에서는 이과정을 꼭 거쳐야한다
이게 무슨상황이냐면
원격 저장소 github 에서 이렇게 바꿨다고하자
코드에서도 인식을할까?
바꿨음에도 불구하고 로컬에서의 커밋은 4개다 git hub 홈페이지에서는 5개인데
git pull origin master 명령어를 입력하게되면
원격저장소에서 바뀐 커밋의 내용을 가져와서 업데이트 시켜준다.
비로소 가장 최신 상태에서 작업을 진행하게 되는것이다.
git log를 보면 이렇게 commit의 내용을 볼수있다.
후..
대부분 개발자들이 알고있는 git과, git hub의 내용
어디서든 소통할수있는 원격저장소,
개발하는 시간과 효율적인 업무를 하기위한
중요한 요소이기때문에 써야한다고 확신하게됐다.
오늘은 여기까지 😀
오늘 배운내용들이 참 많다. 터미널에서의 오류를 직면했을때
피하고 홈페이지에서 업로드시키곤했는데
(뭔가 존심상했지만)
이제는 그럴일이 없겠다 다시한번 의미를 생각하고 디테일하게는...
나중에 알아보도록할까?ㅎㅎ