

git: 모든 파일의 변화(무엇이,몇시에, 몇번 등)를 기록함
이를 통해 같은 파일에 대한 각기 다른 버전을 보관할 수 있다.
github: 클라우드에 있는 git 제공자이다.
내 로컬에 있는 git 히스토리를 가져와서 깃허브 웹사이트에 올리는 것이다.
이는 앞으로 push와 pull개념으로 설명하겠다.
=> 결국 github는 파일의 변화를 기록하고 각기 다른 버전을 보관하기 위해 사용하는 것이다.
이는 팀프로젝트에서 더욱 중요하다

우리는 Sourecetree라는 Git의 CLI와 Github의 GUI를 같이 활용할 수 있는 프로그램을 사용하겠다.
처음이면 무슨뜻인지 이해가 안갈 수 있으니 그냥 따라하자
Repository: 하나의 프로젝트 저장소
다음은 개인 github의 메인 페이지이다.

여기서 New를 클릭해서 만들어 주면 된다.

이때 README 는 체크 해두자
결과

이제 git 사용을 위해 앞서말한 sourcetree라는 gui기반의 툴을 이용해보자

자세한 내용은 sourcetree설치와 관련된 블로그를 찾아보자

다운 받고 실행하면 이렇게 나온다
local은 내 컴퓨터에 있는 repository이고 remote는 github에 있는 repository이다
다음 단계이다

1.계정추가 버튼을 누른다
2.호스팅서비스를 github로 변경한다
3.OAuth 토큰 새로고침을 누른다

여기서 초록색 Authorize atlassian 버튼을 누른다
권한부여하는것이다

그럼 이렇게 인증성공이라고 뜨는걸 볼 수 있다.

이렇게 원격저장소에 repository가 추가된걸 확인할 수 있다.

github repository 목록을 확인할 수 있다. 여기서 Clone버튼을 클릭하자

여기서 github에서 가져올 내용을 저장할 local 경로를 지정해준다

해당경로로 들어가면 이렇게 폴더가 생긴 것을 확인할 수 있다.

그리고 여기서 버튼으로 관리하면된다.
github 같은 버전관리 툴이 없으면 프로젝트를 수행했을 때 최종적으로 완수한 마지막 버전만 갖는다
이걸 팀원들에게 공유할 때 마지막 파일만 전달할 수 있고 팀원들은 과정을 알 수 없다.
만약 이 코드가 잘못되었으면 어디부터 잘못된 것인지 알 길이 없는 것이다.
=> commit이 이걸 해결해준다!
commit은 말 그대로 코멘트를 남기는 것이다.
ex) [update]~~추가했음 이렇게 말을 남길 수 있다.
기능단위, 시간단위로 추가하는건 알아서 기준을 세워서 하면 됨
프로젝트가 복잡할 때 commit을 하는것이 중요하다.

이렇게 commit을 하면 팀원들 간의 내용 공유 및 스스로도 체크하면서 할 수 있다. 이때 미리 약속을 정해서 어떤 양식으로 commit을 작성할 건지 정해놓으면 좋다.
=> 오늘 한 일을 일기로 쓴다고 생각하면 좋다!

여기에 테스트를 위해 코드에 아무 텍스트나 적은 후 하나의 commit을 더 추가했다. 여기를 살펴보면 코드뭉치 되돌리기를 통해 commit이 기록되어 있는 시점의 코드로 되돌아 갈 수도 있다.
아직까지는 github에 아무것도 반영되지 않은 상태이다

여기서 push 버튼을 클릭하고 진행시키면

이런게 뜨고 또 push를 누른다

이렇게 github에 올라간걸 확인할 수 있다.

파일을 들어간 후 History를 클릭해보자

이런 창이뜨는데 commit하나를 클릭하면

이처럼 어떤 부분이 변경되었는지를 확인할 수 있다.
이처럼 push를 하면 local에 개발되었던 것이 최종파일하나만 올라가는게 아니라 commit했던게 모두 같이 올라간다. 이를통해 팀원들은 개발 중간과정까지 알 수 있게된다.
팀원들은 pull이란 명령어를 통해 새로추가된 코드를 본인들의 local로 가져올 수 있다.
만약 방금처럼 commit을 두번한것이 push해서 갱신되었으면

팀원들의 컴퓨터의 창은 이렇게 뜰 것이다. 팀원들은 pull을 클릭해서 가져올 수 있다.
이렇게 팀원들과 코드를 주고받으면서 프로젝트를 진행할 수 있다.
다음은 github에서 중요개념 중 하나인 branch에 대해 알아보겠다.