[github] git 사용법
1. github 개인정보 등록
Github 개인 정보 등록 (맨처음에만 하면됨)
git config --global user.name "이름" // 매번 물어보는 귀찮음을 피하기 위해 설정.
git config --global user.email "깃허브 메일주소" // 매번 물어보는 귀찮음을 피하기 위해 설정.
git config --local user.name "이름"
git config --local user.email "깃허브 메일주소"
2. 일반 폴더 --> Github Repository
먼저 github에 repository를 만든다.
그리고 repository의 주소를 가져온다.
예시 ) https://github.com/사용자이름/repository이름.git
mkdir workspace경로/myproject
github의 repository에 올리고싶은 파일들을 담을 폴더를 생성
cd ~/myproject
폴더로 들어간다
git init
현재 위치의 디렉토리를 git디렉토리로 만든다
(해당 폴더는 git명령어를 사용할 수 있고, 이렇게 git 초기화 작업을 수행해야 repository가 될 수 있다.)
git remote -v
현재 폴더에 연결된 repository정보를 가져온다
만약 연결된 저장소가 없다면, 폴더와 원격 저장소를 연결해주어야 한다.
git remote add origin https://github.com/사용자이름/repository이름.git
현재 위치의 git 폴더와 repository를 연결한다
git remote -v
연결상태를 다시 확인한다
# 실행 결과
C:\workspace\myproject>git remote -v
origin https://github.com/사용자이름/repository이름.git (fetch)
origin https://github.com/사용자이름/repository이름.git (push)
git status
현재 상태를 훑어보고
git add 파일명.확장자
git 에 전송할 리스트에 특정 파일을 추가함
와일드카드도 사용할 수 있다.
예 ) git add *.html
git add *.js
git add .
현재 디렉토리 하위의 모든 파일을 추가
git commit -m “현재형으로 설명”
git에 전송할 파일 리스트를 commit 하는것, 스냅샷을 찍는다고도 한다.
쉽게 설명하면, 일단 이 대로 전송할 리스트를 확정하고, push명령을 수행 할 경우
가장 최근에 commit한 상태대로 git repository에 업데이트 된다
git push origin master
깃허브로 푸시한다.
git remote set-url origin https://github.com/사용자이름/repository이름.git
remote origin의 url 을 변경한다.
git pull https://github.com/사용자이름/repository이름.git
해당 repository를 현재 경로에 가져옴
########### #작업 순서!# ###########
1. 작업 폴더에서 pull
2. 코딩 작업
3. 커밋 및 푸시
#################################
ETC...
오류 해결 1
git push 할때
remote: Permission to 사용자A/repository이름.git denied to 사용자B.
fatal: unable to access 'https://github.com/사용자A/repository이름.git/': The requested URL returned error: 403
이렇게 repository 유저와 현재 등록되어있는 유저이름이 다를때
윈도우의 경우 자격 증명 관리자의 Windows 자격 증명에서
githttps://github.com 의 정보를 수정해 주면 된다
자격 증명 관리자에서 빨간색 박스를 확장하면 편집 탭이 나오는데 여기서
사용자 이름이 username이고, 암호가 github비밀번호 이다
이를 변경하면 github Login창이 나타난다.
로그인 후 다시 push를 해주면 끝
오류 해결 2
failed to push some refs to 'https://github.com/사용자이름/repository이름.git'
이러한 오류가 난다면, 현재 repository의 내용을 pull 하지 않은 상태에서 push하려고 할 가능성이 있다.
git pull을 통해 원래 내용을 가져온 다음, 내가 수정한 내용을 덮어씌우고, push를 하면 된다.
잘 되지 않는다면, 무식한 방법이지만 git clone https://github.com/사용자이름/repository이름.git
으로 repository 전체를 가져온 다음, 수정한 내용을 덮어 씌우고 push를 하는 방법도 있다.