서론
대부분의 개발자들은 원격 저장소인 GitHub를 한 번쯤은 들어봤을 것입니다. GitHub를 사용하면 프로젝트에 대한 형상관리가 가능하며, 개인 포트폴리오를 올리고 관리할 수 있으며, GitHub를 통한 오픈소스 프로젝트에도 기여할 수 있습니다.
GitHub의 가장 큰 특징은, 오픈 소스 공개 프로젝트에 무료로 Git 저장소를 호스팅한다는 점입니다.
그럼 GitHub를 가지고 어떻게 자신의 코드를 올리며 관리하는지, 어떤 프로세스로 동작하는지에 대해서 배워보겠습니다.
깃허브 프로세스
GitHub Process
- Working Directory : 내가 작업하려는 PC 내의 디렉터리
- Staging Area : git commit하기전에 저장되는 git의 공간(커밋 예정인 파일,디렉터리들이 모여있는 곳)
- Local Repository : 내 PC에 파일이 저장되는 개인용 저장소
- Remote Repositroy : 원격 저장소(깃허브)
깃 설치하기
깃허브는 깃(Git)을 사용하기 때문에 깃을 설치해야 합니다. 깃 설치에 대한 정보는 링크로 대신하겠습니다. 깃 설치는 금방 끝나니 후딱 설치하고 다음 단계로 진행하겠습니다.
깃을 설치하고 나면 커맨드 창을 열어서 git — version을 입력하여 잘 나오는지 확인해야 합니다.
Installed Git
만약에 git(깃)을 설치 했음에도 제대로 작동하지 않는다면 내컴퓨터 > 속성 > 고급 > 환경변수로 들어가서 맨위에 있는 환경변수 path에서 c:\windows\system32이 경로로 수정해주면 작동합니다.
깃허브 계정 생성하기
깃을 설치 후 가장 먼저 해야할 것은 역시 깃허브 계정을 먼저 생성하는 것입니다. 위 링크를 통해 깃허브 계정을 생성합니다.
계정을 생성하고 나서 Repositories라는 탭을 클릭해서 들어갑니다. 또는우측 상단에 있는 자신의 프로필을 클릭하고 Your Repositories를 클릭합니다. 클릭하고 나면 아래와 같은 화면이 나올 것입니다.
Remote Repository
여기서 우측 상단에 초록색 버튼의New 를 클릭합니다. 클릭 후 아래와 같은 화면이 나옵니다.
Create a new repository
Repository name과 Description을 입력후, 누구나 볼 수 있는 public 으로 생성할 것인지, 자신과 자신이 설정한 사람만 볼 수 있는 private으로 생성할 것인지 선택합니다. 참고로 private 으로 생성하게되면 커밋을 하더라도 contributions에는 영향을 미치지 않습니다. 즉,초록밭(잔디)를 가꿀 수 없습니다. 회사 프로젝트나 굳이 private으로 할 필요가 없는경우는 public으로 하시는걸 추천드립니다. 여기서는 public으로 선택하고 진행하겠습니다.
아래에Initialize this repository with a README라는 문구가 적혀있는데 README.md 파일을 생성할 것인지를 물어보는 것입니다. README.md를 생성하지 않더라도 나중에 생성할 수 있습니다. 여기서 README.md 를 생성 하냐 안하냐에 따라 초기 작업방식이 달라집니다.
README를 생성하지 않는 경우
위에서 create repository를 클릭하면 아래와 같은 화면이 나옵니다.
Created Remote repository
친절하게도 …or create a new repository on the command line 아래에 어떻게 Working Directory에 git 저장소를 만들고 어떻게 원격 저장소로 푸시하는지에 대해서 자세하게 나와있습니다.
1. Working Directory 생성하기
Working Directory를 생성합니다. 저는 dev라고 바탕화면에 만들겠습니다.
Create Working Directory
아무것도 없는것을 보실 수 있습니다. 이제 커맨드 창을 열어서 해당 Working Directory의 주소로 이동합니다. cd WorkingDirectory 주소
Move To WorkingDirectory
Working Directory로 이동 후에 가장 먼저 깃허브 계정을 연동해야 합니다.
2. git config
git config --global user.name "닉네임"
git config --global user.email "이메일"
위 두 개의 명령어를 통해서 닉네임과 이메일을 등록해줍니다.
3. git init
이제 git init 명령어를 통해서 깃 저장소를 생성해 줍니다.
git init
즉, 자신의 Working Directory에 git 저장소를 생성한 것입니다.
Created .git
이제, 자신의 Working Directory에 들어있는 모든 파일들을 GitHub의 remote repository로 commit and push 할 수 있습니다.
위에서 생성하지 않은README.md 파일을 생성해서 commit and push 해보겠습니다. 툴은 Notepad, 메모장, atom, vsCode 등 어떤 것이든 상관 없습니다. 저는 메모장으로 생성해 보겠습니다.
.md 파일은 markdown(마크다운) 형식을 지원하는 파일을 의미합니다.
create README.md
README.md 파일은 자신의 repository에 대한 간단한 설명 또는 소개를 적는 파일이라고 생각하시면 됩니다.
4. git add
위에서 생성한 README.md 파일을 git add 명령어를 통해 Staging Area로 보내겠습니다.
- git add * : 새로 생성한 모든 파일을 Staging Area로 보냄.
- git add 파일명 : 해당 파일명을 Staging Area로 보냄.
git add
5. git commit -m “message”
git commit -m “message”명령어를 통해 README.md 파일에 대한 메시지를 입력하고 Local Repository로 보내겠습니다.
git commit -m “message”
나중에 실무에 투입되어 깃랩(GitLab) 또는 깃허브(GitHub)를 사용하게 되는경우 커밋 메시지를 자세하게(누가봐도 어떤 파일에 대한 커밋인지 알 수 있도록) 적는 것은 중요합니다.) 귀찮더라도 커밋 메시지를 잘 적는 습관을 들이는 것이 좋습니다.
6. git remote add origin “remote repository url”
git remote add origin “remote repository url” 명령어는 첫 커밋을 할 때만 사용하는 명령어이며 이후에는 사용하지 않아도 됩니다.
git remote add origin “remote repository url”
7. git push -u origin master
git push -u origin master 명령어는 첫 커밋을 할때만 사용하는 명령어이며 이후에는 git push 명령어만 사용하면 됩니다.
git push -u origin master
이제 자신이 커밋한 내용이 제대로 들어갔는지 깃허브에서 확인해 봅시다.
파일이 잘 커밋이 되었지만, contain binary data 때문에 화면에 표시할 수 없다고 나옵니다. 이런경우 해당 파일을 클릭하여 쓰레기통 아이콘을 누르면 파일을 삭제할 수 있습니다.
delete README.md
삭제하고나면 아래 화면과 같이 README.md 파일을 생성할 수 있는 버튼이 하나 생깁니다. 해당 버튼을 클릭하여 파일을 생성할 수 도 있습니다.
create README.md
README를 생성하는 경우
Initialize this repository with a README를 클릭하여 README.md를 생성하는 경우는 README를 생성하지 않는경우에서의 2번(git config) 3번(git init)과정이 필요 없습니다.
이 과정을 잘 이해하고 있으면 나중에 협업에서 팀원이 merge한 파일을 pull 하고, 자신의 파일을 push 하는 과정을 부드럽게 이해하고, 수행할 수 있습니다. 즉, pull을 해야하는 경우를 한 문장으로 나타내면 아래와 같습니다.
우리의 Working Directory에는 없는 파일이 Remote repository 에는 존재하는 경우 입니다.
1. git clone
가장 먼저 해야할 일은 git clone으로 원격 저장소에 있는 모든 파일들을 자신의 Working Directory로 가져오는 것입니다. git clone은 git init의 효과 까지 있습니다.
2. git add, git commit, git push
이제, Working Directory에 새로 생성한 파일들을git add, git commit, git push를 통해서 원격 저장소로 커밋 할 수 있습니다.
원격 저장소에서 팀원이 merge한 파일가져오기
원격 저장소에서 팀원이 merge한 파일을 가져올 때에는 git pull 명령어를 통해서 간단하게 가져올 수 있습니다. 충돌이(conflict) 일어나는 경우에는 충돌이 일어난 위치를 찾아서 해결(resolve)하고 다시 git pull로 가져오면 됩니다.
결론
개발자라면 깃허브를 꾸준하게 관리하는 것이 자신의 포트폴리오를 관리하는 것과 같으며, 취직 또는 이직할때에도 도움이 됩니다. 깃허브를 시작하는 것은 그닥 어렵지 않으니, 여러 블로그나 유튜브를 검색하셔서 꼭 시작하셨으면 합니다. 특히 국비지원을 통해개발자로 취업할 생각이 있으신 분들, 개발자를 꿈꾸는 대학생 분들에게 강력추천합니다. 필자도 국비지원 다녔을때 배웠으며 지금까지도 꾸준하게 잘 사용하고 있습니다.
'Computer' 카테고리의 다른 글
[PC] 내 메일이 유출됐는지 확인하는 사이트 (0) | 2020.08.26 |
---|---|
'concurrently'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. (0) | 2020.06.23 |
HeidiSQL (DB 관리 툴) 설치 및 사용 (0) | 2020.06.15 |
[Unity]유니티 안드로이드 버전 관련 (0) | 2020.05.28 |
[Unity] 안드로이드 빌드시 CommandInvokationFailure: Unable to list target platforms 오류 (0) | 2020.05.28 |