1주차. GitHub 사용법

hyunn·2021년 6월 17일
0

GitHub-basic

목록 보기
1/1
post-thumbnail

GIT과 깃허브

다른 사람 Repository (Repo.) 불러오기 초기설정

1. cmd실행

2. cd 명령어 사용해 연결할 폴더로 이동

$cd 디렉토리주소
ex. $cd C:/Users/git

3. $git clone 불러올 repo주소 이용해 연결

붙여넣기 - Ctrl + v 안되면 마우스 우클릭

디렉토리 생성된 상태에서 불러오기

1. cmd에서 cd 명령어 이용해서 해당 폴더로 이동

2. $git pull 입력하면 새로 업뎃된거 불러와짐

내 깃허브 생성

1. 깃허브 가입

2. 깃에 새로운 Repo. 생성

3. cmd 이용해 local pc 에 repo. 복제

$git clone [내 repo.주소]



깃에 파일 백업 및 업로드

add -> commit -> push

1. cmd 에서 연결해둔 디렉토리로 이동

2. 사용자 등록

$git config --global user.email"이메일"

$git config --global user.name"아이디"

3. 연결해둔 repo디렉토리에 깃에 올릴 파일 옮겨두기

4. 백업할 파일 명단 작성 (add)

파일 명단 = Staging Area(Snap shot)

$git add 파일명

5. 백업 명단에 기록한 파일을 로컬저장소에 백업 (commit)

$git commit -m “내용”

내용에는 어떤 파일인지 간략한 코멘트 적기

6. 서버에 업로드

$git push

!! 여기서 아이디, 비번 입력하라고 뜨는데 그냥 로그인하면 아이디 비밀번호 노출 가능성 있음

    ⇒ 보안토큰 발급받기

    깃허브 settings – Developers settings – personal access tokens - generate

git add 명령어 옵션 차이

   참고 : [https://pythonq.com/so/git/154](https://pythonq.com/so/git/154)

git add * → .gitignore에 있는 것 상관없이 모두 추가

git add . → .gitignore에 명시된 것을 고려하여 모두 추가

git add -A → 모든 변경 준비

git add -u → 새 파일없이 수정 및 삭제 단계




git client / server

git server SW

local repository → clone → git client repository → 최신파일 check out

새로운 파일 생성 → 백업명단에 등록 (add) → 로컬저장소에 백업 (commit) → 로컬 저장소 변경내용을 서버에 업로드(push)

폴더에 저장소 등록

$git clone [url]

백업명단에 등록

$git add 파일명

하위폴더까지 전부 탐색해서 새로운 파일 등록하려면 파일명 대신 .

와일드카드 *를 이용해 특정 파일들만 올리는 것도 가능

     ex. 특정 확장자만 등록하고 싶으면   * .확장자  ( .js ) *

명단을 저장소에 백업

$git commit -m “키워드”

깃허브 저장소에 업로드

$git push

깃허브 파일 체크아웃

$git pull

Local Repositpry

C:\Users\git\

$dir 명령어 → 디렉토리 내 파일 확인

.git/ → 백업 폴더 저장소. 숨김처리 되어있음! 숨김해제해야 보이는데 굳이 안해도됨




!! git 충돌 발생

두 사용자가 같은 깃의 같은 리포를 사용할 때 발생하는 충돌현상

    ⇒ '머지' merge

같은 리포를 연결해서 사용하는 두 개발자 A,B

A가 먼저 푸쉬를 한 상태에서 B사용자가 또다시 같은 파일을 따로 푸쉬하면 발생

이미 업로드 된 파일보다 올리려는 파일이 더 구버전이라고 덮어쓰기 거절되는 것

A : add → commit → push ⇒ OK

B : add → commit ⇒ OK → push XX Error 발생

해결방법?

B가 $git pull 명령어를 이용해 A가 올려 업데이트된 리포와 연동

초록색 부분이 B가 올리려던 것

밑에 파란색 부분이 A가 올려둔 부분

    → 서로 상충되는 부분 보여줌

원하는 방향으로 수정 후 다시 add → commit → push 진행

Repositpry 파일 삭제

로컬 디렉토리에서 삭제한 후 삭제한 상태를 깃에 push

주의) 파일 삭제해도 백업내역에는 영원히 남아있게됨

파일을 삭제한 것이 아니라 삭제된 상태를 새로 덮어씌워 업로드한 셈이기때문에





Git 공유하고 참여하기

내 Git Repository 공유하기

공유할 repo에서 settings → manage access → invite a collaborator → 공유해줄 아이디 입력

공유해제

공유했던 repo → settings → manage access → 밑에 공유한 repo목록 → 해제하기

다른 사람 Git Repositpry 참여하기

다른 사람이 나에게 Git 공유 → 깃헙에 등록한 이메일로 공유확인 메일 → view invitation

참여해제

Git → settings → repositories → 공유목록 → 공유해제 할 repo에서 leave 선택




.gitignore

   참고 : [https://velog.io/@psk84/.gitignore-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0
	Git Pro 도서 45p

Ex.

	로컬 repo1 에 hello.c hello.java 등 파일 존재

	로컬 repo2에 hello.c hello.java 등 파일 존재

	서버 repo.에 hello.c hello.java 존재

	로컬repo1 에서 hello.c. windows32 컴파일러로 컴파일 → hello.exe 

	   → push 하면 windows32에서만 실행되는 파일 hello.exe 업로드

	로컬repo2에서 pull로 내려받아서 동기화 → 그래도 hello.exe 실행 불가

다른 OS로 컴파일 하고싶다면?

같은 소스파일 hello.c 를 자기가 사용하는 서로 다른 컴파일러로 컴파일 하고싶을 때

소스파일이 아닌 실행파일을 올리는건 소용없음 → 운영체제 다르면 구동X

특정 OS에서 컴파일된 실행파일이나 로컬 경로를 가리키는 설정파일은 다른 pc에서 실행못함

특정 IDE(통합개발도구) 의 사용자(개발자) 설정도 공유할 필요X

    → 되도록 소스파일 형태로 공유하기

    → git 저장소에 백업하지 말아야할 파일을 지정해줄 필요가 있음 ⇒ .gitignore 파일

.gitignore 파일 생성

어느 파일을 제외할지 작성 → 주로 로컬 개발 환경에 종속적인 파일제외

파일명 앞에 . 있는 이유? → 유닉스 규칙 . 으로 시작하는 파일, 폴더는 숨김처리

  보통 숨김처리 하려고 .으로 시작
  but, 윈도우는 자동처리 안되고 설정에서 숨김처리 해줘야함

$git add . 명령어 사용시 gitignore 처리 후 해당하는 파일만 백업함

Visual Studio Code에서 새로 만들어진 파일 옆에는 U 표시 뜨는데 이 gitignore 적용된 파일은 뜨지않고 파일명도 회색처리

https://www.toptal.com/developers/gitignore
설정값 넣으면 gitignore 소스 만들어주는 사이트

.gitignore 규칙

git pro 중
Git으로 관리하지 않을 파일을 지정한다.
예를 들면 로그 파일(.log)이나 빌드 도구가 자동으로 생성한 파일 또는 디렉토리 등.패턴을 사용하여 Git이 무시할 파일을 지정한다.
빈 줄이나 #으로 시작하는 줄은 주석으로 간주한다.
표준 Glob 패턴을 사용한다.
/로 시작하면 하위 디렉토리에 적용되지 않는다.
디렉토리는 끝에 /을 붙인다.
!로 시작하는 파일은 무시하지 않는다.

0개의 댓글