on
국비수업 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