국비수업 DAY-14 (2)(Git사용법)

국비수업 DAY-14 (2)(Git사용법)

Git두번째로그!!

추가적인 Git 명령어에 관한 요점!

1. 한 사람이 여러개의 원격 저장소를 다룰때!

▶ git remote -v : 다루고 있는 원격저장소들 확인

현재 연결된 원격저장소 확인 가지고 있는 다른 원격저장소(origin2)를 추가해 remote -v로 추가됨을 확인함.

▶ git remote rm/remove 삭제하고 싶은 원격저장소이름 : 원하는 원격저장소 삭제

위에서 추가했던 두번째 원격저장소(origin2)를 삭제하겠음.

remote rm으로 origin2를 삭제하였고, remote -v를 통해 origin2가 삭제되었음을 확인

2. 여러 사람이 하나의 원격저장소를 다룰때! - git branch사용

▶ git branch 이름 : 브랜치 생성

기본 master말고 자신이 원하는, 혹은 자신이 맡은 이름으로 branch이름을 설정해 생성함.

3개의 branch생성

▶ git branch : 브랜치 확인

브랜치 확인, 현재 branch는 초록색으로 나타남

▶ git checkout 변경 원하는 브랜치 명 : 브랜치 변경

master에서 siyoon 브랜치로 변경

< branch 변경후 >

siyoonbranch파일 생성

- 다시 master브랜치로 바꾸면

siyoon -> master 브랜치 변경

siyoon브랜치에서 생성했던 siyoonbranch볼수 없음.

- siyoon브랜치에서 원격저장소로 올릴때

git push origin master 가 아니라 git push origin siyoon으로 올려야 함.

원격저장소에도 siyoon브랜치가 하나 생성되고

siyoon브랜치 내 siyoonbranch텍스트파일이 성공적으로 commit됐음을 확인할수 있음.

▶ git branch -D 삭제하고싶은 브랜치 명 : 브랜치 삭제

- 위에서 파일이 있는 브랜치 siyoon, mater를 제외하고 파일이 없는 나머지 브랜치 java, gitMaker삭제.

- 브랜치를 만들었던 브랜치 장소에서 삭제하도록 함!

- 위에서 master에서 브랜치를 만들었기 때문에 master브랜치에서 java, gitMaker브랜치 삭제.

java branch와 gitMaker브랜치가 삭제된것을 확인

▶ git merge : 깃 병합하기

- master브랜치에서 siyoon브랜치 병합!

-mater에서 siyoon브랜치 병합했기 때문에

master브랜치에서도 siyoon브랜치에서 만들었던 텍스트파일(siyoonbranch) 볼 수 있게됨!

2. 원격저장소 상호작용(실질적 협업)

-원격저장소는 또다른 Repository일뿐!

▶ 1. 원격저장소에 조회(추가) 하기

- git remote add <단축이름 > 주소

ex) git remote add origin http://~~~~~

▶ 2. 원격저장소에 조회(추가) 하기

- git push origin master

- 내 로컬 저장소는 변했는데 원격저장소가 변하지 않았을때,

나의 로컬저장소에 있는것을 push해서 원격저장소에 저장시킴.

▶ 3. 원격저장소에서 얻어와서 합치기

- git pull (origin master)

==> origin을 나의 저장소로 불러와 합쳐라!

- 내 로컬 저장소는 변하지 않았는데 원격저장소가 변했을때,

변화된 원격저장소에 있는것을 불러와 나의 로컬 저장소에 있는것과 합침.

▶ 4. 원격저장소에서 얻기

- git fetch(origin master)

==> origin을 나의 저장소로 그대로 불러와라!(원격저장소에 있는것을 그대로 fetch)

▶5. 원격 저장소에서 복사하기

- git clone 주소(http://~~~~)

==> 원격저장소에 있는것 그대로 복사해오기

※ git push와 pull사이에서 오류 발생할수 있음!! ==> conflict (충돌)

- conflict는 같은 파일을 동시에 수정할 때 발생 함.

- ex) 로컬 저장소에있는 siyoonbranch파일이 로컬 저장소에서 수정이 되었고, 원격저장소에 있는 siyoonbranch파일이 원격저장소에서 수정이 되었음. 이를 모르고 로컬 저장소에서 원격저장소의 파일을 pull할 경우에 conflict발생!

▶ conflict해소절차

1. 충돌발생

2. 일단 로컬 저장소에서 내가 쓰던 코드 add -> commit함 (commit안하는 경우 단순 에러만 발생)

3. 다시한번 pull 함 -> conflict발생

4. comflict 파일목록 확인 후 코드 수정

-로컬 저장소 / 원격저장소에서 작성한 코드 중 원하는 코드로 선택해 수정

conflict경우 파일에 나타나는 코드

5. 수정 후 add -> commit -> push 로 conflict해결!

from http://shinny.tistory.com/22 by ccl(A) rewrite - 2021-09-05 21:01:19