본문 바로가기

Git

20201228_Git, GitHub

해당 글은 유튜브 코린이가 영욱 스튜디오,얄팍한 코딩사전  강의 콘텐츠를 듣고 주관적으로 정리한 내용 일뿐 입니다.

코딩_ 원격 저장소 생성

얄팍한 코딩 사전 : www.yalco.kr/01_git/ 유튜브 "영욱 스튜디오" : youtu.be/vGRISKOIS-w

GitHub : 가장 많이 쓰는 협업을 위한 원격 저장소 임 (정석임)

마이크로 소프트가 인수하고 기능이 무제한 무료임 !

1. GitHub 가입하기

2. GitHub 로그인

3. New Repository 생성

    Repository name 기입[GitTest]

    Description설명은 생략

   public,private 모드 모두 무료!, 일단 public 으로

   README file -> Repository 설명 문서를 만들 것인가? (일단 체크, 만드는 것이 좋음)   

   gitignore -> 해당 툴, 언어에서 소스코드 뺀 나머지가 전부 무시됨 (일단 none)   

   license 모드 -> 오픈소스에서 유명한 라이센스 지정 가능(오픈소스 가져갈때 제약이 생김, 라이센스 정책 공부 필요)4. README.md 파일 생성 되고, 설명서 처럼 나옴

5. Clone or download (초록색 버튼) : 깃허브 상의 Repository를 로컬에 다운 받고 똑같이 만들어 작업 가능 주소 카피 6. 명령 프롬프트 키고 cd Documents(다큐멘트에서 작업)

7. git clone <주소> [우클릭 하면 붙넣기 됨] : 로컬에다가 카피해 오는 작업임

8. cd gittest (아까 깃허브에서 만든 gittest로 들어감) , dir 로 디렉토리 확인하면 README.md가 있음을 확인 가능

9. notepad README.md 로 노트패드로 파일 켜보기 -> #GitTest 확인 가능  

  그 밑에 "##GitTest 원격 저장소를 활용해 봅시다." 작성 후 저장 (Ctrl + S)  + 유니코드(UTF-8) 선택 했는지 확인

10. 파일을 하나더 만듦 notepad hello.md -> <html> <body> <body/><html/> (Ctrl + S)

11. git status로 상태 확인 ->빨간색 글씨로 수정된 표시, 새로운 파일 hello.md 추가됨이 표시

12.  git add * : 변동사항 모두 저장  -> 모두 초록 글씨로 됨

13. git commit -m "헬로우 html 파일이 추가 되었습니다." -> 로컬에서만 커밋됨

14. git push 하면 Github로 올라감

15. git hub사이트 새로고침 하고 확인

 

  add - commit - push  생각하자 

 - cd . .  : 뒤로 가기

 

원격저장소와 PR(Pull Request)

1. 커맨드 ->  Clone : 내용 복제  , Push : 깃허브로 업로드 , Pull : 깃허브 것 로컬로 다운로드,

Fetch : 변경 내용만 로컬로 가져오기 

2. Fork : 다른 사용자의 내용 전체를 내 저장소로 가져오는 것 (권한 없는것을 타파하기 위해서) -사본으로 끌어오는 것

3. Pull Request : 다시 쏴주는 것 , 그래서 받는사람이 merge 승인하면 합쳐짐

 

visual studio code , sourcetree 를 이용해서 git 사용

git status : 변화 , 캡슐 상태 확인

git add -A : 폴더 내 변화 캡슐에 담기 (sourcetree -> 스테이지)

git commit -m"내용" : 변화를 담은 캡슐 현상태로 저장 (주석 달아서)

터미널 창 띠우기 : ctrl + ~

터미널 빠져나오기 : [: + q]

git branch : branch 상태 확인

git branch <branch이름> : 특정 브랜치 생성

git checkout <branch이름> : 특정 브랜치로 이동

git checkout -D <branch 이름> : 특정 브랜치 생성, 이동

특정 시점으로 커밋 되돌리기 (최근 코드 없애고) : git reset <log 앞 6자리> --hard

특정 시점 커밋(추가, 수정, 삭제)의 반대로 하기 : git revert <log 앞 6자리> -> :wq로 확정

터미널 에서 시각화 : git log --graph --all --decorate

지저분한 분기들을 깔끔한 선으로 만들며 합치기 (merge 대신에) : git rebase <branch 이름>

branch 없애기 : git branch -D <branch 이름>        소스코드 -> 우클릭 삭제

- 소스트리에서는 merge = 병합 , rebase = 재배치 

 

원격저장소 연결(origin은 기본 브랜치 이름이 master인것 처럼 기본 저장소 이름임)

: git remote add origin <http>

근데 master가 인종 차별 주의적 언어라는 시선 때문에

git branch -M main : master 라는 이름이 main으로 바뀐다.

그래서 로컬 

로컬-> 저장소 Push : git push -u (저장소[ex.origin]) (브랜치[ex.main]) (처음에만, 이후엔 git push 만으로 가능)

원격의 브랜치 지우기 : git push -d (해당 저장소 이름) (특정 브랜치 이름)

기존의 origin 삭제 : git remote rm origin

 

- 소스트리 : 저장소 메뉴 클릭 - 원격 저장소 클릭 - 주소 채우기, 깃헙 유저명 작성