- GitHub(깃허브)
GitHub는 코드를 다루는 개발자들이 편리하게 협업하기 위한 도구이다.
*Git : 개발을 진행하며 작성하는 소스 코드가 업데이트 되는 버전을 기록해두고 관리할 수 있는 소스 코드 버전 관리 시스템이다.
*GitHub : Git으로 관리하는 프로젝트를 호스팅하고, 시간과 공간의 제약 없이 협업할 수 있는 온라인 서비스이다.
Git이 버전 기록을 저장한다면 GitHub에서는 그 기록을 다른 사람과 공유하는 것이다. 로컬(Local, 개인 노트북 또는 데스크탑 같은 개인 컴퓨터)에서 작업한 내용을 Git을 통해 저장했다면 GitHub에 올려 원격(Remote, 웹사이트)으로도 작업 할 수 있도록 한다.
깃허브는 sw 개발 인턴을 하면서 두번째 프로젝트를 진행하는 동안 계속 썼기 때문에 기본적인 명령어와 사용법을 알고 있었다. 하지만 내 개인 깃허브 페이지를 만들어서 사용한 것이 아니었기에 꽤 설레었다.
그렇게 처음으로 만든 나의 깃허브 주소는 https://github.com/YOOHYOJEONG 이다.
깃허브 계정을 만들 때 유의해야 할 것은 중복되지 않는 유저 네임을 선택애햐 하며 인증 가능한 이메일을 사용해야 한다는 것이다. 유저 네임은 나의 깃허브 페이지의 도메인 주소가 되기 때문에 신중해야한다.
나는 셀털이긴 하지만 간지나게 내 이름이 도메인에 있으면 좋겠다해서 내 이름을 유저 네임으로 했다.
깃허브 페이지를 만들고 가장 먼저 접한 재밌는 내용은 '1일 1잔디 심기' 라는 챌린지였다. commit한 횟수만큼 초록색의 진하기 정도가 달라지는데, 이를 잔디 심기라고 한다고 한다.
초록색이 매일 생겨있으면 매일 매일 작업을 하였다는 의미가 되는 것이다.
나도 언젠간 한번 시도해 보고 싶은 챌린지 인 것 같다.
페이지를 만든 첫 날만 진한 잔디가 심어져있다...ㅎㅎ 페이지 만들어서 처음으로 readme를 만들어서 올리는 과정에서 약간 꼬여서 commit만 여러번 했더니 진해진 것 같다..
깃허브 페이지를 만들었다면 이제 로컬과 원격을 연결해야 한다.
나는 인턴을 하면서 git bash를 사용했었기 때문에 이번 역시 git bash를 이용하였다.
git bash 다운로드는 https://git-scm.com/ 여기서 할 수 있다.
git bash를 실행하면 프롬포트 창 같은 것이 뜨는데 여기에 명령어를 입력하여 사용하면 된다.
git version을 확인한 후 Git과 GitHub를 연결하는 방법은 아래와 같다.
$ git config --global user.email "abc@abc.com"
$ git config --global user.name "username"
본인의 이메일과 유저 네임을 입력하면 Git 툴이 내가 GitHub 사이트로 코드 정보를 전송할 때 어떤 계정에 있는 레파지토리로 전송해야하는지 기억하게 된다.
깃과 깃허브를 연결했다면 로컬 저장소를 만들어야 한다.
로컬 저장소란 파일을 관리할 때 쓰는 폴더이자 디렉토리를 말한다.
Git은 디렉토리를 기준으로 그 하위에 있는 모든 폴더와 파일에 대한 버전을 기록할 수 있다.
$ cd workplace # workpalce라는 폴더 만들기
$ git init # git을 새로 만든 디렉토리 내에 심기
$ echo "# first-repository" >> README.md # 첫번재 레파지토리에 담길 리드미 파일 만들기
$ cat README.md # 리드미 파일 내용 보기
# first-repository # 리드미 파일에 적힌 내용
로컬 저장소를 만들고 파일까지 만들었다면 git이 제대로 추적하고 있는지 확인할 수 있다.
$ git status 로 확인하였을 때 Untracked files가 뜨면 git이 제대로 추적하고 있다는 의미이다.
이제 이 로컬 저장소를 원격 저장소에도 저장을 해야만 제대로 git과 github가 연결 되었다고 할 수 있다.
먼저, 원격 저장소에서 레파지토리를 생성해야 한다. 나는 readme파일을 로컬 저장소에서 만들어서 원격으로 저장하는 것이기 때문에 레파지토리를 만들면서 리드미 파일은 제외시켰다.
이렇게 생성한 레파지토리의 주소로 로컬 저장소에 있는 git에 알려주면 git이 GitHub의 원격 저장소의 주소를 알고 두 저장소 간에 정보를 전송할 수 있게 된다.
$ git remote add origin https://github.com/xxx/xxxxxx # http로 시작하는 본인이 만든 레파지토리 주소
이렇게 만든 원격 저장소인 레파지토리의 주소를 git에 알려주면 로컬에서 레파지토리로 전송하는 것도 할 수 있다.
git status로 확인한 파일을 원격 저장소에 옮기기 위해서는 git add를 해주어 commit을 해야한다.
commit을 할 땐 메세지를 함께 입력하여 어떤 상황의 commit인지 설명 해 놓는 것이 좋다.
git remote add origin 레파지토리 주소 명령어를 사용하여 레파지토리와 연결 시킨 후 push를 해주면 된다.
위 push 커맨드에서 에러가 난다면 git push origin master로 하면 된다.
이 때 push를 할 때 마다 로그인을 하지 않으려면 git config credential.helper store 명령어를 push하기 전에 한번만 실행해주면 된다.
이러한 과정을 거치면 로컬 저장소에서 내가 만든 리드미 파일이 원격 저장소 레파지토리에 생성된 것을 볼 수 있다.
반대로 원격 저장소의 파일을 로컬 저장소로 가지로 올 땐 어떻게 해야할까?
원격 저장소를 가지고 오고 싶은 폴더 위치로 이동한 후 git clone을 사용하여 GitHub의 레파지토리를 통째로 가져올 수 있다. 이때 clone 뒤에 아까 복사한 레파지토리의 주소를 넣어주면 된다.
가져온 리드미 파일을 수정한 후 다시 원격 저장소에 push한 후 다시 로컬 저장소로 가지고 오면과 원격 저장소 모두에 수정된 파일이 저장이 된다.
이렇게 로컬 저장소에서의 리드미 파일도 수정된 파일로 변경된 것을 알 수 있다.
+)
깃 오류 해결하기
https://iambeginnerdeveloper.tistory.com/26