[GITHUB 사용법] 왕초보를 위한 깃허브사용법 (Git사용법)
코딩할 때 뺄래야 뺄 수 없는 서비스 중 하나가 GitHub (깃허브) 입니다. 현역 프로그래머에게는 너무나 친숙한 서비스지만, 코딩 초보자에게는 생소할 수도 있습니다. 그래서 이번에는 코딩 초
tagilog.tistory.com
[GitHub] 튜토리얼 - 깃허브 사용법
Apple 2020 맥북 에어 13 COUPANG www.coupang.com 튜토리얼을 진행하기 위해서는 먼저 깃허브 계정을 만들어야 한다. https://github.com/ Build software better, together GitHub is where people build softwa..
mrw0119.tistory.com
hyuntaekhong.github.io/blog/how-to-use-github01/
[Github] 초보 개발자의 Github 사용법(1)_Git 기초
개발자에게 가장 친숙한 프로그램인 GitHub (깃허브) 사용법을 알아보도록 하겠습니다.
hyuntaekhong.github.io
0.git의 기본내용
https://backlog.com/git-tutorial/kr/intro/intro1_1.html
0.
Remote Repository: 원격저장소로 github라고 불린다.
Local Repository: 로컬저장소로 본인의 컴퓨터를 말한다.
협업하는 사람들끼리 본인의 컴퓨터로 수정을 가하고 수정을 가할때마다 이력(변경사항)을 남기며 원격저장소에 저장하는 것이다.
즉 원격저장소는 모두가 공유하는 저장소라고 생각하면 된다.
로컬에서 작업한 내용을 옮길 수도 있고 원격저장소로부터 받아올 수도 있다.
원격저장소로부터 받아오기: git clone (원격저장소주소)
0-1.
수정을 가한 폴더(작업트리) --(add)--> 인덱스 --(commit)--> 저장소
폴더의 작업내용을 인덱스로 stage(기록)(타임캡슐에 넣기)한 것을 저장소로 커밋(땅에 묻기)할 수 있다.
1. git을 설치한다.
(기존에 git이 있는지는 terminal에서 git version을 입력해본다.)
2.깃을 연습할 폴더를 원하는 위치에 만든다.
3.IDE를 키고 "열기"로 방금 만들어둔 폴더를 열어주자.
4.폴더를 열은 상태에서 "help"를 누르고, terminal을 찾아서 켜준다.
5.terminal창에 git init 을 쳐주면 .git이라는 숨김폴더로 생성된다.
6.이름과 메일을 등록한다.
git config --global user.name "(이름)"
git config --global user.email "(email address)"
7.이제 파일을 만든다 파일을 만들고 수정해서 그 순간을 타임캡슐에 저장해서 땅에 묻어놓는다고 생각해보자
1)현재상태:git status (아직 타임캡슐에 저장하지 않았기때문에 untracked files라고 나옵니다.)
2)타임캡슐에 저장: git add -A (실행 후에는 "changes to be committed"로 캡슐에 담았으니 땅에 묻을 파일들이 나옵니다.)
3)땅에 묻어놓기: git commit -m "(이름)"
4)지금까지 땅에 묻어놓은 캡슐확인(이력확인): git log
5)묻어놓은 캡슐을 다시 사용하기(완전삭제): git log에서 본 부분의 앞 6자리수를 복사한 후, git reset (복사한 6자리) --hard
6)묻어놓은 캡슈을 다시 사용하기(남겨두기): git log에서 본 부분의 앞 6자리수를 복사한 후, git revert (복사한 6자리)
(revert를 사용해서 현재 사용하던 것을 완전 삭제하지 않고 남겨둘 수 있다. 그리고 전의 상태로 돌아간다.)
8.gitignore사용법
touch.gitignore 입력
파일이 생성되면 그 안에 .idea를 적어주자.
그럼 문제가 되었던 workspace.xml이 해결이 될 것이다.
9.
두 브랜치를 병합하는 경우
master(수정안함) 과 my-idea(수정) -->ok
master(수정함) 과 my-idea(master에서 수정한 다른 파일을 수정함) -->ok, 각자 수정한 부분으로 merge됨.
master(수정함) 과 my-idea(master에서 수정한 같은 파일을 수정함) --> merge conflict 발생, 수정해줘야함.(같은 파일, 같은 라인)
즉, 협업시 같은 브랜치의 같은 파일을 수정하는 일이 없어야함.
9-1.충돌문제가 일어나는 경우
1) 내가 pull로 받고 수정하고 있을때, 상대가 push해버리면 원격저장소가 업데이트된다. 이때, 나는 아직 업데이트가 되어있지않다. 따라서 merge(pull)해주어 해결한다. -> 자동수정
2) 둘이 같은 파일을 수정하는 경우 push를 하면 reject당한다. 따라서 pull로 merge해주고 직접수정한 후, 다시 push -> 직접수정하여 커밋 그리고 푸시
10. 기존 작업창, 기능추가 작업창, 버그수정 작업창을 각각 branch를 만들어서 서로 merge가능하다
1)git branch : 로컬(현컴퓨터)의 브랜치 확인하기
2)git branch (브랜치명): 브랜치 생성
3)git checkout (브랜치명): 만들어져있는 브랜치로 이동하기
git checkout -b (브랜치명) : 브랜치를 만들면서 그 브랜치로 이동하기
=> (2),(3)의 명령어를 동시에 사용한 것과 같다.
4)git branch -D (브랜치명): 브랜치삭제
5)git push -d (원격명) (브랜치명): 레파지토리의 브랜치 삭제
11.
git remote add origin "https://~~~"
https://~~~라는 깃헙레파지토리를 긴주소를 매번 치기 귀찮으니깐 origin이라는 원격저장소로 별명지어서 사용하겠다.
12.
1)git push (원격저장소) (브랜치명) -> github에 올려주기
ex) git push origin master
ex2) git push origin my-another-idea
2)git pull (원격저장소) (브랜치명) -> github에서 받아오기
git fetch : 깃헙의 현상태 확인
git branch -a : 로컬(현컴퓨터)와 원격(깃헙레파지토리)의 브랜치 확인하기
git pull origin master :원격저장소에서 마스터라는 브랜치 받아오기
or
git branch -b my-another-idea origin/my-another-idea
로컬에 my-another-idea라는 브랜치를 만드는데 원격저장소 origin의 브랜치 my-another-idea의 내용을 받아온다.
13.그래프확인방법
1)git log --graph --oneline: 선으로 이력흐름이 보인다. 한줄로 커밋내용 보임
2)gitk: gui로 확인가능
3)git log --graph --all --decorate: 모든게나옴
14.stash
A브랜치에서 커밋만 안되고 수정내용이 인덱스에 있다면 B브랜치로 이동이 가능하다
하지만, A브랜치의 수정내용과 B브랜치의 수정내용이 부분이 같다면 문제가 발생한다.
해결방법
1)A브랜치에서 수정내용을 커밋한 후 B로 돌아간다.
2)stash를 이용하여 수정내용을 임시저장소로 보낸 후 B로 이동한다. --> 인덱스나 작업트리의 내용을 임시저장소로 옮기는 것.
'이제는 사용하지 않는 공부방 > 컴퓨터공학 필수정보' 카테고리의 다른 글
git/github 실전편 (0) | 2021.01.04 |
---|---|
git/github 입문 완벽 정리 (0) | 2021.01.03 |
pandas 판다스, numpy 넘파이, Matplotlib (0) | 2020.02.26 |
iccv 학회 (0) | 2020.02.18 |
증강현실과 가상현실 (0) | 2020.02.18 |