본문 바로가기
이것저것

github로 협업 좀 하자 !!!(git)

by shinhyogeun 2021. 1. 16.

깃과 깃허브는 프로그래밍에 관심이 있다면 한번쯤은 들어보셨을 거에요!!! 아니라구요? 하하하 이제부터 배우시면 됩니다.

깃과 깃허브의 로고입니다.

 

프로그래밍을 배우시면 협업을 하게되는 날이 오실거에요. 다른 프로그래머들과 같이 일을 하면서 배우기도하고 공동의 작품을 만든다고 생각하시면 좋아요. 그런데 여러명이 하나의 작품을 만든다면 분명 같은 부분을 고치거나 해서 꼬이는 일이 발생하게 될거에요. 그래서 생긴 것이 바로 github!! (구글이나 애플과 같은 세계적인 회사들도 모두 자신의 깃허브페이지를 가지고 있답니다!!)

 

그러면 깃허브를 배워야합니다.

 

그전에 깃부터 말씀드리면 깃은 저장소에요! 여러분이 수정하는 과정들을 전부 저장하고 나중에 복원도 할 수 있고 합칠수도 있고 여러가지 기능을 제공하고 있어요. 그러면 자동으로 해주느냐.. 그건 아닙니다. 그래서 깃을 사용하시려면 terminal이나 CMD에서 실행하셔야합니다.

여기서 명령어로 "내가 지금까지 이 폴더에서 한 작업을 깃이라는 로컬저장소에 올려!" 이렇게 명령하는 것입니다.  정확하게는 "내가 지금까지 한 작업을 추적해!!"입니다. 그리고 이것을 원격저장소인 github에 연결하셔서 결국 다음과 같은 구조로 이루어집니다.

 

                                                                   폴더 ------ 깃(로컬저장소) --------깃허브(원격저장소)

 

여기서 로컬저장소는 여러분의 컴퓨터에 있는 저장소고 원격저장소는 깃허브페이지에 있는 저장소에요!

순서는 폴더안에 깃을 만들고 그후에 그 깃과 깃허브를 연결하는 순서에요. 

 

------------------------------------------------------------------------------------------------

폴더안에 로컬저장소를 만들고 변경사항을 기록하기

cd 폴더위치 (ex /Users/shinhyogeun/Desktop/chartEx)

1. 폴더로 이동 완료!

 

git init

2. 깃 시작!(로컬저장소 생성!)

 

3. 하실 작업을 합니다.

 

git add .

4. 작업한 모든 것들을 로컬저장소에 넣을 준비.

 

git commit -m "여기에는 어떤것을 변경하셨는지 쓰는것입니다(ex feat : 서로다른 두 수를 만드는 함수 추가)"

5. 변경사항 기록

 

------------------------------------------------------------------------------------------------

 

여기까지가 폴더안에 로컬저장소를 만들고 변경사항을 기록하는 것까지 해보았습니다.

물론 어렵죠.. 다양한 명령어들이 많지만 일단은 가장 많이 쓰는 명령어부터 익숙해지면 확장하기 쉬울거라고 생각합니다.

 

위의 순서에 맞는 자세한 설명을 해볼게요.

 

2. 깃을 시작한다는 것은 로컬 저장소를 만드는 것입니다. 이것은 폴더에서 처음에 딱 한번만 해주면 됩니다. 로컬저장소를 2번 3번 만들 필요는 없습니다. 그 저장소에 여러분의 파일들이 추적이 됩니다. 물론 이 추적은 여러분이 기록을 해야지만 가능하고 그 기록을 (5번에서 한) z커밋이라고 부릅니다.

 

4. 그리고 여러분이 기록을 할 때(이후에 커밋이라고 부르겠습니다.) 절대적으로 지켜줘야하는 관례는 바로 기능별로 커밋을 해야한다는 것입니다. 즉!! 하나 기능만들고 커밋하고 하나 기능만들고 커밋하고 이렇게 커밋을 자주자주 딱딱딱 기능을 만들면서 해야합니다. (파일을 지우거나 구조를 바꿀때는 당연히 해야하구요!!) 근데 여러분이 커밋을 하려던것을 잊고 2개의 기능(밥먹기, 말하기)을 만들었다고 생각해보면 

일단 밥먹기를 커밋하고 그 다음에 말하기를 커밋해야죠.(귀찮다고 한번에 올리면 다른 사람들이 싫어할거에요 ㅎㅎ) 그러면 그때 순서가 git add 밥먹기 -> git commit -m "feat : 밥먹기 기능 구현" -> git add 말하기 -> git commit -m "feat : 말하기 기능 구현" 이렇게 해야합니다. 여기서 만약 add라는 과정이 없다면 commit을 한번에 해야만합니다. 사람의 실수가 만든 결과... 근데 add라는 중간 정거장이 있어서 기능은 만들어도 일단은 이것만 add하고 커밋하면 되겠다. 라는 식으로 실수를 만회할 수 있는 겁니다!!!

 

5. commit 뒤에 -m "어쩌구~"는 commit 할 때 그에 관한 메세지를 "어쩌구~"로 하겠다는 것입니다. 여기서 "어쩌구~"를 커밋메세지라고 부르고 이것은 나중에 깃허브와 연동되면 다른 사람들도 보니까 깔끔하면서 명확하게 작성해야합니다!!(이게 어렵죠...ㅎㅎ) 그리고 많은 사람들이 쓰니 커밋컨벤션(커밋메시지를 쓰는 관례적 규칙)을 지키셔서 커밋메시지를 작성하는 것을 추천해요.

등등 여러가지 컨벤션이 있으니 확인하시고 지켜서 해주세요~

(da-nyee.github.io/posts/git-git-commit-message-convention/ 참고!)

 

깃과 깃허브는 반드시 배워야해요. 여러분이 어떤 언어에 관심이 있던지 관계없이 모두가 쓰는 것이에요!!!(마치 개발들의 facebook)

제 글이 이해가 안되신다면 다른 분들의 글을 읽어서라도 이번기회에 꼭 배우세요!