안녕하세요 GitHub 한국 총판 단군소프트입니다. 지난 인트로에 이어 본격적인 GitHub 사용자 교육 웨비나가 시작되었습니다. 이번 웨비나 주제는 CLI(command Line Interface)의 사용법입니다.
CLI(Command Line Interface)의 장점
CLI의 장점은 '별도의 GUI 툴이 필요하지 않다'라는 것입니다. GitHub Enterprise 또는 GitHub.com 사이트와 작업할 PC에 네트워크 연결만 되어 있다면 별도의 툴을 설치할 필요 없이 커맨드 창이나 터미널에서 커맨드를 실행하여 이용이 가능합니다. 그리고 CLI를 사용하면 git의 모든 기능을 사용할 수 있습니다. 이에 반해 GUI 툴은 더 명확하게 시각적으로 확인이 가능하고 사용이 간편하지만 git의 모든 기능을 사용하기에는 한계가 있습니다.
사전 준비 항목
CLI를 사용하기 위한 환경 설정을 진행하기에 앞서 GitHub.com에서 계정을 생성해야 합니다.
GitHub 계정을 생성하는 방법은 User name, 메일 주소, 패스워드 입력 후 인증 메일을 받아 인증을 진행하기만 하면 생성이 완료됩니다. 계정을 생성하셨다면 이제 Repository를 생성해볼까요?
◆ Repository 생성
1. 좌측의 초록색 New 버튼 또는 상단의 + 버튼을 누르신 후 “New repository”를 클릭합니다.
2. 저장소를 생성할 때 입력해야 하는 정보를 적어주세요.
: 저장소명을 입력할 때는 소유자가 이미 가지고 있는 저장소와 동일한 저장소명은 사용이 불가능합니다. 또한 띄어쓰기는 입력이 되지만 “-“로 변경되어 생성됨을 참고해 주세요.
저장소 타입은 모든 사용자가 접근이 가능한 Public 타입과 권한을 부여받은 사용자만 접근이 가능한 Private 타입이 있습니다. README 파일 포함 여부를 체크하지 않을 경우 빈 저장소로 생성이 됩니다. 이는 이미 존재하는 프로젝트를 Import 할 경우 체크를 해제하여 저장소를 생성합니다.
마지막으로 .gitignore는 저장소에서 관리하지 않을 파일을 설정하는 것이며, License는 해당 저장소의 라이선스를 설정하는 것입니다.
3. Git을 설치해 주세요.
git 사이트로 바로 가기 ↑ ↑
위의 그림을 클릭해 이동하면 각 OS 별로 설치가 가능하며 사용자의 OS를 파악하여 그에 맞는 설치 파일을 보여줍니다. 설치할 때는 옵션 변경 없이 기본으로 설치해 주세요.
4. Git 설치가 완료되면 커맨드 창을 열어주세요.
: Linux 또는 Mac을 사용 중인 분들은 터미널을 열어 주시면 됩니다. Git version 커맨드를 실행하시고 git 버전 정보가 나오면 설치가 정상적으로 된 것입니다.
5. user name과 이메일 주소를 적으세요.
: 해당 정보는 소스코드 변경 후 커밋을 할 때 작업자 정보로 저장됩니다.
설정하는 방법은 노란색으로 표시해드린 부분을 참조하시면 됩니다.
Git 설치 및 설정이 완료되었다면 CLI를 이용하여 작업할 준비가 끝난 것입니다. Git의 버전을 확인하는 것부터 설정 정보를 확인하고 추가하는 것까지 모두 CLI입니다.
Git 커맨드로 저장소 설정
1. Git 저장소로 사용하려는 경로로 이동하세요. *Git 폴더가 보이지 않으면 보기 탭에서 숨김 항목 설정을 바꿔주세요
2. 테스트를 위한 새로운 파일을 생성 후 text 문자를 쓰고 저장해 주세요.
3. Git int 커맨드로 스테이징 영역에 저장하세요.
:저장소에 저장하기 위해서는 git 커밋 커맨드를 실행해야 합니다. M 옵션으로 커밋 타이틀을 함께 실행해 주셔야 합니다.
4. 저장소로 사용할 GitHub.com의 저장소 URL을 복사하고 Git remote add 커맨드를 실행해 저장소 이름을 origin으로 설정을 하고 복사한 URL을 적어주세요. *origin이라는 원격 저장소를 설정하지 않으면 에러가 생기니 주의해 주세요.
5. 이제 Git Push를 실행하시고 원격 저장소의 코드를 눌러 저장이 잘 되었는지 확인하세요.
Git Clone 커맨드로 저장소 복제
GitHub.com 우측 중간의 Clone of download 버튼을 눌러 해당 URL을 복사해 주세요.
PC에서 해당 저장소로 복제할 경로로 이동하세요.
해당 경로 내에서 Git Clone과 저장소 URL로 커맨드 실행하세요.
Git 저장소의 구조
가장 오른쪽의 Remote Repo가 저희가 GitHub.com에 만든 저장소입니다. 왼쪽의 Working Directory부터 Staging Area, Local Repo가 작업자의 PC입니다. Working Directory는 실제 코드의 추가 및 수정 삭제 작업이 이루어집니다. 추가된 파일이 생성되고 git add 커맨드를 실행하면 해당 파일은 Staging Area에 기록됩니다. 파일을 수정한 후 git commit 커맨드를 실행하면 작업자 PC의 로컬 저장소에 저장됩니다. 이후 git push origin master 커맨드를 실행하면 원격 저장소인 GitHub.com에 변경사항이 적용됩니다.
저장소 기본 정보
Git clone 명령어를 실행하면 원격 저장소가 origin으로 설정되며, Git clone -o [원격 저장소 이름]으로 옵션을 설정하여 클론하면 [원격 저장소 이름]/master로 원격 저장소를 설정합니다. 여기서 Origin이란 저장소를 clone 할 경우 자동으로 생성되는 원격 저장소의 이름입니다. Clone 할 때 옵션을 설정하여 다른 이름으로도 설정이 가능하며, 특별한 의미는 없습니다. Master는 저장소를 생성하면 자동으로 생성되는 브랜치의 이름입니다. 브랜치 또한 추가로 생성이 가능하고 기본 브랜치를 master가 아닌 다른 브랜치로도 설정이 가능합니다.
자주 사용하는 Git Command
위의 커맨드 외에도 더 많은 커맨드들이 있습니다. 다른 커맨드들도 향후 웨비나에서 설명드릴 예정이니 기대해 주세요!
개발툴에서 Git 연동을 통한 소스 Clone
1. Visual Studio에서 팀 탐색기 상단의 초록색 아이콘 클릭하시면 아래와 같은 메뉴가 보입니다.
2. 복제를 클릭하신 후 복제할 저장소의 URL.git과 저장할 경로를 설정하신 후 복제를 하시면 됩니다.
IntelliJ에서 Git 저장소 연동 방법
1. File에서 New를 선택하시면 Project from Version Control이 나옵니다.
2. 해당 메뉴 중 Git을 선택하시고 복제할 저장소의 URL.git과 저장할 경로를 설정하세요.
3. 경로를 설정하시고 Git을 클릭하시면 복제가 완료됩니다.
Git GUI 툴
Git GUI 툴은 Git 연동을 지원하지 않는 개발툴을 사용 중이거나 좀 더 강화된 저장소 관리를 원하실 경우 사용하시는 툴입니다.
GitHub Desktop 다운로드 바로가기 ↑ ↑
GitHub에서 제공하는 GitHub Desktop도 Git GUI 툴로 무료로 사용이 가능하고 코드 변경 이력 및 변경 내용 등을 손쉽게 확인할 수 있습니다.
◆ GitHub Desktop 설치 및 연동
1. 저장소를 Clone 하시려면 첫 번째 버튼을 누르시고 GitHub.com 및 GitHub Enterprise, 또는 저장소 URL을 선택하세요.
2. GitHub Enterprise를 선택하면 서버의 주소를 입력하는 칸이 나옵니다. 주소를 입력하신 후 Continue를 누르세요.
3. GitHub Enterprise의 User name 또는 메일 주소를 입력하고 패스워드를 입력하여 로그인하세요.
4. 로그인이 완료되면 복제할 저장소를 검색하거나 선택하세요. 첫 번째 카테고리의 Your Repositories는 로그인한 개인 계정이 소유한 저장소 리스트이고 두 번째부터는 자신이 속한 조직 별로 저장소 리스트를 보여줍니다.
5. 저장소를 저장할 PC의 경로를 지정하는 칸에 경로를 지정하신 후 아래 Clone 버튼을 클릭하시면 복제가 시작됩니다.
6. 파일을 수정한 후 GitHub Desktop을 보시면 변경된 파일을 추적하고 있는 것을 확인할 수 있고 어느 부분이 변경되었는지 확인이 가능합니다. 그리고 해당 변경사항을 커밋하려면 아래 Summary에 커밋 타이틀을 입력한 후 그 아래에 있는 “Commit to master”를 클릭하세요.
7. 커밋이 완료되면 그 이후로 변경된 파일이 없으므로 변경된 파일이 0으로 표시됩니다. 해당 커밋을 원격 저장소에 push 하려면 Publish branch를 클릭하세요.
8. Push가 완료되면 로컬 저장소 내에 변경된 파일이 없음으로 표시됩니다.
GitKraken
다음으로 소개해 드릴 것은 Git GUI뿐만 아니라 커밋 그래프, 프로젝트를 관리할 수 있는 보드, 작업 내역을 타임라인 그래프로 확인할 수 있는 기능까지 갖춘 GitKraken입니다.
GitKraken 바로 가기 ↑ ↑
GitKraken은 저장소 Clone도 손쉽게 진행할 수 있으며 저장소의 커밋 그래프도 지원합니다.
GitKraken 그래프는 각 세로줄이 브랜치이며, 소스 변경 시점 및 병합 시점을 시각적으로 확인이 가능합니다.
그리고 프로젝트 관리를 할 수 있는 칸반보드 형태의 보드 기능이 포함되어 있으며 또한 프로젝트 보드에 있는 작업 내역들을 타임라인 순으로 확인이 가능합니다.
저희가 준비한 이번 웨비나는 여기까지입니다. 이번 웨비나에서 효율적인 GUI 툴인 GitHub가 어떤 구조로 구성되어 있으며, 어떤 동작을 하는지를 알아가셨으면 합니다. 아직 초급자이신 분들은 이번 웨비나 영상을 보시면서 저장소 복제에 대해 연습해 보세요!
웨비나 영상은 단군소프트 공식 YouTube 채널에서 보실 수 있으며, 문의 사항이 있으시면 GitHub@tangunsoft.com으로 메일 주세요.