Git/GitHub 사용 방법

Post date: Sep 1, 2015 1:12:39 PM

[2021-1학기] Git Version = 2.31.0, 64-bit: 강의의 연속성을 위해 이 Version만 사용하고 Update하지 않습니다.

[2020-1학기] Git Version = 2.25.0, 64-bit [2018-2학기] Git Version = 2.18.0, 64-bit [2018-1학기] Git Version = 2.16.2, 64-bit [2017-2학기] Git Version = 2.14.1

Git은 아래 링크에서 무료로 내려받을 수 있다.

- Download: http://git-scm.com/download/win


[설치 방법]

대형 Project를 유지 관리하려면 자동화된 Version Control System(VCS) 사용이 필수적이다. 현재 가장 많이 사용되는 GitHub을 Android Studio에 연결하는 방법은 아래와 같다.

1. GitHub에서 자신만의 계정 만들기

2. Android Studio 설치 (선택 사항)

3. 위 Download Link 이용해 Git을 자신의 PC에 설치

- 설치시 아래 조건 선택(Git Version 2.16.2 기준), 나머지는 기본 설정으로 계속 진행하면 됨

- 주의사항: Git을 최초 설치한 경우는 Name, e-mail 설정이 되지 않은 상태이므로 제대로 구동되지 않음, Android Studio를 통해 Commit & Push를 최초 1회는 해야 정상 동작함(이때 나오는 Name, e-mail 설정창에 정보 입력 필요함)

- Name, e-mail 설정창이 뜨지 않으면 Git CMD를 실행해 다음을 수동으로 입력함

    • git config --global user.name <your name>

    • git config --global user.email <your email>


[중요 개념]

[Android Studio와 연동 방법]

1. Android Studio와 GitHub을 연동

- Menu에서 "VCS > Import into Version Control > Share Project on GitHub" 선택

- GitHub Login 정보 입력

- 현재 Android Studio Project와 동일한 이름의 Repository를 GitHub에 생성

- 현재 Project 내의 모든 File을 GitHub에 Commit & Push

2. Android Studio Project를 GitHub에 Push

- File에 수정이 있었다면 "VCS > Commit Changes"를 이용해 Commit & Push

- Push 기능은 "VCS > Git > Push"를 이용해도 됨

3. GitHub에서 Android Studio Project 복원

- Menu에서 "VCS > Checkout from Version Control > GitHub" 선택하여 진행

- 혹은 QuickStart에서 "Check out project from Version Control > GitHub" 선택

- 복원된 Project가 잘 동작하지 않으면 Android Studio를 닫은 후 다시 열면 됨


[Git 명령어]

- 도움말: git help or git help -a

    • Command에 대한 help 얻기: git help <command>

- 초기화: git init

    • 초기화하면 현재 folder에 숨김 상태로 .git이란 folder 생성; 뭔가 잘 안되면 이 숨김 folder를 지우면 됨

- Version 확인: git --version

- Repository(remote) 관리: git remote

    • 이름이 origin인 repository를 추가: git remote add origin <repository location>

    • 등록된 repository 삭제: git remote remove <repository name>

- Git으로 관리할 항목 추가: git add

  • 현재 folder에 있는 모든 항목 추가: git add --all

  • 특정 파일 추가: git add <your file>

- Source code 변경 사항 기록하기(commit): git commit

  • msg란 내용의 commit을 기록: git commit -m <msg>

  • 최근에 commit된 내용을 <msg>로 변경: git commit --amend -m <msg>

- Git으로 source code 올리기(push): git push

  • 모든 항목을 push: git push --all

  • update된 항목만 origin repository에 master branch(pointer)로 올리기: git push -u origin master

- Git에서 변경된 source code만 가져오기(pull): git pull

  • 변경된 부분만 가져와서 현재 source code를 update: git pull origin

- GitHub에서 source code 가져오기(fetch): git fetch

  • 모든 항목을 fetch: git fetch --all

- Fetch된 항목을 실제로 생성: git checkout

    • 현재 folder에 항목(file/folder) 생성(track): git checkout -t remotes/origin/master

- Git 설정: git config

    • 현재 구성 상태 보기: git config --list

    • 전역으로 사용자 이름 설정: git config --global user.name <your name>

    • 지역으로 사용자 이름 설정(repository 안에서만 동작): git config --local user.name <your name>

    • 전역에서 사용자 이름 변경: git config --global --replace-all user.name <your name>

    • 전역으로 사용자 email 설정: git config --global user.email <your email>

  • 나머지 설정은 사용자 이름과 동일함

- 현재 branch 보기: git branch

  • Local/remote branch 보기: git branch -a 혹은 git branch --all

  • Remote branch 보기: git branch -r 혹은 git branch --remote

- Git의 현재 상태 보기: git status

- Git의 이력 보기: git log


[GitHub에 변경된 Source Code 저장하기]

- Source code가 있는 folder로 이동한 후, 아래 과정을 차례로 실행

git init

git remote add origin <repository location>

git add --all

git commit -m "first commit"

git push -u origin master

[GitHub에서 전체 Source Code 가져오기]

- Source code를 저장할 folder를 먼저 만들어 그 folder로 이동한 후, 아래 과정을 차례로 실행

git init

git remote add origin <repository location>

git fetch --all

git checkout -t remotes/origin/master

[GitHub에서 변경된 Source Code 가져와 Update]

- Source code가 있는 folder로 이동한 후, 아래 과정을 실행하여 GitHub과 현재 source code를 일치시킴

git pull origin

[GitHub 정보 삭제]

- GitHub repository 삭제: Settings > Danger Zone > Delete this repository

- Windows login 정보 삭제: 제어판 > 사용자 계정 > 자격 증명 관리자 > Windows 자격 증명 > 일반 자격 증명 > github.com 찾아 삭제

= 일반 자격 증명에 github.com이 없는데도 GitHub 인증에 실패한다면, https:// www.github.com을 일반 자격 증명에 강제로 추가하면 해결됨

[Troubleshooting]

  • Git에서 한글이 깨짐

-. 시스템 속성 > 환경 변수 > 시스템 변수 > 새로 만들기를 이용해 LC_ALL을 UTF-8으로 변경

=. 변수 이름: LC_ALL, 변수 값: ko_KR.UTF-8

  • Visual Studio Code의 Command Prompt에서 batch file을 실행할 때 한글이 깨짐

-. VS Code의 기본 code page가 UTF-8(65001)이 아니라서 문제 발생: batch file에 "chcp 65001"를 추가함

[참고문헌]

[1] 누구나 쉽게 이해할 수 있는 Git 입문, Backlog.

[2] London App Developer, How to use GitHub with Android Studio 1.x, A Full-Stack Developer's Blog.